From e8746dbcc1ad53a3335d063fea95b516a0f10f9d Mon Sep 17 00:00:00 2001 From: hill Date: Sun, 6 Jan 2013 11:29:41 +0800 Subject: config_drive is missing in xml deserializer bug 1096508 Change-Id: Ibaca0b08b866fa6297d8abaf005adbc6f689818c --- nova/api/openstack/compute/servers.py | 4 ++++ nova/tests/api/openstack/compute/test_servers.py | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) 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 = """ + """ + 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): -- cgit