From f60931311678dd7597218687562ab8415a8fedb3 Mon Sep 17 00:00:00 2001 From: Ram Nalluri Date: Wed, 12 Sep 2012 22:36:59 +0530 Subject: Includes sec group quota details in limits API response Added the security groups quota details to the limit API response so that these details also get displayed to the user. Fixes bug 1049578 Change-Id: I45c345141747f99359c8948e959030f8cb99e866 --- nova/api/openstack/compute/views/limits.py | 2 ++ nova/tests/api/openstack/compute/test_limits.py | 15 +++++++++++++++ nova/tests/integrated/api_samples/limit-get-resp.json.tpl | 4 +++- nova/tests/integrated/api_samples/limit-get-resp.xml.tpl | 2 ++ 4 files changed, 22 insertions(+), 1 deletion(-) (limited to 'nova') diff --git a/nova/api/openstack/compute/views/limits.py b/nova/api/openstack/compute/views/limits.py index 22e0272ad..4b72f26e7 100644 --- a/nova/api/openstack/compute/views/limits.py +++ b/nova/api/openstack/compute/views/limits.py @@ -54,6 +54,8 @@ class ViewBuilder(object): "metadata_items": ["maxServerMeta", "maxImageMeta"], "injected_files": ["maxPersonality"], "injected_file_content_bytes": ["maxPersonalitySize"], + "security_groups": ["maxSecurityGroups"], + "security_group_rules": ["maxSecurityGroupRules"], } limits = {} for name, value in absolute_limits.iteritems(): diff --git a/nova/tests/api/openstack/compute/test_limits.py b/nova/tests/api/openstack/compute/test_limits.py index 2a3038267..bb81b6d86 100644 --- a/nova/tests/api/openstack/compute/test_limits.py +++ b/nova/tests/api/openstack/compute/test_limits.py @@ -124,6 +124,8 @@ class LimitsControllerTest(BaseLimitTestSuite): 'volumes': 5, 'key_pairs': 10, 'floating_ips': 10, + 'security_groups': 10, + 'security_group_rules': 20, } response = request.get_response(self.controller) expected = { @@ -172,6 +174,8 @@ class LimitsControllerTest(BaseLimitTestSuite): "maxTotalVolumes": 5, "maxTotalKeypairs": 10, "maxTotalFloatingIps": 10, + "maxSecurityGroups": 10, + "maxSecurityGroupRules": 20, }, }, } @@ -272,6 +276,17 @@ class LimitsControllerTest(BaseLimitTestSuite): } self._test_index_absolute_limits_json(expected) + def test_index_absolute_security_groups(self): + self.absolute_limits = { + 'security_groups': 8, + 'security_group_rules': 16, + } + expected = { + 'maxSecurityGroups': 8, + 'maxSecurityGroupRules': 16, + } + self._test_index_absolute_limits_json(expected) + class TestLimiter(limits.Limiter): pass diff --git a/nova/tests/integrated/api_samples/limit-get-resp.json.tpl b/nova/tests/integrated/api_samples/limit-get-resp.json.tpl index 99d27ed5e..376352ec4 100644 --- a/nova/tests/integrated/api_samples/limit-get-resp.json.tpl +++ b/nova/tests/integrated/api_samples/limit-get-resp.json.tpl @@ -11,7 +11,9 @@ "maxTotalKeypairs": 100, "maxTotalRAMSize": 51200, "maxTotalVolumeGigabytes": 1000, - "maxTotalVolumes": 10 + "maxTotalVolumes": 10, + "maxSecurityGroups": 10, + "maxSecurityGroupRules": 20 }, "rate": [ { diff --git a/nova/tests/integrated/api_samples/limit-get-resp.xml.tpl b/nova/tests/integrated/api_samples/limit-get-resp.xml.tpl index 61f09246f..25de4734a 100644 --- a/nova/tests/integrated/api_samples/limit-get-resp.xml.tpl +++ b/nova/tests/integrated/api_samples/limit-get-resp.xml.tpl @@ -19,8 +19,10 @@ + + -- cgit