← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1714235] [NEW] evacuate API does not restrict one from trying to evacuate to the source host

 

Public bug reported:

This is purely based on code inspection, but the compute API method
'evacuate' does not check if the specified host (if there was one) is
different from instance.host. It checks if the service is up on that
host, which could be down and you can still specify the instance.host.

Eventually the compute API will RPC cast to conductor task manager which
will fail with an RPC error trying to RPC cast to the
ComputeManager.rebuild_instance method on the compute service, which is
down.

The bug here is that instead of getting an obvious 400 error from the
API, you're left with not much for details when it fails. There should
be an instance action and finish event, but only the admin can see the
traceback in the event. Also, the instance.task_state would be left in
'rebuilding' state, and would require it to be reset to use the instance
again.

** Affects: nova
     Importance: Low
         Status: Confirmed


** Tags: api evacuate

** Changed in: nova
   Importance: Undecided => Low

** Changed in: nova
       Status: New => Confirmed

** Tags added: api evacuate

-- 
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/1714235

Title:
  evacuate API does not restrict one from trying to evacuate to the
  source host

Status in OpenStack Compute (nova):
  Confirmed

Bug description:
  This is purely based on code inspection, but the compute API method
  'evacuate' does not check if the specified host (if there was one) is
  different from instance.host. It checks if the service is up on that
  host, which could be down and you can still specify the instance.host.

  Eventually the compute API will RPC cast to conductor task manager
  which will fail with an RPC error trying to RPC cast to the
  ComputeManager.rebuild_instance method on the compute service, which
  is down.

  The bug here is that instead of getting an obvious 400 error from the
  API, you're left with not much for details when it fails. There should
  be an instance action and finish event, but only the admin can see the
  traceback in the event. Also, the instance.task_state would be left in
  'rebuilding' state, and would require it to be reset to use the
  instance again.

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


Follow ups