Move scheduler_topic into nova.scheduler.rpcapi

The scheduler_topic opt is only used in nova.scheduler.rpcapi and it
makes sense for the RPC module to "own" the topic option.

blueprint: scope-config-opts
Change-Id: Iafb8705eb716b650b63e060fe1dd36666bcee812
CLI for bare-metal database sync.

Part 3 of 6: blueprint general-bare-metal-provisioning-framework.

Change-Id: Ia19ce00edb84aa924c2ab2c9c2217f6b49073d69
Co-authored-by: Mikyung Kang <mkkang@isi.edu>
Co-authored-by: David Kang <dkang@isi.edu>
Co-authored-by: Ken Igarashi <igarashik@nttdocomo.co.jp>
Co-authored-by: Arata Notsu <notsu@virtualtech.jp>
Merge "Added sample tests to QuotaClasses API."
Merge "Sync rpc and notifier from oslo-incubator."
Merge "Add two tests for resize action in ServerActionsControllerTest."
Adds a new tenant-centric network extension

Implements: blueprint tenant-networks

Adds a new API extension that supports a more tenant-centric model for
interacting with isolated networks. Additionally, the patch renames the
existing networks extension as os-admin-networks to more fully fit the
self-described implementation. Two new novaclient extensions and a
novaclient change accompany this patch.

DocImpact

Change-Id: Ib90a65c0a92445f86e930fab88ab4495aefff7c7
Fix baremetal VIFDriver

Commit Id287f7e661 removed the nova/virt/vif.py file and the VIFDriver
base class, and erroneously stated in its commit message that baremetal
driver did not use it. This patch repeats the work of that earlier patch
by removing the import of nova.virt.vif from baremetal/vif_driver.py.

blueprint general-bare-metal-provisioning-framework

Change-Id: Ifac9510a72a028dc5d3574148f3c4a6410b1d249
Merge "powervm: Implement snapshot for local volumes"
Merge "CLI for bare-metal database sync."
xenapi: Remove dead code, moves, tests

Related to blueprint xenapi-volume-drivers

Some changes to improve the quality and readability of the existing
code, and to help introducing a clean volume driver concept.

remove:
    dead sm code
move:
    volumeops.introduce_sr -> volume_utils.introduce_sr_unless_present
    volumeops.forget_sr -> volume_utils.forget_sr_if_present
rename:
    volumeops.connect_volume -> _connect_volume
    (to communicate, that it is an internal method)
add tests:
    volumeops.disconnect_volume

Change-Id: Ie5457c3d7823ed77f7ad90252d0c16558e8cfb4f
Refresh instance metadata in-place

For some reason that isn't entirely clear to me, the attempt to update
instance metadata in _instance_update() results in a stale sqlalchemy
object state. This is a similar issue to the one fixed in commit:

  9fdf7552779d518af9cda4e366bf81fddb0cb6f2

For some reason, session.refresh() doesn't work for instance['metadata']
in the same way, which also raises suspicion that perhaps it's not the
right fix for system_metadata either.

This patch adds an _instance_update_metadata_in_place() method that
updates the actual instance['metadata'] list _and_ the database,
mirroring the high-level behavior of instance_metadata_update(), but
without requiring us to refresh or re-fetch the metadata or the
whole instance (as a workaround).

Fixes bug 1096653

Change-Id: Ic5a205631b1b7dce3744960ed4201dcc7b4b2ae6
Added sample tests to FlavorRxtx API.

Partially implements blueprint nova-api-samples
Fixes bug 1091743

Change-Id: I400e627cfc499b3e7bb1c88d6ce7d24b4d222b84
Fix serialization in impl_zmq.

Sync rpc from oslo-incubator to include some fixes to impl_zmq:

    https://review.openstack.org/#/c/18913/

Change-Id: I5f5c157e81026c108df04bd385776a9985d4a497
Merge "Conductor instance_get_all replaces _by_filters"
Merge "Support cinderclient http retries."
Merge "Add exception handler for previous deleted flavor."
add to driver option to keep disks when instance destroyed

Adding delete_disks flag to destroy instance method.
In case it's false the driver keeps disks.
*required for blueprint rebuild-for-ha

DocImpact

Change-Id: I38c7833114d8414dff831c9cc0c04c4610dbd33a
Co-authored-by: Oshrit Feder <oshritf@il.ibm.com>
Add to libvirt driver instance_on_disk method

Added method to driver layer to validate that instance directory
accessible from the host.

part of libvirt driver support for blueprint rebuild-for-ha

DocImpact

Change-Id: I9c6a3aec99f61bd4fb6bc4b4264771e077aae96a
Co-authored-by: Oshrit Feder <oshritf@il.ibm.com>
Adds to manager init_host validation for instances location

While the compute was down the instances running on it could be
evacuated to another host. The method checks that instance host
identical to current host. Otherwise destroying it.

part of blueprint rebuild-for-ha

DocImpact

Change-Id: Ic90df2b2887ee203e6d8261084e3f97773c5d81c
Co-authored-by: Oshrit Feder <oshritf@il.ibm.com>
Merge "Refresh instance metadata in-place"