summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-10-10 23:56:57 +0000
committerGerrit Code Review <review@openstack.org>2012-10-10 23:56:57 +0000
commit3d726a77cac5b3f0b9e5cb86e72a5298bd9958ca (patch)
treeb622b4a7d66ad959b571a6cc60d93f1128dd1efa
parent321868a2e063f30dbfbfdb77452cf79a7e391d16 (diff)
parent10f31f7c43510df6883238d47abde76e4aca2182 (diff)
Merge "Add api-samples to Used limits extension"
-rw-r--r--doc/api_samples/os-used-limits/usedlimits-get-resp.json81
-rw-r--r--doc/api_samples/os-used-limits/usedlimits-get-resp.xml38
-rw-r--r--nova/tests/integrated/api_samples/os-used-limits/usedlimits-get-resp.json.tpl81
-rw-r--r--nova/tests/integrated/api_samples/os-used-limits/usedlimits-get-resp.xml.tpl38
-rw-r--r--nova/tests/integrated/test_api_samples.py16
5 files changed, 254 insertions, 0 deletions
diff --git a/doc/api_samples/os-used-limits/usedlimits-get-resp.json b/doc/api_samples/os-used-limits/usedlimits-get-resp.json
new file mode 100644
index 000000000..e24a1b8bb
--- /dev/null
+++ b/doc/api_samples/os-used-limits/usedlimits-get-resp.json
@@ -0,0 +1,81 @@
+{
+ "limits": {
+ "absolute": {
+ "maxImageMeta": 128,
+ "maxPersonality": 5,
+ "maxPersonalitySize": 10240,
+ "maxSecurityGroupRules": 20,
+ "maxSecurityGroups": 10,
+ "maxServerMeta": 128,
+ "maxTotalCores": 20,
+ "maxTotalFloatingIps": 10,
+ "maxTotalInstances": 10,
+ "maxTotalKeypairs": 100,
+ "maxTotalRAMSize": 51200,
+ "maxTotalVolumeGigabytes": 1000,
+ "maxTotalVolumes": 10,
+ "totalCoresUsed": 0,
+ "totalInstancesUsed": 0,
+ "totalKeyPairsUsed": 0,
+ "totalRAMUsed": 0,
+ "totalSecurityGroupsUsed": 0,
+ "totalVolumeGigabytesUsed": 0,
+ "totalVolumesUsed": 0
+ },
+ "rate": [
+ {
+ "limit": [
+ {
+ "next-available": "2012-10-04T15:38:20Z",
+ "remaining": 10,
+ "unit": "MINUTE",
+ "value": 10,
+ "verb": "POST"
+ },
+ {
+ "next-available": "2012-10-04T15:38:20Z",
+ "remaining": 10,
+ "unit": "MINUTE",
+ "value": 10,
+ "verb": "PUT"
+ },
+ {
+ "next-available": "2012-10-04T15:38:20Z",
+ "remaining": 100,
+ "unit": "MINUTE",
+ "value": 100,
+ "verb": "DELETE"
+ }
+ ],
+ "regex": ".*",
+ "uri": "*"
+ },
+ {
+ "limit": [
+ {
+ "next-available": "2012-10-04T15:38:20Z",
+ "remaining": 50,
+ "unit": "DAY",
+ "value": 50,
+ "verb": "POST"
+ }
+ ],
+ "regex": "^/servers",
+ "uri": "*/servers"
+ },
+ {
+ "limit": [
+ {
+ "next-available": "2012-10-04T15:38:20Z",
+ "remaining": 3,
+ "unit": "MINUTE",
+ "value": 3,
+ "verb": "GET"
+ }
+ ],
+ "regex": ".*changes-since.*",
+ "uri": "*changes-since*"
+ }
+ ]
+ }
+} \ No newline at end of file
diff --git a/doc/api_samples/os-used-limits/usedlimits-get-resp.xml b/doc/api_samples/os-used-limits/usedlimits-get-resp.xml
new file mode 100644
index 000000000..ae14c8158
--- /dev/null
+++ b/doc/api_samples/os-used-limits/usedlimits-get-resp.xml
@@ -0,0 +1,38 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<limits xmlns:os-used-limits="http://docs.openstack.org/compute/ext/used_limits/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/common/api/v1.0">
+ <rates>
+ <rate regex=".*" uri="*">
+ <limit next-available="2012-10-04T15:38:36Z" unit="MINUTE" verb="POST" remaining="10" value="10"/>
+ <limit next-available="2012-10-04T15:38:36Z" unit="MINUTE" verb="PUT" remaining="10" value="10"/>
+ <limit next-available="2012-10-04T15:38:36Z" unit="MINUTE" verb="DELETE" remaining="100" value="100"/>
+ </rate>
+ <rate regex="^/servers" uri="*/servers">
+ <limit next-available="2012-10-04T15:38:36Z" unit="DAY" verb="POST" remaining="50" value="50"/>
+ </rate>
+ <rate regex=".*changes-since.*" uri="*changes-since*">
+ <limit next-available="2012-10-04T15:38:36Z" unit="MINUTE" verb="GET" remaining="3" value="3"/>
+ </rate>
+ </rates>
+ <absolute>
+ <limit name="maxServerMeta" value="128"/>
+ <limit name="maxTotalInstances" value="10"/>
+ <limit name="maxPersonality" value="5"/>
+ <limit name="maxImageMeta" value="128"/>
+ <limit name="maxPersonalitySize" value="10240"/>
+ <limit name="totalVolumesUsed" value="0"/>
+ <limit name="maxSecurityGroupRules" value="20"/>
+ <limit name="maxTotalKeypairs" value="100"/>
+ <limit name="totalCoresUsed" value="0"/>
+ <limit name="maxTotalVolumes" value="10"/>
+ <limit name="totalRAMUsed" value="0"/>
+ <limit name="totalInstancesUsed" value="0"/>
+ <limit name="maxSecurityGroups" value="10"/>
+ <limit name="totalVolumeGigabytesUsed" value="0"/>
+ <limit name="maxTotalCores" value="20"/>
+ <limit name="totalSecurityGroupsUsed" value="0"/>
+ <limit name="maxTotalFloatingIps" value="10"/>
+ <limit name="totalKeyPairsUsed" value="0"/>
+ <limit name="maxTotalVolumeGigabytes" value="1000"/>
+ <limit name="maxTotalRAMSize" value="51200"/>
+ </absolute>
+</limits> \ No newline at end of file
diff --git a/nova/tests/integrated/api_samples/os-used-limits/usedlimits-get-resp.json.tpl b/nova/tests/integrated/api_samples/os-used-limits/usedlimits-get-resp.json.tpl
new file mode 100644
index 000000000..9c927eeef
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-used-limits/usedlimits-get-resp.json.tpl
@@ -0,0 +1,81 @@
+{
+ "limits": {
+ "absolute": {
+ "maxImageMeta": 128,
+ "maxPersonality": 5,
+ "maxPersonalitySize": 10240,
+ "maxSecurityGroupRules": 20,
+ "maxSecurityGroups": 10,
+ "maxServerMeta": 128,
+ "maxTotalCores": 20,
+ "maxTotalFloatingIps": 10,
+ "maxTotalInstances": 10,
+ "maxTotalKeypairs": 100,
+ "maxTotalRAMSize": 51200,
+ "maxTotalVolumeGigabytes": 1000,
+ "maxTotalVolumes": 10,
+ "totalCoresUsed": 0,
+ "totalInstancesUsed": 0,
+ "totalKeyPairsUsed": 0,
+ "totalRAMUsed": 0,
+ "totalSecurityGroupsUsed": 0,
+ "totalVolumeGigabytesUsed": 0,
+ "totalVolumesUsed": 0
+ },
+ "rate": [
+ {
+ "limit": [
+ {
+ "next-available": "%(timestamp)s",
+ "remaining": 10,
+ "unit": "MINUTE",
+ "value": 10,
+ "verb": "POST"
+ },
+ {
+ "next-available": "%(timestamp)s",
+ "remaining": 10,
+ "unit": "MINUTE",
+ "value": 10,
+ "verb": "PUT"
+ },
+ {
+ "next-available": "%(timestamp)s",
+ "remaining": 100,
+ "unit": "MINUTE",
+ "value": 100,
+ "verb": "DELETE"
+ }
+ ],
+ "regex": ".*",
+ "uri": "*"
+ },
+ {
+ "limit": [
+ {
+ "next-available": "%(timestamp)s",
+ "remaining": 50,
+ "unit": "DAY",
+ "value": 50,
+ "verb": "POST"
+ }
+ ],
+ "regex": "^/servers",
+ "uri": "*/servers"
+ },
+ {
+ "limit": [
+ {
+ "next-available": "%(timestamp)s",
+ "remaining": 3,
+ "unit": "MINUTE",
+ "value": 3,
+ "verb": "GET"
+ }
+ ],
+ "regex": ".*changes-since.*",
+ "uri": "*changes-since*"
+ }
+ ]
+ }
+}
diff --git a/nova/tests/integrated/api_samples/os-used-limits/usedlimits-get-resp.xml.tpl b/nova/tests/integrated/api_samples/os-used-limits/usedlimits-get-resp.xml.tpl
new file mode 100644
index 000000000..a11a577d0
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-used-limits/usedlimits-get-resp.xml.tpl
@@ -0,0 +1,38 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<limits xmlns:os-used-limits="http://docs.openstack.org/compute/ext/used_limits/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/common/api/v1.0">
+ <rates>
+ <rate regex=".*" uri="*">
+ <limit next-available="%(timestamp)s" unit="MINUTE" verb="POST" remaining="10" value="10"/>
+ <limit next-available="%(timestamp)s" unit="MINUTE" verb="PUT" remaining="10" value="10"/>
+ <limit next-available="%(timestamp)s" unit="MINUTE" verb="DELETE" remaining="100" value="100"/>
+ </rate>
+ <rate regex="^/servers" uri="*/servers">
+ <limit next-available="%(timestamp)s" unit="DAY" verb="POST" remaining="50" value="50"/>
+ </rate>
+ <rate regex=".*changes-since.*" uri="*changes-since*">
+ <limit next-available="%(timestamp)s" unit="MINUTE" verb="GET" remaining="3" value="3"/>
+ </rate>
+ </rates>
+ <absolute>
+ <limit name="maxServerMeta" value="128"/>
+ <limit name="maxTotalInstances" value="10"/>
+ <limit name="maxPersonality" value="5"/>
+ <limit name="maxImageMeta" value="128"/>
+ <limit name="maxPersonalitySize" value="10240"/>
+ <limit name="totalVolumesUsed" value="0"/>
+ <limit name="maxSecurityGroupRules" value="20"/>
+ <limit name="maxTotalKeypairs" value="100"/>
+ <limit name="totalCoresUsed" value="0"/>
+ <limit name="maxTotalVolumes" value="10"/>
+ <limit name="totalRAMUsed" value="0"/>
+ <limit name="totalInstancesUsed" value="0"/>
+ <limit name="maxSecurityGroups" value="10"/>
+ <limit name="totalVolumeGigabytesUsed" value="0"/>
+ <limit name="maxTotalCores" value="20"/>
+ <limit name="totalSecurityGroupsUsed" value="0"/>
+ <limit name="maxTotalFloatingIps" value="10"/>
+ <limit name="totalKeyPairsUsed" value="0"/>
+ <limit name="maxTotalVolumeGigabytes" value="1000"/>
+ <limit name="maxTotalRAMSize" value="51200"/>
+ </absolute>
+</limits>
diff --git a/nova/tests/integrated/test_api_samples.py b/nova/tests/integrated/test_api_samples.py
index 95294cdbc..15faa190e 100644
--- a/nova/tests/integrated/test_api_samples.py
+++ b/nova/tests/integrated/test_api_samples.py
@@ -1169,6 +1169,22 @@ class CertificatesSamplesJsonTest(ApiSampleTestBase):
class CertificatesSamplesXmlTest(CertificatesSamplesJsonTest):
+ ctype = 'xml'
+
+
+class UsedLimitsSamplesJsonTest(ApiSampleTestBase):
+ extension_name = ("nova.api.openstack.compute.contrib.used_limits."
+ "Used_limits")
+
+ def test_get_used_limits(self):
+ """Get api sample to used limits"""
+ response = self._do_get('limits')
+ self.assertEqual(response.status, 200)
+ subs = self._get_regexes()
+ return self._verify_response('usedlimits-get-resp', subs, response)
+
+
+class UsedLimitsSamplesXmlTest(UsedLimitsSamplesJsonTest):
ctype = "xml"