Use `versionutils.is_compatible` for Dom0 plugin

Related-Oslo-Commit: d7d74a752e34d5249fa47c8e8252da491d46012a
Change-Id: Iffb19f186fe2b239361fc342de0042acfa5e098d
Fixes Hyper-V snapshot spawning issue

In Hyper-V, snapshoting an instance and then spawning a new
one using the resulted snapshot image with the same flavor,
will result an Hyper-V Exception.

Hyper-V will get the request to resize the base image to it's
actual size, leading to an error.

The reason is that the logic of the resize_vhd method has been
changed, as it is meant to resize images to the flavor size minus
the image metadata size, thus it's maximum internal size. For this
reason, the way to decide whether the root image should be resized
or not must also be changed.

So, instead of comparing the root image and base image sizes,
we should compare their maximum internal sizes.

Closes-Bug: #1234759

Change-Id: I83d2df76b726d705cedc52a8309a2be7037d6a79
Update version aliases for rpc version control

Now that Havana has been branched, add aliases for the rpc version
implemented by Havana.  These aliases can be used in the configuration
options for doing outbound rpc version control.

This is one of the items that should be done after every release, and
has been added to the new release checklist wiki page:

    https://wiki.openstack.org/wiki/Nova/ReleaseChecklist

DocImpact - 'havana' is now a valid value to provide to all of the
options in the [upgrade_levels] section of nova.conf.

Change-Id: Ifa0b3dcc00843ad3f045a450ceb0f47f0b843f98
graceful-shutdown: add graceful shutdown into compute

The following commit brings in oslo-incubator service.py which
includes calls to support graceful shutdown.  The common service
class has changed to handle signals and manage Services.  When
a signal is received the Services are stopped which in turn
waits on all child threads (Proxy callbacks) to complete.

The oslo-incubator commit hash that was used to update
nova was b5fba9e40d609d63b4dab9ca351f7e22e9d8b35b.

This allows long running commands to complete prior to killing
the process.  This change only works for SIGTERM and SIGINT
signals.

Unit test was added to verify parent stop method is called in
a shutdown condition.

Change-Id: I21a45862f491530523037632fd70c60cc0153c0a
Implements: blueprint graceful-shutdown
Merge "Use `versionutils.is_compatible` for Dom0 plugin"
Merge "Fixes Hyper-V snapshot spawning issue"
VMware: Fix ValueError unsupported format character in log message

Fixes a typo with format string in a log message.

Closes-bug: #1240292
Change-Id: Ia86859089351255cb974ed77b0c5f55a5e953b0e
Merge "VMware: Fix ValueError unsupported format character in log message"
Make cells 'flavorid' for resizes

Cells should use 'flavorid' (not 'id') for resizes.

bug 1241222

Change-Id: I57b997425f183f25d3ca032c7d8c35c1f49e3afc
Updated from global requirements

Change-Id: I98c312279426c2f95cefea67260afd1677a11184
Fail quickly if file injection for boot volume

Previously if the user attempted file injection on a booted volume it
would fail and retry several times, which slowed down the instance
spawning.  Instead of attempting file injection, fail quickly, and
log a warning

Fix bug 1188543

Change-Id: I264540de736c2bcb92567826fe5ba672e1244ba2
Merge "Make cells 'flavorid' for resizes"
Merge "Updated from global requirements"
Merge "Update version aliases for rpc version control"
xenapi: migrate multiple ephemeral disks

Current migrate does not move ephemeral disks. This change allows those
disks to be moved. Note there could be several ephemeral disks in the
case where there are ephemeral disks that would be too big for a single
VHD file, or split up to improve performance.

This change disables the ability to resize ephemeral disks. A later
patch will look at enabling resize-up for ephemeral disks. Currently,
during resize, the ephemeral disks are just dropped and re-recreated.

Implements blueprint xenapi-migrate-ephemeral-disks
Change-Id: I8d7d84b54d2a876a510c442bb11a1c64c35feb00
Merge "graceful-shutdown: add graceful shutdown into compute"
Merge "Fail quickly if file injection for boot volume"