← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2058928] [NEW] instance action events are b0rked AF

 

Public bug reported:

Long version instance actions are ment to have a start and ending

ideally one of Success or failure with the option to have intermediate
events for complex operation like resize.


For at least interface attach and detach that does not happen Possible all instance actions that are casts…

We are sending notificaitons for atttach/detach start, end and failure referencing the instance action type in the notification. i.e. interface_attach.start interface_attach.end
But we are not recording any finish events which means today there is no non-racy way to poll the detach action for its without resorting to instance show and partsing the address field to see the ip go away…
note that that is also cached so that wont happen until the network info cache for the instance is updated and that only works for event that have visible sideffect observable on the instance object.

We shoudl fix this for all instance actions and add functional test
coverage and assert when they complete, with error or success,  that we
have actually updated the db with the event completion.

Today in the functional tests we use the notifications or filed on the
server object to know if it is complete but never check the instance
action events in the db.

We have test helper already to poll for the completion fo instance
action events (IAEs)
https://github.com/openstack/nova/blob/master/nova/tests/functional/integrated_helpers.py#L173-L206

But we dont use them for volume detach for example https://github.com/openstack/nova/blob/master/nova/tests/functional/integrated_helpers.py#L223-L238 because we dont complete the action by sending the event. We have test helpers for most of the instance actions in this file https://github.com/openstack/nova/blob/master/nova/tests/functional/integrated_helpers.py#L223-L238 and they all either wait for state changes on the server or notificaiotns to know when the action has completed because we are missing the
Code to complete the event…

** Affects: nova
     Importance: Undecided
         Status: New


** Tags: api compute

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

Title:
  instance action events are b0rked AF

Status in OpenStack Compute (nova):
  New

Bug description:
  Long version instance actions are ment to have a start and ending

  ideally one of Success or failure with the option to have intermediate
  events for complex operation like resize.

  
  For at least interface attach and detach that does not happen Possible all instance actions that are casts…

  We are sending notificaitons for atttach/detach start, end and failure referencing the instance action type in the notification. i.e. interface_attach.start interface_attach.end
  But we are not recording any finish events which means today there is no non-racy way to poll the detach action for its without resorting to instance show and partsing the address field to see the ip go away…
  note that that is also cached so that wont happen until the network info cache for the instance is updated and that only works for event that have visible sideffect observable on the instance object.

  We shoudl fix this for all instance actions and add functional test
  coverage and assert when they complete, with error or success,  that
  we have actually updated the db with the event completion.

  Today in the functional tests we use the notifications or filed on the
  server object to know if it is complete but never check the instance
  action events in the db.

  We have test helper already to poll for the completion fo instance
  action events (IAEs)
  https://github.com/openstack/nova/blob/master/nova/tests/functional/integrated_helpers.py#L173-L206

  But we dont use them for volume detach for example https://github.com/openstack/nova/blob/master/nova/tests/functional/integrated_helpers.py#L223-L238 because we dont complete the action by sending the event. We have test helpers for most of the instance actions in this file https://github.com/openstack/nova/blob/master/nova/tests/functional/integrated_helpers.py#L223-L238 and they all either wait for state changes on the server or notificaiotns to know when the action has completed because we are missing the
  Code to complete the event…

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