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
This commit is contained in:
Ram Nalluri 2012-09-12 22:36:59 +05:30
parent 1827d6f3cd
commit f609313116
6 changed files with 29 additions and 4 deletions

View File

@ -11,7 +11,9 @@
"maxTotalKeypairs": 100,
"maxTotalRAMSize": 51200,
"maxTotalVolumeGigabytes": 1000,
"maxTotalVolumes": 10
"maxTotalVolumes": 10,
"maxSecurityGroups": 10,
"maxSecurityGroupRules": 20
},
"rate": [
{
@ -69,4 +71,4 @@
}
]
}
}
}

View File

@ -25,5 +25,7 @@
<limit name="maxTotalFloatingIps" value="10"/>
<limit name="maxTotalVolumeGigabytes" value="1000"/>
<limit name="maxTotalRAMSize" value="51200"/>
<limit name="maxSecurityGroups" value="10"/>
<limit name="maxSecurityGroupRules" value="20"/>
</absolute>
</limits>
</limits>

View File

@ -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():

View File

@ -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

View File

@ -11,7 +11,9 @@
"maxTotalKeypairs": 100,
"maxTotalRAMSize": 51200,
"maxTotalVolumeGigabytes": 1000,
"maxTotalVolumes": 10
"maxTotalVolumes": 10,
"maxSecurityGroups": 10,
"maxSecurityGroupRules": 20
},
"rate": [
{

View File

@ -19,8 +19,10 @@
<limit name="maxPersonality" value="5"/>
<limit name="maxImageMeta" value="128"/>
<limit name="maxPersonalitySize" value="10240"/>
<limit name="maxSecurityGroupRules" value="20"/>
<limit name="maxTotalKeypairs" value="100"/>
<limit name="maxTotalVolumes" value="10"/>
<limit name="maxSecurityGroups" value="10"/>
<limit name="maxTotalCores" value="20"/>
<limit name="maxTotalFloatingIps" value="10"/>
<limit name="maxTotalVolumeGigabytes" value="1000"/>