diff --git a/heat/api/openstack/v1/actions.py b/heat/api/openstack/v1/actions.py index fb7f90840..52cea0110 100644 --- a/heat/api/openstack/v1/actions.py +++ b/heat/api/openstack/v1/actions.py @@ -27,7 +27,7 @@ class ActionController(object): # Define request scope (must match what is in policy.json) REQUEST_SCOPE = 'actions' - ACTIONS = (SUSPEND, RESUME) = ('suspend', 'resume') + ACTIONS = (SUSPEND, RESUME, CHECK) = ('suspend', 'resume', 'check') def __init__(self, options): self.options = options @@ -54,6 +54,8 @@ class ActionController(object): self.rpc_client.stack_suspend(req.context, identity) elif ac == self.RESUME: self.rpc_client.stack_resume(req.context, identity) + elif ac == self.CHECK: + self.rpc_client.stack_check(req.context, identity) else: raise exc.HTTPInternalServerError(_("Unexpected action %s") % ac) diff --git a/heat/rpc/client.py b/heat/rpc/client.py index 06b9fd985..33c2125e8 100644 --- a/heat/rpc/client.py +++ b/heat/rpc/client.py @@ -342,6 +342,10 @@ class EngineClient(object): return self.call(ctxt, self.make_msg('stack_resume', stack_identity=stack_identity)) + def stack_check(self, ctxt, stack_identity): + return self.call(ctxt, self.make_msg('stack_check', + stack_identity=stack_identity)) + def metadata_update(self, ctxt, stack_identity, resource_name, metadata): """ Update the metadata for the given resource.