Add alias as prefix for flavor_rxtx v3

As v3 api rules, the extended attribute should be with extension
alias as prefix. So fix this case for flavor-rxtx v3 extension.
Closes-bug: 1252986
DocImpact
Change-Id: I9f5984a406d039245db4bef2df53cfe10a331cc2
This commit is contained in:
He Jie Xu
2013年11月20日 14:20:39 +08:00
parent 0a812115cc
commit 65d2398388

View File

@@ -17,7 +17,7 @@
],
"name": "m1.tiny",
"ram": 512,
"rxtx_factor": 1.0,
"os-flavor-rxtx:rxtx_factor": 1.0,
"swap": 0,
"vcpus": 1
}

View File

@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
<flavor xmlns:flavor-access="http://docs.openstack.org/compute/core/flavor-access/api/v3" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" name="m1.tiny" ram="512" ephemeral="0" disabled="False" vcpus="1" swap="0" disk="1" id="1" flavor-access:is_public="True" rxtx_factor="1.0">
<flavor xmlns:flavor-access="http://docs.openstack.org/compute/core/flavor-access/api/v3" xmlns:os-flavor-rxtx="http://docs.openstack.org/compute/ext/os-flavor-rxtx/api/v3" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" name="m1.tiny" ram="512" ephemeral="0" disabled="False" vcpus="1" swap="0" disk="1" id="1" flavor-access:is_public="True" os-flavor-rxtx:rxtx_factor="1.0">
<atom:link href="http://openstack.example.com/v3/flavors/1" rel="self"/>
<atom:link href="http://openstack.example.com/flavors/1" rel="bookmark"/>
</flavor>
</flavor>

View File

@@ -18,7 +18,7 @@
],
"name": "m1.tiny",
"ram": 512,
"rxtx_factor": 1.0,
"os-flavor-rxtx:rxtx_factor": 1.0,
"swap": 0,
"vcpus": 1
},
@@ -40,7 +40,7 @@
],
"name": "m1.small",
"ram": 2048,
"rxtx_factor": 1.0,
"os-flavor-rxtx:rxtx_factor": 1.0,
"swap": 0,
"vcpus": 1
},
@@ -62,7 +62,7 @@
],
"name": "m1.medium",
"ram": 4096,
"rxtx_factor": 1.0,
"os-flavor-rxtx:rxtx_factor": 1.0,
"swap": 0,
"vcpus": 2
},
@@ -84,7 +84,7 @@
],
"name": "m1.large",
"ram": 8192,
"rxtx_factor": 1.0,
"os-flavor-rxtx:rxtx_factor": 1.0,
"swap": 0,
"vcpus": 4
},
@@ -106,7 +106,7 @@
],
"name": "m1.xlarge",
"ram": 16384,
"rxtx_factor": 1.0,
"os-flavor-rxtx:rxtx_factor": 1.0,
"swap": 0,
"vcpus": 8
}

View File

