summaryrefslogtreecommitdiffstats
path: root/nova/compute
diff options
context:
space:
mode:
authorJohannes Erdfelt <johannes.erdfelt@rackspace.com>2011-09-12 20:48:43 +0000
committerJohannes Erdfelt <johannes.erdfelt@rackspace.com>2011-09-12 20:48:43 +0000
commit79ef79abf24f7b8c8d3c9b652285a69fee7e9d14 (patch)
treee98ac047eb52616eda118be617c4229dc4189f47 /nova/compute
parent2351c06f50d4556e564a7b0abb1653805e661330 (diff)
parent68551bb375588470b41606f181c445192c18cdaa (diff)
Merge with trunk
Diffstat (limited to 'nova/compute')
-rw-r--r--nova/compute/api.py8
-rw-r--r--nova/compute/manager.py7
2 files changed, 9 insertions, 6 deletions
diff --git a/nova/compute/api.py b/nova/compute/api.py
index 81747d09c..1f4ce3165 100644
--- a/nova/compute/api.py
+++ b/nova/compute/api.py
@@ -215,7 +215,8 @@ class API(base.Base):
self._check_injected_file_quota(context, injected_files)
self._check_requested_networks(context, requested_networks)
- (image_service, image_id) = nova.image.get_image_service(image_href)
+ (image_service, image_id) = nova.image.get_image_service(context,
+ image_href)
image = image_service.show(context, image_id)
config_drive_id = None
@@ -1101,13 +1102,14 @@ class API(base.Base):
return recv_meta
@scheduler_api.reroute_compute("reboot")
- def reboot(self, context, instance_id):
+ def reboot(self, context, instance_id, reboot_type):
"""Reboot the given instance."""
self.update(context,
instance_id,
vm_state=vm_states.ACTIVE,
task_state=task_states.REBOOTING)
- self._cast_compute_message('reboot_instance', context, instance_id)
+ self._cast_compute_message('reboot_instance', context, instance_id,
+ reboot_type)
@scheduler_api.reroute_compute("rebuild")
def rebuild(self, context, instance_id, image_href, admin_password,
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index 5c1cbd5f7..91236dd3c 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -325,7 +325,8 @@ class ComputeManager(manager.SchedulerDependentManager):
# used by the image service. This should be refactored to be
# consistent.
image_href = instance['image_ref']
- image_service, image_id = nova.image.get_image_service(image_href)
+ image_service, image_id = nova.image.get_image_service(context,
+ image_href)
image_meta = image_service.show(context, image_id)
try:
@@ -608,7 +609,7 @@ class ComputeManager(manager.SchedulerDependentManager):
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
@checks_instance_lock
- def reboot_instance(self, context, instance_id):
+ def reboot_instance(self, context, instance_id, reboot_type="SOFT"):
"""Reboot an instance on this host."""
LOG.audit(_("Rebooting instance %s"), instance_id, context=context)
context = context.elevated()
@@ -630,7 +631,7 @@ class ComputeManager(manager.SchedulerDependentManager):
context=context)
network_info = self._get_instance_nw_info(context, instance_ref)
- self.driver.reboot(instance_ref, network_info)
+ self.driver.reboot(instance_ref, network_info, reboot_type)
current_power_state = self._get_power_state(context, instance_ref)
self._instance_update(context,