summaryrefslogtreecommitdiffstats
path: root/nova/virt
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-04-22 22:50:47 +0000
committerGerrit Code Review <review@openstack.org>2013-04-22 22:50:47 +0000
commit8fcd4141816fdcec6bea94aa6190ec065c6cbd9f (patch)
tree8c8e886b9f268d2b32759ad43b4a16cf0b8b09ef /nova/virt
parentc8a13fd27d699de5673b571dfe2eabf94097216c (diff)
parentb4dc932c2a10c3d9c678cf759f94237504661348 (diff)
Merge "Can now reboot rescued instances in xenapi"
Diffstat (limited to 'nova/virt')
-rw-r--r--nova/virt/xenapi/vmops.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/nova/virt/xenapi/vmops.py b/nova/virt/xenapi/vmops.py
index a597d9c60..48413ed7c 100644
--- a/nova/virt/xenapi/vmops.py
+++ b/nova/virt/xenapi/vmops.py
@@ -696,9 +696,12 @@ class VMOps(object):
self._session.call_xenapi('VM.add_to_VCPUs_params', vm_ref,
'weight', str(vcpu_weight))
- def _get_vm_opaque_ref(self, instance):
- """Get xapi OpaqueRef from a db record."""
- vm_ref = vm_utils.lookup(self._session, instance['name'])
+ def _get_vm_opaque_ref(self, instance, check_rescue=False):
+ """Get xapi OpaqueRef from a db record.
+ :param check_rescue: if True will return the 'name'-rescue vm if it
+ exists, instead of just 'name'
+ """
+ vm_ref = vm_utils.lookup(self._session, instance['name'], check_rescue)
if vm_ref is None:
raise exception.NotFound(_('Could not find VM with name %s') %
instance['name'])
@@ -975,7 +978,7 @@ class VMOps(object):
# Note (salvatore-orlando): security group rules are not re-enforced
# upon reboot, since this action on the XenAPI drivers does not
# remove existing filters
- vm_ref = self._get_vm_opaque_ref(instance)
+ vm_ref = self._get_vm_opaque_ref(instance, check_rescue=True)
try:
if reboot_type == "HARD":