@@ -1,23 +1,23 @@
<?xml version='1.0' encoding='UTF-8'?>
<flavors xmlns:flavor-access="http://docs.openstack.org/compute/core/flavor-access/api/v3" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
<flavor name="m1.tiny" ram="512" ephemeral="0" disabled="False" vcpus="1" swap="0" disk="1" id="1" flavor-access:is_public="True" rxtx_factor="1.0">
<flavors xmlns:os-flavor-rxtx="http://docs.openstack.org/compute/ext/os-flavor-rxtx/api/v3" xmlns:flavor-access="http://docs.openstack.org/compute/core/flavor-access/api/v3" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
<flavor name="m1.tiny" ram="512" ephemeral="0" disabled="False" vcpus="1" swap="0" disk="1" id="1" flavor-access:is_public="True" os-flavor-rxtx:rxtx_factor="1.0">
<atom:link href="http://openstack.example.com/v3/flavors/1" rel="self"/>
<atom:link href="http://openstack.example.com/flavors/1" rel="bookmark"/>
</flavor>
<flavor name="m1.small" ram="2048" ephemeral="0" disabled="False" vcpus="1" swap="0" disk="20" id="2" flavor-access:is_public="True" rxtx_factor="1.0">
<flavor name="m1.small" ram="2048" ephemeral="0" disabled="False" vcpus="1" swap="0" disk="20" id="2" flavor-access:is_public="True" os-flavor-rxtx:rxtx_factor="1.0">
<atom:link href="http://openstack.example.com/v3/flavors/2" rel="self"/>
<atom:link href="http://openstack.example.com/flavors/2" rel="bookmark"/>
</flavor>
<flavor name="m1.medium" ram="4096" ephemeral="0" disabled="False" vcpus="2" swap="0" disk="40" id="3" flavor-access:is_public="True" rxtx_factor="1.0">
<flavor name="m1.medium" ram="4096" ephemeral="0" disabled="False" vcpus="2" swap="0" disk="40" id="3" flavor-access:is_public="True" os-flavor-rxtx:rxtx_factor="1.0">
<atom:link href="http://openstack.example.com/v3/flavors/3" rel="self"/>
<atom:link href="http://openstack.example.com/flavors/3" rel="bookmark"/>
</flavor>
<flavor name="m1.large" ram="8192" ephemeral="0" disabled="False" vcpus="4" swap="0" disk="80" id="4" flavor-access:is_public="True" rxtx_factor="1.0">
<flavor name="m1.large" ram="8192" ephemeral="0" disabled="False" vcpus="4" swap="0" disk="80" id="4" flavor-access:is_public="True" os-flavor-rxtx:rxtx_factor="1.0">
<atom:link href="http://openstack.example.com/v3/flavors/4" rel="self"/>
<atom:link href="http://openstack.example.com/flavors/4" rel="bookmark"/>
</flavor>
<flavor name="m1.xlarge" ram="16384" ephemeral="0" disabled="False" vcpus="8" swap="0" disk="160" id="5" flavor-access:is_public="True" rxtx_factor="1.0">
<flavor name="m1.xlarge" ram="16384" ephemeral="0" disabled="False" vcpus="8" swap="0" disk="160" id="5" flavor-access:is_public="True" os-flavor-rxtx:rxtx_factor="1.0">
<atom:link href="http://openstack.example.com/v3/flavors/5" rel="self"/>
<atom:link href="http://openstack.example.com/flavors/5" rel="bookmark"/>
</flavor>
</flavors>
</flavors>

View File

@@ -5,6 +5,6 @@
"vcpus": 2,
"disk": 10,
"id": "100",
"rxtx_factor": 2.0
"os-flavor-rxtx:rxtx_factor": 2.0
}
}

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<flavor xmlns="http://docs.openstack.org/compute/api/v1.1"
<flavor xmlns:os-flavor-rxtx="http://docs.openstack.org/compute/ext/os-flavor-rxtx/api/v3" xmlns="http://docs.openstack.org/compute/api/v1.1"
name="flavortest"
ram="1024"
vcpus="2"
disk="10"
id="100"
rxtx_factor="2.0" />
os-flavor-rxtx:rxtx_factor="2.0" />

View File

@@ -17,7 +17,7 @@
],
"name": "flavortest",
"ram": 1024,
"rxtx_factor": 2.0,
"os-flavor-rxtx:rxtx_factor": 2.0,
"swap": 0,
"vcpus": 2
}

View File

@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
<flavor xmlns:flavor-access="http://docs.openstack.org/compute/core/flavor-access/api/v3" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" name="flavortest" ram="1024" ephemeral="0" disabled="False" vcpus="2" swap="0" disk="10" id="100" flavor-access:is_public="True" rxtx_factor="2.0">
<flavor xmlns:os-flavor-rxtx="http://docs.openstack.org/compute/ext/os-flavor-rxtx/api/v3" xmlns:flavor-access="http://docs.openstack.org/compute/core/flavor-access/api/v3" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" name="flavortest" ram="1024" ephemeral="0" disabled="False" vcpus="2" swap="0" disk="10" id="100" flavor-access:is_public="True" os-flavor-rxtx:rxtx_factor="2.0">
<atom:link href="http://openstack.example.com/v3/flavors/100" rel="self"/>
<atom:link href="http://openstack.example.com/flavors/100" rel="bookmark"/>
</flavor>
</flavor>

View File

@@ -71,7 +71,7 @@ class FlavorManageController(wsgi.Controller):
root_gb = vals.get('disk')
ephemeral_gb = vals.get('ephemeral', 0)
swap = vals.get('swap', 0)
rxtx_factor = vals.get('rxtx_factor', 1.0)
rxtx_factor = vals.get('os-flavor-rxtx:rxtx_factor', 1.0)
is_public = vals.get('flavor-access:is_public', True)
try:

View File

