summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-08-10 23:35:59 +0000
committerGerrit Code Review <review@openstack.org>2012-08-10 23:35:59 +0000
commit649d3cea2a3c6a704612087e5ccca7cbe11ae0b3 (patch)
treef4b8b7dbefac4d70054ab3cc1f252900aed8135a
parent7c62170c67fc60b6fd0ddd0239c40b9238a372d6 (diff)
parentdec1531f1defacfba77454c05acef229dab9bc06 (diff)
downloadnova-649d3cea2a3c6a704612087e5ccca7cbe11ae0b3.tar.gz
nova-649d3cea2a3c6a704612087e5ccca7cbe11ae0b3.tar.xz
nova-649d3cea2a3c6a704612087e5ccca7cbe11ae0b3.zip
Merge " Key config_drive off of config-drive extension"
-rw-r--r--nova/api/openstack/compute/servers.py4
-rw-r--r--nova/tests/api/openstack/compute/test_servers.py16
2 files changed, 19 insertions, 1 deletions
diff --git a/nova/api/openstack/compute/servers.py b/nova/api/openstack/compute/servers.py
index e8ede37e7..217c67361 100644
--- a/nova/api/openstack/compute/servers.py
+++ b/nova/api/openstack/compute/servers.py
@@ -604,7 +604,9 @@ class Controller(wsgi.Controller):
image_href = self._image_uuid_from_href(image_href)
personality = server_dict.get('personality')
- config_drive = server_dict.get('config_drive')
+ config_drive = None
+ if self.ext_mgr.is_loaded('os-config-drive'):
+ config_drive = server_dict.get('config_drive')
injected_files = []
if personality:
diff --git a/nova/tests/api/openstack/compute/test_servers.py b/nova/tests/api/openstack/compute/test_servers.py
index 678aac1b5..a22b18c8d 100644
--- a/nova/tests/api/openstack/compute/test_servers.py
+++ b/nova/tests/api/openstack/compute/test_servers.py
@@ -2379,6 +2379,7 @@ class ServersControllerCreateTest(test.TestCase):
self.controller.create, req, body)
def test_create_instance_with_config_drive(self):
+ self.ext_mgr.extensions = {'os-config-drive': 'fake'}
image_href = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
flavor_ref = 'http://localhost/v2/fake/flavors/3'
body = {
@@ -2405,6 +2406,7 @@ class ServersControllerCreateTest(test.TestCase):
self.assertEqual(FAKE_UUID, server['id'])
def test_create_instance_with_config_drive_as_id(self):
+ self.ext_mgr.extensions = {'os-config-drive': 'fake'}
image_href = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
flavor_ref = 'http://localhost/v2/fake/flavors/3'
body = {
@@ -2431,6 +2433,7 @@ class ServersControllerCreateTest(test.TestCase):
self.assertEqual(FAKE_UUID, server['id'])
def test_create_instance_with_bad_config_drive(self):
+ self.ext_mgr.extensions = {'os-config-drive': 'fake'}
image_href = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
flavor_ref = 'http://localhost/v2/fake/flavors/3'
body = {
@@ -2456,6 +2459,7 @@ class ServersControllerCreateTest(test.TestCase):
self.controller.create, req, body)
def test_create_instance_without_config_drive(self):
+ self.ext_mgr.extensions = {'os-config-drive': 'fake'}
image_href = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
flavor_ref = 'http://localhost/v2/fake/flavors/3'
body = {
@@ -2481,6 +2485,18 @@ class ServersControllerCreateTest(test.TestCase):
server = res['server']
self.assertEqual(FAKE_UUID, server['id'])
+ def test_create_instance_with_config_drive_disabled(self):
+ config_drive = [{'config_drive': 'foo'}]
+ params = {'config_drive': config_drive}
+ old_create = nova.compute.api.API.create
+
+ def create(*args, **kwargs):
+ self.assertEqual(kwargs['config_drive'], None)
+ return old_create(*args, **kwargs)
+
+ self.stubs.Set(nova.compute.api.API, 'create', create)
+ self._test_create_extra(params)
+
def test_create_instance_bad_href(self):
image_href = 'asdf'
flavor_ref = 'http://localhost/v2/flavors/3'