Merge "Add alias as prefix to request params for availability_zone v3"

This commit is contained in:
Jenkins
2013-08-26 06:01:41 +00:00
committed by Gerrit Code Review
2 changed files with 10 additions and 7 deletions

View File

@@ -26,6 +26,7 @@ from nova import servicegroup
CONF = cfg.CONF
ALIAS = "os-availability-zone"
ATTRIBUTE_NAME = "%s:availability_zone" % ALIAS
authorize_list = extensions.extension_authorizer('compute',
'v3:' + ALIAS + ':list')
authorize_detail = extensions.extension_authorizer('compute',
@@ -184,10 +185,9 @@ class AvailabilityZone(extensions.V3APIExtensionBase):
return []
def server_create(self, server_dict, create_kwargs):
create_kwargs['availability_zone'] = server_dict.get(
'availability_zone')
create_kwargs['availability_zone'] = server_dict.get(ATTRIBUTE_NAME)
def server_xml_extract_server_deserialize(self, server_node, server_dict):
availability_zone = server_node.getAttribute('availability_zone')
availability_zone = server_node.getAttribute(ATTRIBUTE_NAME)
if availability_zone:
server_dict['availability_zone'] = availability_zone
server_dict[ATTRIBUTE_NAME] = availability_zone

View File

@@ -318,7 +318,7 @@ class ServersControllerCreateTest(test.TestCase):
'image_ref': inst.get('image_ref', def_image_ref),
'user_id': 'fake',
'project_id': 'fake',
'availability_zone': None,
availability_zone.ATTRIBUTE_NAME: None,
'reservation_id': inst['reservation_id'],
"created_at": datetime.datetime(2010, 10, 10, 12, 0, 0),
"updated_at": datetime.datetime(2010, 11, 11, 11, 0, 0),
@@ -484,17 +484,20 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase):
def test_request_with_availability_zone(self):
serial_request = """
<server xmlns="http://docs.openstack.org/compute/api/v3"
xmlns:%(alias)s="%(namespace)s"
name="availability_zone_test"
image_ref="1"
flavor_ref="1"
availability_zone="nova"/>"""
%(alias)s:availability_zone="nova"/>""" % {
'alias': availability_zone.ALIAS,
'namespace': availability_zone.AvailabilityZone.namespace}
request = self.deserializer.deserialize(serial_request)
expected = {
"server": {
"name": "availability_zone_test",
"image_ref": "1",
"flavor_ref": "1",
"availability_zone": "nova"
availability_zone.ATTRIBUTE_NAME: "nova"
},
}
self.assertEquals(request['body'], expected)