@@ -26,7 +26,7 @@ class FlavorRxtxController(wsgi.Controller):
def _extend_flavors(self, req, flavors):
for flavor in flavors:
db_flavor = req.get_db_flavor(flavor['id'])
key = 'rxtx_factor'
key = '%s:rxtx_factor' % FlavorRxtx.alias
flavor[key] = db_flavor['rxtx_factor'] or ""
def _show(self, req, resp_obj):
@@ -70,15 +70,16 @@ class FlavorRxtx(extensions.V3APIExtensionBase):
def make_flavor(elem):
# NOTE(vish): this was originally added without a namespace
elem.set('rxtx_factor', xmlutil.EmptyStringSelector('rxtx_factor'))
elem.set('{%s}rxtx_factor' % FlavorRxtx.namespace,
xmlutil.EmptyStringSelector('%s:rxtx_factor' % FlavorRxtx.alias))
class FlavorRxtxTemplate(xmlutil.TemplateBuilder):
def construct(self):
root = xmlutil.TemplateElement('flavor', selector='flavor')
make_flavor(root)
return xmlutil.SlaveTemplate(root, 1)
return xmlutil.SlaveTemplate(
root, 1, nsmap={FlavorRxtx.alias: FlavorRxtx.namespace})
class FlavorsRxtxTemplate(xmlutil.TemplateBuilder):
@@ -86,4 +87,5 @@ class FlavorsRxtxTemplate(xmlutil.TemplateBuilder):
root = xmlutil.TemplateElement('flavors')
elem = xmlutil.SubTemplateElement(root, 'flavor', selector='flavors')
make_flavor(elem)
return xmlutil.SlaveTemplate(root, 1)
return xmlutil.SlaveTemplate(
root, 1, nsmap={FlavorRxtx.alias: FlavorRxtx.namespace})

View File

@@ -19,6 +19,7 @@ import webob
from nova.api.openstack.compute.plugins.v3 import flavor_access
from nova.api.openstack.compute.plugins.v3 import flavor_manage
from nova.api.openstack.compute.plugins.v3 import flavor_rxtx
from nova.compute import flavors
from nova import context
from nova import db
@@ -103,7 +104,7 @@ class FlavorManageTest(test.NoDBTestCase):
"ephemeral": 1,
"id": unicode('1234'),
"swap": 512,
"rxtx_factor": 1,
"%s:rxtx_factor" % flavor_rxtx.ALIAS: 1,
"flavor-access:is_public": True,
}
}
@@ -139,7 +140,7 @@ class FlavorManageTest(test.NoDBTestCase):
"ephemeral": 1,
"id": 1234,
"swap": 512,
"rxtx_factor": 1,
"%s:rxtx_factor" % flavor_rxtx.ALIAS: 1,
}
}
@@ -179,7 +180,7 @@ class FlavorManageTest(test.NoDBTestCase):
"ephemeral": 1,
"id": 1235,
"swap": 512,
"rxtx_factor": 1,
"%s:rxtx_factor" % flavor_rxtx.ALIAS: 1,
"flavor-access:is_public": True,
}
}
@@ -222,7 +223,7 @@ class FlavorManageTest(test.NoDBTestCase):
"disk": 1,
"OS-FLV-EXT-DATA:ephemeral": 1,
"swap": 512,
"rxtx_factor": 1,
"%s:rxtx_factor" % flavor_rxtx.ALIAS: 1,
"os-flavor-access:is_public": True,
}
}
@@ -245,7 +246,7 @@ class FlavorManageTest(test.NoDBTestCase):
"disk": 1,
"OS-FLV-EXT-DATA:ephemeral": 1,
"swap": 512,
"rxtx_factor": 1,
"%s:rxtx_factor" % flavor_rxtx.ALIAS: 1,
"os-flavor-access:is_public": True,
}
}
@@ -287,7 +288,7 @@ class PrivateFlavorManageTest(test.TestCase):
"disk": 1,
"OS-FLV-EXT-DATA:ephemeral": 1,
"swap": 512,
"rxtx_factor": 1,
"%s:rxtx_factor" % flavor_rxtx.ALIAS: 1,
"flavor-access:is_public": False
}
}
@@ -325,7 +326,7 @@ class PrivateFlavorManageTest(test.TestCase):
"disk": 1,
"OS-FLV-EXT-DATA:ephemeral": 1,
"swap": 512,
"rxtx_factor": 1,
"%s:rxtx_factor" % flavor_rxtx.ALIAS: 1,
"flavor-access:is_public": True
}
}

View File

