summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhill <yuyuehill@gmail.com>2013-01-06 11:29:41 +0800
committerhill <yuyuehill@gmail.com>2013-01-06 14:43:22 +0800
commite8746dbcc1ad53a3335d063fea95b516a0f10f9d (patch)
tree0b418ff5066ae723b876ff595c5b1fb0a0b80a0f
parent9279e0052f300eb0f64d63c970d34c050d744906 (diff)
config_drive is missing in xml deserializer
bug 1096508 Change-Id: Ibaca0b08b866fa6297d8abaf005adbc6f689818c
-rw-r--r--nova/api/openstack/compute/servers.py4
-rw-r--r--nova/tests/api/openstack/compute/test_servers.py18
2 files changed, 22 insertions, 0 deletions
diff --git a/nova/api/openstack/compute/servers.py b/nova/api/openstack/compute/servers.py
index 7a8d7d5a8..f992dc445 100644
--- a/nova/api/openstack/compute/servers.py
+++ b/nova/api/openstack/compute/servers.py
@@ -223,6 +223,10 @@ class CommonDeserializer(wsgi.MetadataXMLDeserializer):
if auto_disk_config:
server['OS-DCF:diskConfig'] = utils.bool_from_str(auto_disk_config)
+ config_drive = server_node.getAttribute('config_drive')
+ if config_drive:
+ server['config_drive'] = config_drive
+
return server
def _extract_block_device_mapping(self, server_node):
diff --git a/nova/tests/api/openstack/compute/test_servers.py b/nova/tests/api/openstack/compute/test_servers.py
index 734297501..f916925fd 100644
--- a/nova/tests/api/openstack/compute/test_servers.py
+++ b/nova/tests/api/openstack/compute/test_servers.py
@@ -3664,6 +3664,24 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase):
}}
self.assertEquals(request['body'], expected)
+ def test_request_with_config_drive(self):
+ serial_request = """
+ <server xmlns="http://docs.openstack.org/compute/api/v2"
+ name="config_drive_test"
+ imageRef="1"
+ flavorRef="1"
+ config_drive="true"/>"""
+ request = self.deserializer.deserialize(serial_request)
+ expected = {
+ "server": {
+ "name": "config_drive_test",
+ "imageRef": "1",
+ "flavorRef": "1",
+ "config_drive": "true"
+ },
+ }
+ self.assertEquals(request['body'], expected)
+
class TestAddressesXMLSerialization(test.TestCase):