【问题标题】:How To Fetch Projec quotas using OpenstackSDK?如何使用 OpenstackSDK 获取项目配额?
【发布时间】:2021-10-22 06:12:00
【问题描述】:

我正在寻找一个小代码来获取我所有的项目配额限制。从openstacksdk dev 存储库我可以看到有一个名为compute.v2.limits 的连接,但使用它我得到如下所示的空白输出。

import openstack
import openstack.compute.v2.limits
import os
import datetime

################## getting limits ##########################
ip='10.6.X.X'
auth_url_domain="https://10.6.X.X:13000/v3"
conn = openstack.connect(auth_url=auth_url_domain, project_name="admin", username="admin", domain_name="default",password="XXXXXX", cacert="/root/app/cacrt/cacrt/ca.crt10.6.X.X.pem")
data=openstack.compute.v2.limits.AbsoluteLimits(session=conn)
print(data.to_dict())

我得到的输出(键没问题,但值没有。我希望值应该按照为所有项目设置的值):

{'server_groups': None, 'keypairs': None, 'total_ram_used': None,
 'total_cores': None, 'instances_used': None, 'total_cores_used': None,
 'instances': None, 'id': None, 'security_groups': None,
 'total_ram': None, 'floating_ips': None, 'location': None,
 'personality_size': None, 'server_groups_used': None,
 'personality': None, 'security_group_rules': None,
 'name': None, 'server_group_members': None, 'floating_ips_used': None,
 'image_meta': None, 'server_meta': None, 'security_groups_used': None}

【问题讨论】:

    标签: python openstack openstacksdk


    【解决方案1】:

    您只能通过openstack.connection获得项目配额,如下所示:

    conn = openstack.connect(auth_url=auth_url_domain...)
    quotas = conn.get_compute_quotas(project_name_or_id)
    

    还有更多其他常用的方法,你可以根据需要查看。

    我希望值应该按照为所有项目设置的值

    如果你想获得所有项目配额,你应该创建一致的connection,因为连接绑定项目作为openstack.connect方法的参数。但如果您是admin 角色,您可以获得所有项目信息。

    【讨论】:

    • 嗨@VictorLee。谢谢你的建议。因此,在您建议获取所有项目配额之后,我的代码应该如下所示`################# 获得限制############## ############ ip='10.6.X.X' auth_url_domain="10.6.X.X:13000/v3" conn = openstack.connect(auth_url=auth_url_domain, project_name="admin", username="admin", domain_name= "default",password="XXXXXX", cacert="/root/app/cacrt/cacrt/ca.crt10.6.X.X.pem") quotas=conn.get_compute_quotas() print(quotas.to_dict())`跨度>
    • @KASHIFIQBAL 欢迎,你上面的代码可以用吗?也许这个方法get_compute_quotas() 应该得到一个必需的位置参数name_or_id。如果此答案可以解决您的问题,您可以接受或投票。 stackoverflow.com/help/someone-answers
    • 谢谢@VictorLee。我能够实现我的目标。感谢您的快速支持。 from cryptography.hazmat.backends import default_backend ram, cores, instances --> (51200, 20, 10) Munch({u'per_volume_gigabytes': -1, u'snapshots_tripleo-ceph': -1, u'groups': 10 , u'gigabytes_tripleo-ceph': -1, u'gigabytes': 1000, u'backup_gigabytes': 1000, u'snapshots': 10, u'volumes_tripleo-ceph': -1, u'volumes': 10, u '备份':10,u'id':u'6258ed8df4d34d0b817ab102e66c8d4a'})
    • @KASHIFIQBAL 欢迎大家互相学习,我也找到了openstacksdk修改管理员密码的方法,但是我到现在还想不通,你有什么建议吗?提前谢谢。如果您有空闲时间,请从以下链接查看:stackoverflow.com/questions/69616030/…
    • 不,@VictorLee 我是新手。让我在我的实验室探索会让你知道。如果我发现了什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    • 2015-01-31
    • 1970-01-01
    相关资源
    最近更新 更多