@@ -15,6 +15,7 @@
from lxml import etree
import webob
from nova.api.openstack.compute.plugins.v3 import flavor_rxtx
from nova.compute import flavors
from nova.openstack.common import jsonutils
from nova import test
@@ -61,7 +62,7 @@ def fake_get_all_flavors_sorted_list(context=None, inactive=False,
class FlavorRxtxTest(test.NoDBTestCase):
content_type = 'application/json'
prefix = ''
prefix = '%s:' % flavor_rxtx.ALIAS
def setUp(self):
super(FlavorRxtxTest, self).setUp()
@@ -87,7 +88,8 @@ class FlavorRxtxTest(test.NoDBTestCase):
return jsonutils.loads(body).get('flavors')
def assertFlavorRxtx(self, flavor, rxtx):
self.assertEqual(str(flavor.get('rxtx_factor')), rxtx)
self.assertEqual(
flavor.get('%srxtx_factor' % self.prefix), rxtx)
def test_show(self):
url = '/v3/flavors/1'
@@ -108,6 +110,7 @@ class FlavorRxtxTest(test.NoDBTestCase):
class FlavorRxtxXmlTest(FlavorRxtxTest):
content_type = 'application/xml'
prefix = '{%s}' % flavor_rxtx.FlavorRxtx.namespace
def _get_flavor(self, body):
return etree.XML(body)

View File

@@ -17,7 +17,7 @@
"name": "m1.tiny",
"flavor-access:is_public": true,
"ram": 512,
"rxtx_factor": 1.0,
"os-flavor-rxtx:rxtx_factor": 1.0,
"swap": 0,
"vcpus": 1
}

View File

@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
<flavor xmlns:flavor-access="http://docs.openstack.org/compute/core/flavor-access/api/v3" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" name="m1.tiny" ram="512" ephemeral="0" disabled="False" vcpus="1" swap="0" flavor-access:is_public="True" disk="1" id="1" rxtx_factor="1.0">
<flavor xmlns:os-flavor-rxtx="http://docs.openstack.org/compute/ext/os-flavor-rxtx/api/v3" xmlns:flavor-access="http://docs.openstack.org/compute/core/flavor-access/api/v3" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" name="m1.tiny" ram="512" ephemeral="0" disabled="False" vcpus="1" swap="0" flavor-access:is_public="True" disk="1" id="1" os-flavor-rxtx:rxtx_factor="1.0">
<atom:link href="http://openstack.example.com/v3/flavors/1" rel="self"/>
<atom:link href="http://openstack.example.com/flavors/1" rel="bookmark"/>
</flavor>

View File

@@ -18,7 +18,7 @@
"name": "m1.tiny",
"flavor-access:is_public": true,
"ram": 512,
"rxtx_factor": 1.0,
"os-flavor-rxtx:rxtx_factor": 1.0,
"swap": 0,
"vcpus": 1
},
@@ -40,7 +40,7 @@
"name": "m1.small",
"flavor-access:is_public": true,
"ram": 2048,
"rxtx_factor": 1.0,
"os-flavor-rxtx:rxtx_factor": 1.0,
"swap": 0,
"vcpus": 1
},
@@ -62,7 +62,7 @@
"name": "m1.medium",
"flavor-access:is_public": true,
"ram": 4096,
"rxtx_factor": 1.0,
"os-flavor-rxtx:rxtx_factor": 1.0,
"swap": 0,
"vcpus": 2
},
@@ -84,7 +84,7 @@
"name": "m1.large",
"flavor-access:is_public": true,
"ram": 8192,
"rxtx_factor": 1.0,
"os-flavor-rxtx:rxtx_factor": 1.0,
"swap": 0,
"vcpus": 4
},
@@ -106,7 +106,7 @@
"name": "m1.xlarge",
"flavor-access:is_public": true,
"ram": 16384,
"rxtx_factor": 1.0,
"os-flavor-rxtx:rxtx_factor": 1.0,
"swap": 0,
"vcpus": 8
}

View File

