← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1250523] Re: Error Reasons being dropped in generic handler of _migrate_live

 

** Changed in: nova
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1250523

Title:
  Error Reasons being dropped in generic handler of _migrate_live

Status in OpenStack Compute (Nova):
  Fix Released

Bug description:
  The reason detail of the Errors: MigrationPreCheckError, NoValidHost,
  InvalidSharedStorage and InvalidLocalStorage are being dropped by the
  generic error handler of the _migrate_live function in
  nova/api/openstack/compute/contrib/admin_actions.py

  The class exceptions of MigrationPreCheckError, NoValidHost, InvalidSharedStorage and InvalidLocalStorage are defined as:
  class MigrationPreCheckError(MigrationError):
      msg_fmt = _("Migration pre-check error") + ": %(reason)s"
  class NoValidHost(NovaException):
      msg_fmt = _("No valid host was found. %(reason)s")
  class InvalidSharedStorage(NovaException):
      msg_fmt = _("%(path)s is not on shared storage: %(reason)s")
  class InvalidLocalStorage(NovaException):
      msg_fmt = _("%(path)s is not on local storage: %(reason)s")

  When errors are raised they are raised with a formatted reason message:
  e.g. 'Unable to migrate %(instance_uuid)s: '
                          'Disk of instance is too large(available'
                          ' on destination host:%(available)s '
                          '< need:%(necessary)s)').....

  The generic Exception handler in _migrate_live does not include the reason in the error raised - so the detail does not get back up to the client
  except Exception:
              if host is None:
                  msg = _("Live migration of instance %s to another host "
                          "failed") % id
              else:
                  msg = _("Live migration of instance %(id)s to host %(host)s "
                          "failed") % {'id': id, 'host': host}
              LOG.exception(msg)
              # Return messages from scheduler
              raise exc.HTTPBadRequest(explanation=msg)

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1250523/+subscriptions