46
46
power_state.NOSTATE: 'build',
47
47
power_state.RUNNING: 'active',
48
48
power_state.BLOCKED: 'active',
49
power_state.PAUSED: 'suspended',
49
power_state.SUSPENDED: 'suspended',
50
power_state.PAUSED: 'error',
50
51
power_state.SHUTDOWN: 'active',
51
52
power_state.SHUTOFF: 'active',
52
53
power_state.CRASHED: 'error'}
182
183
self.compute_api.pause(ctxt, id)
184
185
readable = traceback.format_exc()
185
logging.error("Compute.api::pause %s", readable)
186
logging.error(_("Compute.api::pause %s"), readable)
186
187
return faults.Fault(exc.HTTPUnprocessableEntity())
187
188
return exc.HTTPAccepted()
193
194
self.compute_api.unpause(ctxt, id)
195
196
readable = traceback.format_exc()
196
logging.error("Compute.api::unpause %s", readable)
197
logging.error(_("Compute.api::unpause %s"), readable)
198
return faults.Fault(exc.HTTPUnprocessableEntity())
199
return exc.HTTPAccepted()
201
def suspend(self, req, id):
202
"""permit admins to suspend the server"""
203
context = req.environ['nova.context']
205
self.compute_api.suspend(context, id)
207
readable = traceback.format_exc()
208
logging.error(_("compute.api::suspend %s"), readable)
209
return faults.Fault(exc.HTTPUnprocessableEntity())
210
return exc.HTTPAccepted()
212
def resume(self, req, id):
213
"""permit admins to resume the server from suspend"""
214
context = req.environ['nova.context']
216
self.compute_api.resume(context, id)
218
readable = traceback.format_exc()
219
logging.error(_("compute.api::resume %s"), readable)
197
220
return faults.Fault(exc.HTTPUnprocessableEntity())
198
221
return exc.HTTPAccepted()