@@ -1,23 +1,23 @@
<?xml version='1.0' encoding='UTF-8'?>
<flavors xmlns:flavor-access="http://docs.openstack.org/compute/core/flavor-access/api/v3" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
<flavor name="m1.tiny" ram="512" ephemeral="0" disabled="False" vcpus="1" swap="0" disk="1" id="1" flavor-access:is_public="True" rxtx_factor="1.0">
<flavors xmlns:os-flavor-rxtx="http://docs.openstack.org/compute/ext/os-flavor-rxtx/api/v3" xmlns:flavor-access="http://docs.openstack.org/compute/core/flavor-access/api/v3" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
<flavor name="m1.tiny" ram="512" ephemeral="0" disabled="False" vcpus="1" swap="0" disk="1" id="1" flavor-access:is_public="True" os-flavor-rxtx:rxtx_factor="1.0">
<atom:link href="http://openstack.example.com/v3/flavors/1" rel="self"/>
<atom:link href="http://openstack.example.com/flavors/1" rel="bookmark"/>
</flavor>
<flavor name="m1.small" ram="2048" ephemeral="0" disabled="False" vcpus="1" swap="0" disk="20" id="2" flavor-access:is_public="True" rxtx_factor="1.0">
<flavor name="m1.small" ram="2048" ephemeral="0" disabled="False" vcpus="1" swap="0" disk="20" id="2" flavor-access:is_public="True" os-flavor-rxtx:rxtx_factor="1.0">
<atom:link href="http://openstack.example.com/v3/flavors/2" rel="self"/>
<atom:link href="http://openstack.example.com/flavors/2" rel="bookmark"/>
</flavor>
<flavor name="m1.medium" ram="4096" ephemeral="0" disabled="False" vcpus="2" swap="0" disk="40" id="3" flavor-access:is_public="True" rxtx_factor="1.0">
<flavor name="m1.medium" ram="4096" ephemeral="0" disabled="False" vcpus="2" swap="0" disk="40" id="3" flavor-access:is_public="True" os-flavor-rxtx:rxtx_factor="1.0">
<atom:link href="http://openstack.example.com/v3/flavors/3" rel="self"/>
<atom:link href="http://openstack.example.com/flavors/3" rel="bookmark"/>
</flavor>
<flavor name="m1.large" ram="8192" ephemeral="0" disabled="False" vcpus="4" swap="0" disk="80" id="4" flavor-access:is_public="True" rxtx_factor="1.0">
<flavor name="m1.large" ram="8192" ephemeral="0" disabled="False" vcpus="4" swap="0" disk="80" id="4" flavor-access:is_public="True" os-flavor-rxtx:rxtx_factor="1.0">
<atom:link href="http://openstack.example.com/v3/flavors/4" rel="self"/>
<atom:link href="http://openstack.example.com/flavors/4" rel="bookmark"/>
</flavor>
<flavor name="m1.xlarge" ram="16384" ephemeral="0" disabled="False" vcpus="8" swap="0" disk="160" id="5" flavor-access:is_public="True" rxtx_factor="1.0">
<flavor name="m1.xlarge" ram="16384" ephemeral="0" disabled="False" vcpus="8" swap="0" disk="160" id="5" flavor-access:is_public="True" os-flavor-rxtx:rxtx_factor="1.0">
<atom:link href="http://openstack.example.com/v3/flavors/5" rel="self"/>
<atom:link href="http://openstack.example.com/flavors/5" rel="bookmark"/>
</flavor>
</flavors>
</flavors>

View File

@@ -5,6 +5,6 @@
"vcpus": 2,
"disk": 10,
"id": "%(flavor_id)s",
"rxtx_factor": 2.0
"os-flavor-rxtx:rxtx_factor": 2.0
}
}

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<flavor xmlns="http://docs.openstack.org/compute/api/v1.1"
<flavor xmlns:os-flavor-rxtx="http://docs.openstack.org/compute/ext/os-flavor-rxtx/api/v3" xmlns="http://docs.openstack.org/compute/api/v1.1"
name="%(flavor_name)s"
ram="1024"
vcpus="2"
disk="10"
id="%(flavor_id)s"
rxtx_factor="2.0" />
os-flavor-rxtx:rxtx_factor="2.0" />

View File

@@ -15,7 +15,7 @@
"name": "%(flavor_name)s",
"flavor-access:is_public": true,
"ram": 1024,
"rxtx_factor": 2.0,
"os-flavor-rxtx:rxtx_factor": 2.0,
"vcpus": 2,
"disabled": false,
"ephemeral": 0,

View File

@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
<flavor xmlns:flavor-access="http://docs.openstack.org/compute/core/flavor-access/api/v3" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" disk="10" vcpus="2" ram="1024" name="%(flavor_name)s" id="%(flavor_id)s" disabled="False" ephemeral="0" swap="0" flavor-access:is_public="True" rxtx_factor="2.0">
<flavor xmlns:os-flavor-rxtx="http://docs.openstack.org/compute/ext/os-flavor-rxtx/api/v3" xmlns:flavor-access="http://docs.openstack.org/compute/core/flavor-access/api/v3" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" disk="10" vcpus="2" ram="1024" name="%(flavor_name)s" id="%(flavor_id)s" disabled="False" ephemeral="0" swap="0" flavor-access:is_public="True" os-flavor-rxtx:rxtx_factor="2.0">
<atom:link href="%(host)s/v3/flavors/%(flavor_id)s" rel="self"/>
<atom:link href="%(host)s/flavors/%(flavor_id)s" rel="bookmark"/>
</flavor>
Reference in New Issue
openstack/nova
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.

The note is not visible to the blocked user.