summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Kearney <josh.kearney@rackspace.com>2011-01-12 15:07:51 -0600
committerJosh Kearney <josh.kearney@rackspace.com>2011-01-12 15:07:51 -0600
commit7f2a4fdf5e43620081e163fc46f2ca4fdefd18f3 (patch)
treee56807b9cdfbac64c4b71fc88be83e124b3f6114
parent0c4e8879ea14f79e906ae853032f67f027d58e04 (diff)
downloadnova-7f2a4fdf5e43620081e163fc46f2ca4fdefd18f3.tar.gz
nova-7f2a4fdf5e43620081e163fc46f2ca4fdefd18f3.tar.xz
nova-7f2a4fdf5e43620081e163fc46f2ca4fdefd18f3.zip
Make rescue/unrescue available to API
-rw-r--r--nova/api/openstack/servers.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/nova/api/openstack/servers.py b/nova/api/openstack/servers.py
index 29af82533..3a6c61a3a 100644
--- a/nova/api/openstack/servers.py
+++ b/nova/api/openstack/servers.py
@@ -283,6 +283,28 @@ class Controller(wsgi.Controller):
return faults.Fault(exc.HTTPUnprocessableEntity())
return exc.HTTPAccepted()
+ def rescue(self, req, id):
+ """Permit users to rescue the server."""
+ context = req.environ["nova.context"]
+ try:
+ self.compute_api.rescue(context, id)
+ except:
+ readable = traceback.format_exc()
+ LOG.exception(_("compute.api::rescue %s"), readable)
+ return faults.Fault(exc.HTTPUnprocessableEntity())
+ return exc.HTTPAccepted()
+
+ def unrescue(self, req, id):
+ """Permit users to unrescue the server."""
+ context = req.environ["nova.context"]
+ try:
+ self.compute_api.unrescue(context, id)
+ except:
+ readable = traceback.format_exc()
+ LOG.exception(_("compute.api::unrescue %s"), readable)
+ return faults.Fault(exc.HTTPUnprocessableEntity())
+ return exc.HTTPAccepted()
+
def get_ajax_console(self, req, id):
""" Returns a url to an instance's ajaxterm console. """
try: