Public bug reported: openstack limits show --absolute --project <project id> does not work correctly for volumes and security groups --------------------
if I source admin credential even if I use `openstack limits show --absolute --project <project id> ` it shows details for admin project for volumes and security groups. OS_REGION_NAME=regionOne OS_USER_DOMAIN_NAME=Default OS_IMAGE_API_VERSION=2 OS_PROJECT_NAME=admin OS_IDENTITY_API_VERSION=3 OS_PASSWORD=xxxx OS_AUTH_TYPE=password PS1=${OS_CLOUDNAME:+($OS_CLOUDNAME)} [\u@\h \W]\$ OS_AUTH_URL=http://192.168.100.7:5000//v3 OS_USERNAME=admin OS_VOLUME_API_VERSION=3 OS_NO_CACHE=True OS_CLOUDNAME=overcloud OS_PROJECT_DOMAIN_NAME=Default admin limits : openstack limits show --absolute None +--------------------------+-------+ | Name | Value | +--------------------------+-------+ | maxServerMeta | 128 | | maxTotalInstances | 10 | | maxPersonality | 5 | | totalServerGroupsUsed | 0 | | maxImageMeta | 128 | | maxPersonalitySize | 10240 | | maxTotalRAMSize | 51200 | | maxServerGroups | 10 | | maxSecurityGroupRules | 20 | | maxTotalKeypairs | 100 | | totalCoresUsed | 4 | | totalRAMUsed | 4096 | | maxSecurityGroups | 10 | | totalFloatingIpsUsed | 0 | | totalInstancesUsed | 2 | | maxServerGroupMembers | 10 | | maxTotalFloatingIps | 10 | | totalSecurityGroupsUsed | 1 | | maxTotalCores | 20 | | totalSnapshotsUsed | 0 | | maxTotalBackups | 10 | | maxTotalVolumeGigabytes | 1000 | | maxTotalSnapshots | 10 | | maxTotalBackupGigabytes | 1000 | | totalBackupGigabytesUsed | 0 | | maxTotalVolumes | 10 | | totalVolumesUsed | 3 | | totalBackupsUsed | 0 | | totalGigabytesUsed | 3 | +--------------------------+-------+ test project limits : (overcloud-test-project) [stack@shatadru-osp13-director ~]$ source test-user.rc (overcloud-test-project) [stack@shatadru-osp13-director ~]$ env|grep -i OS_ OS_REGION_NAME=regionOne OS_USER_DOMAIN_NAME=Default OS_IMAGE_API_VERSION=2 OS_PROJECT_NAME=test-project OS_IDENTITY_API_VERSION=3 OS_PASSWORD=xxxxxx OS_AUTH_TYPE=password PS1=${OS_CLOUDNAME:+($OS_CLOUDNAME)} [\u@\h \W]\$ OS_AUTH_URL=http://192.168.100.7:5000//v3 OS_USERNAME=test-user OS_VOLUME_API_VERSION=3 OS_NO_CACHE=True OS_CLOUDNAME=overcloud-test-project OS_PROJECT_DOMAIN_NAME=Default This works too : (overcloud-test-project) [stack@shatadru-osp13-director ~]$ openstack limits show --absolute None +--------------------------+-------+ | Name | Value | +--------------------------+-------+ | maxServerMeta | 128 | | maxTotalInstances | 10 | | maxPersonality | 5 | | totalServerGroupsUsed | 0 | | maxImageMeta | 128 | | maxPersonalitySize | 10240 | | maxTotalRAMSize | 51200 | | maxServerGroups | 10 | | maxSecurityGroupRules | 20 | | maxTotalKeypairs | 100 | | totalCoresUsed | 2 | | totalRAMUsed | 2048 | | maxSecurityGroups | 10 | | totalFloatingIpsUsed | 0 | | totalInstancesUsed | 1 | | maxServerGroupMembers | 10 | | maxTotalFloatingIps | 10 | | totalSecurityGroupsUsed | 1 | <-- | maxTotalCores | 20 | | totalSnapshotsUsed | 0 | | maxTotalBackups | 10 | | maxTotalVolumeGigabytes | 1000 | | maxTotalSnapshots | 10 | | maxTotalBackupGigabytes | 1000 | | totalBackupGigabytesUsed | 0 | | maxTotalVolumes | 10 | | totalVolumesUsed | 1 | <-- for this project(test-project) this is correct | totalBackupsUsed | 0 | | totalGigabytesUsed | 1 | +--------------------------+-------+ But if I source admin credential and try to list details for specific project the details are incorrect ~~~ openstack limits show --project 2f50689300a948ba912988a65f8a42f1 --absolute +--------------------------+-------+ | Name | Value | +--------------------------+-------+ | maxServerMeta | 128 | | maxTotalInstances | 10 | | maxPersonality | 5 | | totalServerGroupsUsed | 0 | | maxImageMeta | 128 | | maxPersonalitySize | 10240 | | maxTotalRAMSize | 51200 | | maxServerGroups | 10 | | maxSecurityGroupRules | 20 | | maxTotalKeypairs | 100 | | totalCoresUsed | 4 | | totalRAMUsed | 4096 | | maxSecurityGroups | 10 | | totalFloatingIpsUsed | 0 | | totalInstancesUsed | 2 | | maxServerGroupMembers | 10 | | maxTotalFloatingIps | 10 | | totalSecurityGroupsUsed | 1 | | maxTotalCores | 20 | | totalSnapshotsUsed | 0 | | maxTotalBackups | 10 | | maxTotalVolumeGigabytes | 1000 | | maxTotalSnapshots | 10 | | maxTotalBackupGigabytes | 1000 | | totalBackupGigabytesUsed | 0 | | maxTotalVolumes | 10 | | totalVolumesUsed | 3 | < --- this is not for test-project but for admin | totalBackupsUsed | 0 | | totalGigabytesUsed | 3 | +--------------------------+-------+ ~~~ #source overcloud openstack project list +----------------------------------+--------------+ | ID | Name | +----------------------------------+--------------+ | 046e24ef0bb844609aeb14f21c8d2af0 | service | | 2f50689300a948ba912988a65f8a42f1 | test-project | | 34fb06df15fe46d3b52bc17a7af07e42 | admin | +----------------------------------+--------------+ If we use --debug, we can see openstackclient is sending api call to get admin project details (http://192.168.100.7:8776/v3/34fb06df15fe46d3b52bc17a7af07e42)instead of the one we passed in command line(2f50689300a948ba912988a65f8a42f1) ~~~ REQ: curl -g -i -X GET http://192.168.100.7:8776/v3/34fb06df15fe46d3b52bc17a7af07e42/limits -H "User-Agent: python-cinderclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}aac11b336cb6ac9d71bd8cb7a0486f3693833ea1" Starting new HTTP connection (1): 192.168.100.7 http://192.168.100.7:8776 "GET /v3/34fb06df15fe46d3b52bc17a7af07e42/limits HTTP/1.1" 200 148 RESP: [200] Date: Mon, 23 Dec 2019 07:23:38 GMT Server: Apache x-compute-request-id: req-d895762f-ebeb-4ea4-97e2-9b3dcf65e370 OpenStack-API-Version: volume 3.0 Vary: OpenStack-API-Version,Accept-Encoding x-openstack-request-id: req-d895762f-ebeb-4ea4-97e2-9b3dcf65e370 Content-Encoding: gzip Content-Length: 148 Content-Type: application/json RESP BODY: {"limits": {"rate": [], "absolute": {"totalSnapshotsUsed": 0, "maxTotalBackups": 10, "maxTotalVolumeGigabytes": 1000, "maxTotalSnapshots": 10, "maxTotalBackupGigabytes": 1000, "totalBackupGigabytesUsed": 0, "maxTotalVolumes": 10, "totalVolumesUsed": 3, "totalBackupsUsed": 0, "totalGigabytesUsed": 3}}} ~~~ if we source that project's credential, it sends correct api call 'http://192.168.100.7:8776/v3/2f50689300a948ba912988a65f8a42f1/limits' ~~~ GET call to compute for http://192.168.100.7:8774/v2.1/limits used request id req-3c7c0118-6873-4c27-bd42-990a247f466d REQ: curl -g -i -X GET http://192.168.100.7:8776/v3/2f50689300a948ba912988a65f8a42f1/limits -H "User-Agent: python-cinderclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}163d2047ed15afcda3c0cbe37c86b87ea54ad6bb" Starting new HTTP connection (1): 192.168.100.7 http://192.168.100.7:8776 "GET /v3/2f50689300a948ba912988a65f8a42f1/limits HTTP/1.1" 200 148 RESP: [200] Date: Mon, 23 Dec 2019 07:27:53 GMT Server: Apache x-compute-request-id: req-9f93863c-9d43-4d4b-acb7-be8337382abd OpenStack-API-Version: volume 3.0 Vary: OpenStack-API-Version,Accept-Encoding x-openstack-request-id: req-9f93863c-9d43-4d4b-acb7-be8337382abd Content-Encoding: gzip Content-Length: 148 Content-Type: application/json RESP BODY: {"limits": {"rate": [], "absolute": {"totalSnapshotsUsed": 0, "maxTotalBackups": 10, "maxTotalVolumeGigabytes": 1000, "maxTotalSnapshots": 10, "maxTotalBackupGigabytes": 1000, "totalBackupGigabytesUsed": 0, "maxTotalVolumes": 10, "totalVolumesUsed": 1, "totalBackupsUsed": 0, "totalGigabytesUsed": 1}}} ~~~ 68 def take_action(self, parsed_args): 69 #pdb.set_trace() 70 71 compute_client = self.app.client_manager.compute 72 volume_client = self.app.client_manager.volume 73 74 project_id = None 75 if parsed_args.project is not None: 76 identity_client = self.app.client_manager.identity 77 if parsed_args.domain is not None: 78 domain = identity_common.find_domain(identity_client, 79 parsed_args.domain) 80 project_id = utils.find_resource(identity_client.projects, 81 parsed_args.project, 82 domain_id=domain.id).id 83 else: 84 project_id = utils.find_resource(identity_client.projects, 85 parsed_args.project).id 86 #print (project_id) 87 88 compute_limits = compute_client.limits.get(parsed_args.is_reserved, 89 tenant_id=project_id) 90 volume_limits = volume_client.limits.get() <--- ** Affects: python-openstackclient (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1857320 Title: openstack limits show --absolute --project <project id> does not work correctly for volumes and security groups To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/python-openstackclient/+bug/1857320/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs