summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorAlex Meade <alex.meade@rackspace.com>2011-12-02 11:36:38 -0500
committerAlex Meade <alex.meade@rackspace.com>2011-12-02 11:37:26 -0500
commit91cfa62b4a09cafa8af0772c68d36de9216dc440 (patch)
treed9e9498f2ab69e8e12c3b0e422b3dd78a3636a82 /nova/api
parent7fc79c41e9759310faf5a88f28981f0efb53d431 (diff)
downloadnova-91cfa62b4a09cafa8af0772c68d36de9216dc440.tar.gz
nova-91cfa62b4a09cafa8af0772c68d36de9216dc440.tar.xz
nova-91cfa62b4a09cafa8af0772c68d36de9216dc440.zip
EC2 rescue/unrescue is broken, bug 899225
Change-Id: I5a0b9c08a43e8c606d1c885cf7f47382fa4664a8
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/ec2/cloud.py18
1 files changed, 8 insertions, 10 deletions
diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py
index eb4945412..17a1ff634 100644
--- a/nova/api/ec2/cloud.py
+++ b/nova/api/ec2/cloud.py
@@ -1289,14 +1289,6 @@ class CloudController(object):
block_device_mapping=kwargs.get('block_device_mapping', {}))
return self._format_run_instances(context, resv_id)
- def _do_instance(self, action, context, ec2_id):
- instance_id = ec2utils.ec2_id_to_id(ec2_id)
- action(context, instance_id=instance_id)
-
- def _do_instances(self, action, context, instance_id):
- for ec2_id in instance_id:
- self._do_instance(action, context, ec2_id)
-
def terminate_instances(self, context, instance_id, **kwargs):
"""Terminate each instance in instance_id, which is a list of ec2 ids.
instance_id is a kwarg so its name cannot be modified."""
@@ -1338,12 +1330,18 @@ class CloudController(object):
def rescue_instance(self, context, instance_id, **kwargs):
"""This is an extension to the normal ec2_api"""
- self._do_instance(self.compute_api.rescue, context, instance_id)
+ LOG.debug(_("Going to rescue instance %s") % instance_id)
+ _instance_id = ec2utils.ec2_id_to_id(instance_id)
+ instance = self.compute_api.get(context, _instance_id)
+ self.compute_api.rescue(context, instance)
return True
def unrescue_instance(self, context, instance_id, **kwargs):
"""This is an extension to the normal ec2_api"""
- self._do_instance(self.compute_api.unrescue, context, instance_id)
+ LOG.debug(_("Going to unrescue instance %s") % instance_id)
+ _instance_id = ec2utils.ec2_id_to_id(instance_id)
+ instance = self.compute_api.get(context, _instance_id)
+ self.compute_api.unrescue(context, instance)
return True
def update_instance(self, context, instance_id, **kwargs):