diff options
| author | hill <yuyuehill@gmail.com> | 2013-01-06 11:29:41 +0800 |
|---|---|---|
| committer | hill <yuyuehill@gmail.com> | 2013-01-06 14:43:22 +0800 |
| commit | e8746dbcc1ad53a3335d063fea95b516a0f10f9d (patch) | |
| tree | 0b418ff5066ae723b876ff595c5b1fb0a0b80a0f | |
| parent | 9279e0052f300eb0f64d63c970d34c050d744906 (diff) | |
config_drive is missing in xml deserializer
bug 1096508
Change-Id: Ibaca0b08b866fa6297d8abaf005adbc6f689818c
| -rw-r--r-- | nova/api/openstack/compute/servers.py | 4 | ||||
| -rw-r--r-- | nova/tests/api/openstack/compute/test_servers.py | 18 |
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): |
