nova/nova
Matt Riedemann 5aadff75c3 Wait for network-vif-plugged before starting live migration
This adds a new config option which is read on the destination host
during pre_live_migration and the value is returned back to the
source host, which can be used to determine, from the source host,
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.

We could arguably avoid the changes to the live migrate data
versioned object and just assume the same networking backend is
used within each cell, but this does allow the deployer to have
the flexibility of live migrating between different network
backends (eventually anyway). The ability to live migrate between
different VIF types is being worked on as part of blueprint
neutron-new-port-binding-api.

Related to blueprint neutron-new-port-binding-api

Change-Id: I0f3ab6604d8b79bdb75cf67571e359cfecc039d8
2018-06-19 18:21:29 -04:00
..
api Merge "Return all nested providers in tree" 2018-06-19 19:45:41 +00:00
cells Add instance action record for snapshot instances 2017-12-11 17:46:38 +08:00
cmd Enforce placement minimum in nova.cmd.status 2018-06-15 21:04:50 +00:00
common
compute Wait for network-vif-plugged before starting live migration 2018-06-19 18:21:29 -04:00
conductor Use instance project/user when creating RequestSpec during resize reschedule 2018-05-30 12:07:53 -04:00
conf Wait for network-vif-plugged before starting live migration 2018-06-19 18:21:29 -04:00
console Merge "Convert xenapi's xvp console to processutils." 2018-05-09 04:57:55 +00:00
consoleauth
db Optional separate database for placement API 2018-06-15 13:01:50 +01:00
hacking Implement granular policy rules for placement 2018-05-17 11:12:16 -04:00
image Implement certificate_utils 2018-06-12 14:44:32 -04:00
ipv6
keymgr
locale Imported Translations from Zanata 2018-04-11 06:17:52 +00:00
network network: update pci request spec to handle trusted tags 2018-05-31 13:55:40 -04:00
notifications Add full traceback to ExceptionPayload in versioned notifications 2018-06-19 16:46:46 +08:00
objects Wait for network-vif-plugged before starting live migration 2018-06-19 18:21:29 -04:00
pci network: update pci request spec to handle trusted tags 2018-05-31 13:55:40 -04:00
policies Add policy rule to block image-backed servers with 0 root disk flavor 2018-06-15 17:10:11 -04:00
privsep Merge "Revert "Re-using the code of os brick cinder"" 2018-06-19 02:08:35 +00:00
scheduler Merge "Only run placement request filters when Placement will be called" 2018-06-19 10:30:12 +00:00
servicegroup
tests Wait for network-vif-plugged before starting live migration 2018-06-19 18:21:29 -04:00
virt Merge "libvirt: remove unused get_ovs_interfaceid()" 2018-06-19 10:53:01 +00:00
vnc
volume Remove unnecessary parameters from create volume API 2018-06-12 12:06:41 +05:30
__init__.py
availability_zones.py
baserpc.py
block_device.py Add uuid column to BlockDeviceMapping 2017-12-17 14:28:35 +00:00
cache_utils.py
config.py
context.py Remove RequestContext.instance_lock_checked 2018-04-11 11:46:19 -04:00
crypto.py Convert certificate generation to processutils. 2018-05-02 19:18:41 +10:00
debugger.py
exception.py Add policy rule to block image-backed servers with 0 root disk flavor 2018-06-15 17:10:11 -04:00
exception_wrapper.py Add full traceback to ExceptionPayload in versioned notifications 2018-06-19 16:46:46 +08:00
filters.py
hooks.py
i18n.py correct referenced url in comments 2018-01-18 09:16:37 +08:00
loadables.py
manager.py conf: Remove 'db_driver' config opt 2018-03-16 17:23:16 +00:00
policy.py
profiler.py
quota.py Restrict CONF.quota.driver to DB and noop quota drivers 2018-06-01 15:44:52 +00:00
rc_fields.py Make ResourceClass.normalize_name handle sharp S 2018-04-10 12:24:40 -05:00
rpc.py Use oslo.messaging per-call monitoring 2018-06-11 14:44:10 -07:00
safe_utils.py
service.py Deprecate running API services under eventlet 2018-05-16 03:48:32 +00:00
service_auth.py Fix NoneType error when [service_user] is misconfigured 2017-11-28 12:22:30 -06:00
test.py Optional separate database for placement API 2018-06-15 13:01:50 +01:00
utils.py Remove deprecated monkey_patch config options 2018-05-16 11:40:41 -04:00
version.py
weights.py
wsgi.py Refactor WSGI apps and utils to limit imports 2018-03-06 22:05:12 +00:00