Reviewed: https://review.openstack.org/558059 Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=d9369d034cb0694def2510885ddfb9b039cbad49 Submitter: Zuul Branch: master
commit d9369d034cb0694def2510885ddfb9b039cbad49 Author: Matt Riedemann <mriedem...@gmail.com> Date: Sat Mar 31 10:28:29 2018 -0400 Fix cancel_all_events event name parsing The cancel_all_events function was incorrectly assuming that event tags didn't have dashes in them, but they all do since they are either port or volume IDs, which are UUIDs. Instead of just storing our event data indexed by the composite event key, we should just store the name and tag distinctly so that there is no question about how to dissect the two from the key later. This is all internal record-keeping inside of the compute manager, so we can change it to whatever we want. This includes a slight change to the internal virtapi interface for wait_for_instance_event(), which removes the ability to pass composite event keys as strings instead of (name, tag) tuples. In reality, none of the virt code was using the key string format, so this just cleans up a few tests that were. It makes that interface less ambiguous, which is good anyway. Change-Id: I15f041e820c2dabe82e8e25bf77f9cc86330a76a Closes-Bug: #1760303 ** Changed in: nova Status: In Progress => 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/1760303 Title: ComputeManager.cleanup_host fails when there are waiting events: ValueError: Field value network-vif-plugged-ce531f90-199f-48c0-816c is invalid Status in OpenStack Compute (nova): Fix Released Status in OpenStack Compute (nova) ocata series: Triaged Status in OpenStack Compute (nova) pike series: Triaged Status in OpenStack Compute (nova) queens series: Triaged Bug description: The parsing in cancel_all_events() fails to account for names such as: network-vif-plugged-ce531f90-199f-48c0-816c https://github.com/openstack/nova/blob/167023b5074c7cb241b33767d76a116ec95d652c/nova/compute/manager.py#L406 Which can be constructed when registering the event using a tuple of the event name and tag: https://github.com/openstack/nova/blob/167023b5074c7cb241b33767d76a116ec95d652c/nova/compute/manager.py#L460-L463 https://github.com/openstack/nova/blob/167023b5074c7cb241b33767d76a116ec95d652c/nova/objects/external_event.py#L51 So we almost need something like that make_key function but more like parse_key where using the known EVENT_NAMES we can split the event name to get the name and tag. To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1760303/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp