summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorChristopher MacGown <chris@pistoncloud.com>2011-08-12 14:23:10 -0700
committerChristopher MacGown <chris@pistoncloud.com>2011-08-12 14:23:10 -0700
commit3f82580b98252af4bbeb54bc64e725856c2fde15 (patch)
tree8eaa48c0cb74b76b4f3e85f48ea6feb39cbe4b2a /nova/api
parent069056b7f5c9b2e9a1c35d37501897fd26100bac (diff)
parentb776f19c21d1a56ac851435182c0c267166d49dd (diff)
Merge config_drive with trunk
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/openstack/create_instance_helper.py7
-rw-r--r--nova/api/openstack/views/servers.py4
2 files changed, 10 insertions, 1 deletions
diff --git a/nova/api/openstack/create_instance_helper.py b/nova/api/openstack/create_instance_helper.py
index 1425521a9..0ec455167 100644
--- a/nova/api/openstack/create_instance_helper.py
+++ b/nova/api/openstack/create_instance_helper.py
@@ -106,6 +106,7 @@ class CreateInstanceHelper(object):
raise exc.HTTPBadRequest(explanation=msg)
personality = server_dict.get('personality')
+ config_drive = server_dict.get('config_drive')
injected_files = []
if personality:
@@ -143,6 +144,7 @@ class CreateInstanceHelper(object):
extra_values = {
'instance_type': inst_type,
'image_ref': image_href,
+ 'config_drive': config_drive,
'password': password}
return (extra_values,
@@ -161,7 +163,8 @@ class CreateInstanceHelper(object):
zone_blob=zone_blob,
reservation_id=reservation_id,
min_count=min_count,
- max_count=max_count))
+ max_count=max_count,
+ config_drive=config_drive,))
except quota.QuotaError as error:
self._handle_quota_error(error)
except exception.ImageNotFound as error:
@@ -175,6 +178,8 @@ class CreateInstanceHelper(object):
def _handle_quota_error(self, error):
"""
Reraise quota errors as api-specific http exceptions
+
+
"""
if error.code == "OnsetFileLimitExceeded":
expl = _("Personality file limit exceeded")
diff --git a/nova/api/openstack/views/servers.py b/nova/api/openstack/views/servers.py
index 8222f6766..c7bc03bcb 100644
--- a/nova/api/openstack/views/servers.py
+++ b/nova/api/openstack/views/servers.py
@@ -182,6 +182,7 @@ class ViewBuilderV11(ViewBuilder):
def _build_extra(self, response, inst):
self._build_links(response, inst)
response['uuid'] = inst['uuid']
+ self._build_config_drive(response, inst)
def _build_links(self, response, inst):
href = self.generate_href(inst["id"])
@@ -200,6 +201,9 @@ class ViewBuilderV11(ViewBuilder):
response["links"] = links
+ def _build_config_drive(self, response, inst):
+ response['config_drive'] = inst.get('config_drive')
+
def generate_href(self, server_id):
"""Create an url that refers to a specific server id."""
return os.path.join(self.base_url, "servers", str(server_id))