Reviewed: https://review.openstack.org/504260 Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=8ac7be36bedaf0dd3467efc5b5bffdb365b8231b Submitter: Jenkins Branch: master
commit 8ac7be36bedaf0dd3467efc5b5bffdb365b8231b Author: Matt Riedemann <[email protected]> Date: Thu Sep 14 18:04:20 2017 -0400 neutron: handle binding:profile=None during migration The port binding:profile handling in _setup_migration_port_profile and _update_port_binding_for_instance is not handling when the binding:profile is set on the port but the value is None, which results in a NoneType error. Neutron API does not define a format for this field, or whether or not it will be specified on the port, and if so, if it's an empty dict or None, so let's be safe and make sure we handle None. Because of how many places we access the binding:profile on a port, this adds a common helper utility. Co-Authored-By: Eric M Gonzalez <[email protected]> Change-Id: I564bac88fad6cc47ccbf7425b1ab39899fdc1c2e Closes-Bug: #1717365 ** Changed in: nova Status: In Progress => Fix Released ** Changed in: nova/pike Status: Confirmed => In Progress ** Changed in: nova/pike Assignee: (unassigned) => Matt Riedemann (mriedem) -- 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/1717365 Title: binding:profile is None breaks migration Status in OpenStack Compute (nova): Fix Released Status in OpenStack Compute (nova) newton series: Confirmed Status in OpenStack Compute (nova) ocata series: In Progress Status in OpenStack Compute (nova) pike series: In Progress Bug description: Nova Newton (commit: d8b30c3772 as pulled in with OSA 14.2.7) During a live-migration, setup_networks_at_host tries to lookup some information from the network port. at https://review.openstack.org/#/c/275073/45/nova/network/neutronv2/api.py@289 If the port has None assigned to "binding:profile" further code breaks with a TypeError assigning to NoneType. mriedem suggested catching this with an extended .get(): 16:27 < mriedem> since the port_profile should default to {}, UNLESS the port has binding:profile=None... 16:27 < mriedem> it should be: port_profile = p.get(BINDING_PROFILE, {}) or {} To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1717365/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

