diff options
| author | Alexei Kornienko <akornienko@mirantis.com> | 2013-06-27 16:24:20 +0300 |
|---|---|---|
| committer | Alexei Kornienko <akornienko@mirantis.com> | 2013-06-27 16:28:16 +0300 |
| commit | 643cf2d3c67a6c9728fd5c766a9cee3a09d67022 (patch) | |
| tree | 7307b55109796d0f6ac0cc9fb62d3ba925665022 /nova/api | |
| parent | 73eaa61f468d1c4f6f800862e4eb4d8a70f88bb1 (diff) | |
| download | nova-643cf2d3c67a6c9728fd5c766a9cee3a09d67022.tar.gz nova-643cf2d3c67a6c9728fd5c766a9cee3a09d67022.tar.xz nova-643cf2d3c67a6c9728fd5c766a9cee3a09d67022.zip | |
Merged flavor_swap extension into core API
Partially implements blueprint nova-v3-api
Change-Id: Ib58afac2159b25a38165882375e6d6ac57dc6da5
Diffstat (limited to 'nova/api')
| -rw-r--r-- | nova/api/openstack/compute/plugins/v3/flavors.py | 2 | ||||
| -rw-r--r-- | nova/api/openstack/compute/schemas/v3/flavor.rng | 12 | ||||
| -rw-r--r-- | nova/api/openstack/compute/schemas/v3/flavors.rng | 6 | ||||
| -rw-r--r-- | nova/api/openstack/xmlutil.py | 8 |
4 files changed, 24 insertions, 4 deletions
diff --git a/nova/api/openstack/compute/plugins/v3/flavors.py b/nova/api/openstack/compute/plugins/v3/flavors.py index 733ff3750..31c0fa8b7 100644 --- a/nova/api/openstack/compute/plugins/v3/flavors.py +++ b/nova/api/openstack/compute/plugins/v3/flavors.py @@ -34,6 +34,8 @@ def make_flavor(elem, detailed=False): elem.set('ram') elem.set('disk') elem.set('vcpus', xmlutil.EmptyStringSelector('vcpus')) + # NOTE(vish): this was originally added without a namespace + elem.set('swap', xmlutil.EmptyStringSelector('swap')) xmlutil.make_links(elem, 'links') diff --git a/nova/api/openstack/compute/schemas/v3/flavor.rng b/nova/api/openstack/compute/schemas/v3/flavor.rng new file mode 100644 index 000000000..4b6b74001 --- /dev/null +++ b/nova/api/openstack/compute/schemas/v3/flavor.rng @@ -0,0 +1,12 @@ +<element name="flavor" ns="http://docs.openstack.org/compute/api/v1.1" + xmlns="http://relaxng.org/ns/structure/1.0"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="ram"> <text/> </attribute> + <attribute name="disk"> <text/> </attribute> + <attribute name="vcpus"> <text/> </attribute> + <attribute name="swap"> <text/> </attribute> + <zeroOrMore> + <externalRef href="../atom-link.rng"/> + </zeroOrMore> +</element> diff --git a/nova/api/openstack/compute/schemas/v3/flavors.rng b/nova/api/openstack/compute/schemas/v3/flavors.rng new file mode 100644 index 000000000..b7a3acc01 --- /dev/null +++ b/nova/api/openstack/compute/schemas/v3/flavors.rng @@ -0,0 +1,6 @@ +<element name="flavors" xmlns="http://relaxng.org/ns/structure/1.0" + ns="http://docs.openstack.org/compute/api/v1.1"> + <zeroOrMore> + <externalRef href="flavor.rng"/> + </zeroOrMore> +</element> diff --git a/nova/api/openstack/xmlutil.py b/nova/api/openstack/xmlutil.py index 04f5e28e3..37766b3e3 100644 --- a/nova/api/openstack/xmlutil.py +++ b/nova/api/openstack/xmlutil.py @@ -33,12 +33,12 @@ XMLNS_COMMON_V10 = 'http://docs.openstack.org/common/api/v1.0' XMLNS_ATOM = 'http://www.w3.org/2005/Atom' -def validate_schema(xml, schema_name): +def validate_schema(xml, schema_name, version='v1.1'): if isinstance(xml, str): xml = etree.fromstring(xml) - base_path = 'nova/api/openstack/compute/schemas/v1.1/' - if schema_name in ('atom', 'atom-link'): - base_path = 'nova/api/openstack/compute/schemas/' + base_path = 'nova/api/openstack/compute/schemas/' + if schema_name not in ('atom', 'atom-link'): + base_path += '%s/' % version schema_path = os.path.join(utils.novadir(), '%s%s.rng' % (base_path, schema_name)) schema_doc = etree.parse(schema_path) |
