nova/nova/conf
Matt Riedemann bfe89fec46 Wait for network-vif-plugged before starting live migration
This adds a new config option which is read on the source host
during pre_live_migration which can be used to determine
if it should wait for a "network-vif-plugged" event due to VIFs
being plugged on the destination host. This helps us to
avoid the guest transfer at all if vif plugging failed on the dest
host, which we just wouldn't find out until post live migration
and then we have to rollback.

The option is disabled by default for backward compatibility and
also because certain networking backends, like OpenDaylight, are
known to not send network-vif-plugged events unless the port host
binding information changes, which for live migration doesn't happen
until after the guest is transferred to the destination host.

Related to blueprint neutron-new-port-binding-api
Related-Bug: #1786346

NOTE(danms): Stable-only changes to this patch from master include
removing the RPC-related communication from the destination
to the source node. As such, the new option is read on the source
node so the conf option help and release note are updated. This is
OK before Rocky since we don't claim support to live migrate
between different networking backends (vif types), so operators
would need to set the option universally, or at least have host
aggregates in place if they are using different network types.

Conflicts:
        nova/conf/compute.py
        nova/tests/unit/objects/test_migrate_data.py

Change-Id: I0f3ab6604d8b79bdb75cf67571e359cfecc039d8
(cherry picked from commit 5aadff75c3)
2018-08-22 12:34:54 -04:00
..
__init__.py vgpu: add enabled white list 2017-11-21 06:43:52 -08:00
api.py Merge "conf: Validate '[api] vendordata_providers' options" 2018-02-01 23:55:53 +00:00
availability_zone.py Fix default_availability_zone docs 2017-05-31 14:24:07 +01:00
base.py Deprecate CONF.monkey_patch 2017-08-25 18:47:47 -04:00
cache.py conf: Make list->dict conversion more specific 2016-09-14 12:10:29 +00:00
cells.py Deprecate cells v1 2017-08-01 11:07:55 -04:00
cinder.py Fix bug case by none token context 2018-01-24 20:53:50 -05:00
compute.py Wait for network-vif-plugged before starting live migration 2018-08-22 12:34:54 -04:00
conductor.py conf: Remove deprecated service manager opts 2016-12-05 23:28:49 +08:00
configdrive.py Config options consistency for configdrive.py 2016-07-26 21:56:36 +00:00
console.py conf: remove *_topic config opts 2017-07-17 21:27:02 -07:00
consoleauth.py Add an additional description for 'token_ttl' 2018-01-09 13:33:41 +09:00
crypto.py Fix consistency in crypto conf 2016-08-12 01:06:16 +00:00
database.py Deprecate idle_timeout in api_database 2017-09-25 15:22:21 +00:00
devices.py VGPU: Modify the example of vgpu white_list set 2018-02-09 15:24:25 +00:00
ephemeral_storage.py Parse algorithm from cipher for ephemeral disk encryption 2017-04-26 11:19:43 -04:00
flavors.py Add deprecated_since parameter 2016-09-21 17:37:12 +01:00
glance.py Merge "Deprecate allowed_direct_url_schemes and nova.image.download.modules" 2018-01-27 00:15:49 +00:00
guestfs.py Fix OpenStack capitalization 2018-01-07 12:38:39 +01:00
hyperv.py conf: hyperv: fix a comment typo 2018-01-05 15:30:35 +08:00
ironic.py nova.utils.get_ksa_adapter() 2017-10-09 08:24:40 -05:00
key_manager.py Remove deprecated keymgr code 2017-09-11 15:48:30 -04:00
keystone.py Use ksa adapter for keystone conf & requests 2017-11-30 22:33:01 +00:00
libvirt.py [Stable Only] Add amd-ssbd and amd-no-ssb CPU flags 2018-06-19 07:01:39 -07:00
mks.py Use URIOpt 2017-07-18 00:38:24 +00:00
netconf.py conf: Move additional nova-net opts to 'network' 2017-10-26 14:01:18 +00:00
network.py conf: Move additional nova-net opts to 'network' 2017-10-26 14:01:18 +00:00
neutron.py Use ksa adapter for neutron client 2017-11-21 16:31:38 +00:00
notifications.py Document how to disable notifications 2018-04-17 14:09:04 +00:00
novnc.py Conf options: updated flags for novnc 2016-08-01 15:00:07 -05:00
opts.py conf: Make list->dict conversion more specific 2016-09-14 12:10:29 +00:00
osapi_v21.py Remove config opts for extension black/white list 2017-04-06 08:47:06 +00:00
paths.py Config options: base path configuration 2016-08-05 14:34:45 +01:00
pci.py Add PCI NUMA policies 2017-12-22 15:59:54 +00:00
placement.py [placement] Enable limiting GET /allocation_candidates 2017-12-20 20:08:39 +00:00
quota.py Count server groups to check quota 2017-06-08 00:35:37 +00:00
rdp.py Use URIOpt 2017-07-18 00:38:24 +00:00
remote_debug.py Use HostAddressOpt for opts that accept IP and hostnames 2017-04-03 16:40:36 +05:30
scheduler.py Change consecutive build failure limit to a weigher 2018-06-07 07:17:51 -07:00
serial_console.py Fix nova-serialproxy when registering cli options 2016-12-07 08:51:28 -05:00
service.py conf: Remove config option compute_ manager 2016-12-08 20:05:52 +08:00
service_token.py Service token is not experimental 2017-11-21 17:36:32 +00:00
servicegroup.py Improve consistency in servicegroup opts 2016-07-28 13:43:51 -05:00
spice.py Use HostAddressOpt for opts that accept IP and hostnames 2017-04-03 16:40:36 +05:30
upgrade_levels.py Improve help text for upgrade_levels options 2016-10-10 15:45:54 +00:00
utils.py Get auth from context for glance endpoint 2017-11-21 10:26:42 -06:00
vendordata.py Use a service account to make vendordata requests. 2017-01-26 13:39:46 +00:00
vmware.py VMware: serial console log (completed) 2017-11-17 16:10:26 +02:00
vnc.py Fix accumulated nits 2018-01-16 14:54:04 +00:00
workarounds.py Change livesnapshot to true by default 2017-09-22 12:37:58 -04:00
wsgi.py deprecate ``wsgi_log_format`` config variable 2017-07-26 21:14:44 +00:00
xenserver.py conf: Remove deprecated 'remap_vbd_dev' option 2017-12-27 11:23:31 +00:00
xvp.py flake8: Specify 'nova' as name of app 2017-03-16 13:48:51 -07:00