yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #72196
[Bug 1758453] Re: Port binding 'migrating_to' attribute needlessly updated in post-live-migration for neutron
Reviewed: https://review.openstack.org/556332
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=8d68f2323040908008fcd023a40f7fadf5641e59
Submitter: Zuul
Branch: master
commit 8d68f2323040908008fcd023a40f7fadf5641e59
Author: Matt Riedemann <mriedem.os@xxxxxxxxx>
Date: Sun Mar 25 16:56:19 2018 -0400
Avoid unnecessary port update during live migration
The ComputeManager.pre_live_migration method, which runs on the
destination host during live migration, calls setup_networks_on_host
with the destination host which causes the "migrating_to" attribute
to get set to the destination host in the port binding profile. This
is to initiate setting up floating IP information on the destination
host for DVR.
The ComputeManager.post_live_migration_at_destination method calls the
same method from the destination host, so at this point the "migrating_to"
attribute is already set to the destination host in the port binding
profile from pre_live_migration and we make unnecessary port update calls
to Neutron for each port attached to the instance.
This change simply checks to see if the "migrating_to" attribute is
already set to the given host and if so, skips the port update call.
Change-Id: I8b2ffd94c5ff0881d0df4efdde9be938888c16d7
Closes-Bug: #1758453
** 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/1758453
Title:
Port binding 'migrating_to' attribute needlessly updated in post-live-
migration for neutron
Status in OpenStack Compute (nova):
Fix Released
Bug description:
During live migration, the setup_networks_on_host neutronv2 API method
checks to see if the provided host is different from the existing
instance.host and if so, it knows the instance is being migrated and
sets the 'migrating_to' attribute to the new host in the ports binding
profile:
https://github.com/openstack/nova/blob/55b22a54e65728712670c5dde5a833f5349e5b2f/nova/network/neutronv2/api.py#L351
https://github.com/openstack/nova/blob/55b22a54e65728712670c5dde5a833f5349e5b2f/nova/network/neutronv2/api.py#L322
And then updates the port.
That happens in pre_live_migration which runs on the dest host:
https://github.com/openstack/nova/blob/55b22a54e65728712670c5dde5a833f5349e5b2f/nova/compute/manager.py#L6007
And it also happens again in post_live_migration_at_destination which
runs on the destination host:
https://github.com/openstack/nova/blob/55b22a54e65728712670c5dde5a833f5349e5b2f/nova/compute/manager.py#L6382
Since the neutronv2 API code doesn't check to see if the
'migrating_to' attribute is already set:
https://github.com/openstack/nova/blob/55b22a54e65728712670c5dde5a833f5349e5b2f/nova/network/neutronv2/api.py#L322
It does a redundant PUT (port update) for no actual change.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1758453/+subscriptions
References