Merge "VMware: provide a coherent message to user when viewing console log"
Merge "Stylistic improvement of compute.api.API.update()"
Merge "Move live-migration control flow from scheduler to conductor"
Remove capabilities.enabled from test_host_filters

Update the unit tests to reflect the fact that capabilities will not be
returning enabled any more.  Leave capabilities.enabled in the json
filter tests, as even though capabilities.enabled isn't there the test
still checks the json filters functionality.

Part of bp no-compute-fanout-to-scheduler

Change-Id: Ia8d1dd1ac1ecf609586528f82d4c11650bb328c5
powervm: revert driver to pass for plug_vifs

Change Ieaf256a5c0f54804686318d6cbd5877a5003c9eb made the powervm driver
plug_vifs method raise NotImplementedError rather than pass, which is
what the hyper-v and vmware drivers do for plug_vifs. This results in
the compute manager failing to init the host because it's not catching
NotImplementedError from driver.plug_vifs.

This patch simply changes the powervm driver plug_vifs method back to
the old behavior (pass), but at least logs a debug message this time.

Closes-Bug: #1217586

Change-Id: Iafe87cbb9b3cf728a47cb9cc43151798fcbb780f
Merge "Make nbd reservation thread-safe"
Mock out action event calls in build instance test

action_event_start() and action_event_finish() get called during the
build instance tests and if we time out call()s in the fake RPC driver
when there are no consumers for a topic, then these tests will fail.

blueprint: oslo-messaging
Change-Id: Ib109fa9552dc6032b390c300723bb6cb72d62062
Stub out instance_update() in build instance tests

Change Ife6e5aef4fda46f74e2db7be1a09b210be397152 introduced an
instance_claim() which invokes an instance_update() RPC on conductor.
However, during tests no conductor is running and this RPC would have
happily returned None. If we if we time out call()s in the fake RPC
driver when there are no consumers for a topic, then these tests will
fail.

To avoid this, simply mock out the instance_update() conductor calls.

blueprint: oslo-messaging
Change-Id: Iea010d92eadaf15b3a9e339589170a26234b3142
Raise timeout in fake RPC if no consumers found

If you do a call() with e.g. the kombu driver, and there is no consumer
listening, then you will get a Timeout exception.

However, with the fake driver, we just silently return None in this
case. The oslo.messaging fake driver instead raises a Timeout and this
behaviour change turned up a tonne of issues with Nova's unit tests.

Make this change here too so that we can merge fixes for Nova's tests
before porting to oslo.messaging.

Note that although we also raise a Timeout in the case of cast(), but
cast() then just ignores the exception.

This commit just syncs this change from oslo-incubator.

blueprint: oslo-messaging
Change-Id: I20065bcc61dda99a68143afbcf6bb96884b6eb91
Merge "Pci Device DB support"
Merge "Add PCI device object support"
Merge "Fix v3 extensions inherit from wrong controller"
Add PCI stats

PCI stats abstract the pci device info on compute node for scheduler.
provide better performance than join load from pci device table.

PCI stats contain the available count info for PCI devices with same
spec, ie, the same product_id and verndor_id.and provide method to check
if the requests is supported.

bp:pci-passthrough-base

Change-Id: I8d77c685f774aae22da87be9e822bfd44f0b7a6d
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Yongli He <yongli.he@intel.com>
PCI alias support

Add PCI alias support.

User may have specific device requirements for passthrough device, like
specific NIC card from specific vendor with specific network access.

It's too long and not straightforward to specify these requirements in
flavor directly, also cloud administrator may want to control what pci
requirements the user can specify and want to hide some device details
like the switch IP address a NIC is connected.

Pci alias is defined to specify the pci requirements and is specified in
the flavor extra specs. The API layer will translate the alias information
in flavor extra specs to pci requirement according to pci alias definition.

bp:pci-passthrough-base

Change-Id:I82a7826f72da8b41e95fb6d27cd03f68ed849880
Signed-off-by: Yongli He <yongli.he@intel.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Added qemu guest agent support for qemu/kvm

Currently nova doesn't support qemu-guest-agent or other agent like it
for kvm instance, if it is supported then we can get guest info on the
compute node through libvirt qemu extension api(qemuAgentCommand)
through guest agent, I think this is a useful way to help us to
interact with guest more directly and efficiently.
DocImpact: please refer the page of bp

Implements blueprint qemu-guest-agent-support
Change-Id: Ief70907add9ccd425a1594ab06c119256bdc89eb
Filter network by project id

Need filter the networks by project id when show the networks with
normal user

Fix bug 1186867

Change-Id: I10b5880070a569614f54fa7dbcf08e548bcbc924
Adds V3 API samples for migrations

Partially implements blueprint v3-api-unittests

DocImpact

Change-Id: Ic1a1b96f00831b22c9499d3ac2953f3d08819905
Add context information to download plugins

This patch sends the context information into the download plugins
via  kwargs.  This will allow download modules like swift to use
the keystone auth information.

Change-Id: I105cc7d7dd76e4eadfeefdc7ca65f9eab38098b7
blueprint: image-multiple-location
Merge "Link Service.compute_node with ComputeNode object"
Port multiple_create extension to V3 API

Ports the multiple create extension to the V3 API. There is no part1
patch for this changeset because the original V2 file was just a stub
with all of the code in servers.py

DocImpact
Partially implements blueprint nova-v3-api

Change-Id: I5eba468e9c4b753215b91607a3e2441626d2cb57