Skip none value attributes for ec2 image bdm output.

Fix crash in _format_block_device_mapping when there are None values
for formatting attributes in the mapping.

Change-Id: I0ebdb844d75cdf1580cc88e1ff40fc21aff96f21
Closes-Bug: #1323403
Raises NotImplementedError for LVM migration.

Currently migration of an LVM backed instance results in a new
instance being launched on the destination node, but the instance
disk is neither copied to the destination nor deleted on the
origin node. The problem is addressed by raising a NotImplementedError.

Closes-Bug: #1270305
Closes-Bug: #1245595
Closes-Bug: #1241866
Change-Id: I8010230b1aa5ddc322d0c93dd916b7700c25ab81
DocImpact
Makes versions API output deterministic

Makes the order of available versions that the API version
information is returned to clients deterministic. This is
necessary to ensure that with PYTHONHASHSEED to fixed to 0 the
unittests will consistently pass.

Change-Id: I5b7f6b7f061424adc2263c485562e72c7cc29255
Partial-Bug: #1350287
Add a missing instance=instance in compute/mgr

This can be logged without context at the moment, so we should really
include the instance parameter as normal.

Change-Id: I6062f32ae906d958e808c8f1574e0c16b687d856
VMware: Remove ds_util.build_datastore_path()

Convert all remaining users of build_datastore_path to use the
DatastorePath class, and remove build_datastore_path() and its tests.

Change-Id: I73a166a48c0038743213e4feaa95834f9ebc8fbf
VMware: test_driver_api: Use local variables in closures

Some closures were unecessarily storing constants used by closures in
the test object. This change converts them to use local variables
instead. Values which are modified remain in the test object.

Additionally, 1 unused value is removed.

TrivialFix

Change-Id: I0164bf23f4d51505871cee8db170b73534410c4a
Convert last use of direct database instance fetching from network api

This is the last db.instance_*() call in network/api.py. This patch
converts it to use the Instance object.

Related to blueprint compute-manager-objects-juno

Change-Id: Id7897da6daa3d76a95403466be17f9eaef8b7850
Convert network/api.py uses of vif database functions to objects

This makes network/api.py use the VirtualInterface object instead of direct
database queries. This is the last direct/obvious use of nova.db.* in the
network api.

Related to blueprint compute-manager-objects-juno

Change-Id: Ia3eb1694f3708aeceb4c77876a210a7cb6532be1
Fix rebuild with cells

When rebuild_instances switched to a compute task it broke
cells since the cast was dropped as it didn't match.

This change moves the rebuild_instances to conductor and
also adds some unit tests checks on the compute
task integration point.

Change-Id: Ic1c575fbca72f1cd34b1dbc6f82023e5b2b392e2
Closes-Bug: 1348642
Neutron v2 API: fix get_floating_ip_pools

Commit 7254f9b9dfbadadeb3aeda5d02bf37bfeb65e72d changed this method
in nova.network.api in a way that it now returns simply a list of
floating ip pool names, rather a list of dicts in the form

{'name': 'pool_name'}

The implementation of get_floating_ip_pools for neutron needs to
be changed accordingly. Otherwise nova's floating ip extension
will return a dict as floating ip pool names when neutron is enabled.

Change-Id: I27001c9f17dad4dc4ca8cd032e689736553d8225
Closes-Bug: #1355882
Merge "Convert last use of direct database instance fetching from network api"
Merge "Convert network/api.py uses of vif database functions to objects"
VMware: fix crash when VC driver boots

Commit 1deb31f85a8f5d1e261b2cf1eddc537a5da7f60b caused the driver to break.
This adds the missing method.

Change-Id: Iaf7e33a868724efdcb13fdd9ba1c74b92d2e6210
Closes-bug: #1355875
Merge "Fix rebuild with cells"
Merge "Makes versions API output deterministic"
Merge "Raises NotImplementedError for LVM migration."
Merge "Add a missing instance=instance in compute/mgr"
Merge "VMware: fix crash when VC driver boots"
Merge "Skip none value attributes for ec2 image bdm output."
Merge "VMware: Remove ds_util.build_datastore_path()"