Merge "block_storage: Add support for project_id in Limits"

This commit is contained in:
Zuul 2024-07-30 15:39:21 +00:00 committed by Gerrit Code Review
commit 939ec03ab3
3 changed files with 16 additions and 5 deletions

View File

@ -1293,7 +1293,11 @@ class Proxy(_base_proxy.BaseBlockStorageProxy):
params = {}
if project:
params['project_id'] = resource.Resource._get_id(project)
return self._get(_limits.Limits, requires_id=False, **params)
# we don't use Proxy._get since that doesn't allow passing arbitrary
# query string parameters
res = self._get_resource(_limits.Limits, None)
return res.fetch(self, requires_id=False, **params)
# ====== CAPABILITIES ======
def get_capabilities(self, host):

View File

@ -71,6 +71,12 @@ class Limits(resource.Resource):
resource_key = "limits"
base_path = "/limits"
_max_microversion = "3.39"
_query_mapping = resource.QueryParameters(
"project_id",
)
# capabilities
allow_fetch = True

View File

@ -19,7 +19,6 @@ from openstack.block_storage.v3 import extension
from openstack.block_storage.v3 import group
from openstack.block_storage.v3 import group_snapshot
from openstack.block_storage.v3 import group_type
from openstack.block_storage.v3 import limits
from openstack.block_storage.v3 import quota_class_set
from openstack.block_storage.v3 import quota_set
from openstack.block_storage.v3 import resource_filter
@ -137,11 +136,13 @@ class TestPools(TestVolumeProxy):
class TestLimit(TestVolumeProxy):
def test_limits_get(self):
self.verify_get(
self._verify(
'openstack.resource.Resource.fetch',
self.proxy.get_limits,
limits.Limits,
method_args=[],
expected_kwargs={'requires_id': False},
method_kwargs={'project': 'foo'},
expected_args=[self.proxy],
expected_kwargs={'requires_id': False, 'project_id': 'foo'},
)