This diablo code TODO appears to be the culprit. It was changed in essex. I will test in essex, but this bug might be considered for diablo backport.
def _action_reboot(self, input_dict, req, id):
if 'reboot' in input_dict and 'type' in input_dict['reboot']: valid_reboot_types = ['HARD', 'SOFT'] reboot_type = input_dict['reboot']['type'].upper()
if not valid_reboot_types.count(reboot_type):
msg = _("Argument 'type' for reboot is not HARD or SOFT") LOG.exception(msg) raise exc.HTTPBadRequest(explanation=msg)
else:
msg = _("Missing argument 'type' for reboot") LOG.exception(msg)
raise exc.HTTPBadRequest(explanation=msg)
try:
# TODO(gundlach): pass reboot_type, support soft reboot in
# virt driver self.compute_api.reboot(req.environ['nova.context'], id)
except Exception, e: LOG.exception(_("Error in reboot %s"), e)
raise exc.HTTPUnprocessableEntity()
return webob.Response(status_int=202)
This diablo code TODO appears to be the culprit. It was changed in essex. I will test in essex, but this bug might be considered for diablo backport.
def _action_ reboot( self, input_dict, req, id): 'reboot' ]:
valid_ reboot_ types = ['HARD', 'SOFT']
reboot_ type = input_dict[ 'reboot' ]['type' ].upper( ) types.count( reboot_ type):
LOG.exception (msg)
raise exc.HTTPBadRequ est(explanation =msg)
LOG. exception( msg) est(explanation =msg)
self. compute_ api.reboot( req.environ[ 'nova.context' ], id)
LOG. exception( _("Error in reboot %s"), e) ssableEntity( ) status_ int=202)
if 'reboot' in input_dict and 'type' in input_dict[
if not valid_reboot_
msg = _("Argument 'type' for reboot is not HARD or SOFT")
else:
msg = _("Missing argument 'type' for reboot")
raise exc.HTTPBadRequ
try:
# TODO(gundlach): pass reboot_type, support soft reboot in
# virt driver
except Exception, e:
raise exc.HTTPUnproce
return webob.Response(