Make update_service_capabilities() accept a list of capabilities

This makes it possible to send multiple capabilites by single RPC.

Change-Id: I7c1b75eada17181c4fe08c55992b34d66276f498
Remove unused bridge interfaces

If a network gateway of multi hosted network is unsed by any VM on the
host, we tear down it.
It is implemented only with the VLAN manager.

Fixes LP bug #1084651

Change-Id: Ia7e399de5b8ddf6ec252d38dfbb8762c4f14e3a5
Add vif_type to the VIF model

This is part of blueprint vif-plugging-improvements.

The patch has two parts:
1. Add support for vif_type to the VIF model
2. Read the vif_type from the Quantum port binding

The patch is backward compatible, that is, a quantum plugin
does not need to return the vif_type.

Change-Id: Ice772f00b22163da98b98a2c69a0a4ad3f5526ff
Use admin user to read Quantum port.

This is part of blueprint vif-plugging-improvements.

The port vif_type is only returned from Quantum when the user
is an admin user.

This patch ensures that when Nova reads the ports the user is an
admin user.

Change-Id: I4d1a2bfc6e3ae4ad63fe5c72eda32137713b31c6
Fix KeyError of log message in virt/libvirt/utils.py

Add arguments vg and lv for function check_size() so that locals() can get
them.

Fixes: bug #1088434

Change-Id: I6b5609fe1be7e0bf09a45e65eab91427059a89db
Port to argparse based cfg

Import latest cfg from oslo-incubator with these changes:

 Add deprecated --logdir common opt
 Add deprecated --logfile common opt.
 Allow nova and others to override some logging defaults
 Fixing the trim for ListOp when reading from config file
 Fix set_default() with boolean CLI options
 Improve cfg's argparse sub-parsers support
 Hide the GroupAttr conf and group attributes
 Fix regression with cfg CLI arguments
 Fix broken --help with CommonConfigOpts
 Fix ListOpt to trim whitespace
 updating sphinx documentation
 Don't reference argparse._StoreAction
 Fix minor coding style issue
 Remove ConfigCliParser class
 Add support for positional arguments
 Use stock argparse behaviour for optional args
 Use stock argparse --usage behaviour
 Use stock argparse --version behaviour
 Remove add_option() method
 Completely remove cfg's disable_interspersed_args()
 argparse support for cfg

The main cfg API change is that CONF() no longer returns the un-parsed
CLI arguments. To handle these args, you need to use the support for
positional arguments or sub-parsers.

Switching nova-manage to use sub-parser based CLI arguments means the
following changes in behaviour:

 - no more lazy matching of commands - e.g. 'nova-manage proj q' will
   no longer work. If we find out about common abbreviations used in
   peoples' scripts, we can easily add those.

 - the help output displayed if you run nova-manage without any args
   (or just a category) has changed

 - 'nova-manage version list' is no longer equivalent to
   'nova-manage version'

Change-Id: I19ef3a1c00e97af64d199e27cb1cdc5c63b46a82
Allow conductor exceptions to pass over RPC silently

When one service performs an operation on behalf of another, the
act of passing back an exception (even a known one) causes a lot
of scary log messages about the (presumed to be) error case.

This patch applies the new client_exceptions decorator to methods
in the conductor manager to prevent excess logging for known
situations.

Fixes bug 1084706

Change-Id: I56e472b0f08d584f5bbe5181ca909f2c11352120
Allow rpc-silent FloatingIP exceptions in n-net

This patch uses the new client_exceptions functionality to squelch
some errant exception dumps in the RPC layer.

Fixes bug 1084707

Change-Id: I31a783a67d7722751fcfeafab40e781dc762dd65
Add support for libvirt domain <sysinfo> XML config

Libvirt domains can have system metadata defined in a <sysinfo>
XML element. For the x86 platform with KVM guests, this can then
be used to populate the SMBIOS data tables

            <sysinfo>
              <bios>
                <entry name="vendor">Acme</entry>
              </bios>
              <system>
                <entry name="manufacturer">Acme</entry>
                <entry name="product">Wile Coyote</entry>
                <entry name="uuid">c7a5fdbd-edaf-9455-926a-d65c16db1809</entry>
              </system>
            </sysinfo>

Change-Id: Ib4980ddc2f558921893a7e208e304ba59636e430
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Add Jian Wen to .mailmap

To follow company policy

Change-Id: I8737bfddba93b1a822de57eaad83c27e18e4a534
Fixes string formatting error.

Fixes a small string formatting error in exception.py
by adding missing converstion type.
Fixes bug #1089416

Change-Id: I48fb39c669b2a1e81f052349cdb700e146ee2c4d
remove session param from instance_get_by_uuid

remove session param from public method instance_get_by_uuid

create private method to retain session param
  for the few places which need it

blueprint db-session-cleanup

Change-Id: I80f682018c88d2a14e454ab1af1dff4fe0be7432
remove session param from instance_get

remove unused session param from instance_get

blueprint db-session-cleanup

Change-Id: Id8d7129ca0f8477b1e99a405653c498c4ed4cd76
Move remaining aggregate operations to conductor

This patch moves the following aggregate operations from compute
to conductor:

  aggregate_get_by_host()
  aggregate_metadata_add()
  aggregate_metadata_delete()

In order to do that, it also changes the signature of the corresponding
VirtAPI methods to take the aggregate object instead of just the id,
so that we don't re-introduce any db messaging behavior.

I debated about using the set_delete mechanism in the metadata_add
API to avoid adding a separate conductor API for delete, but decided
that it wasn't worth the extra round trips, no matter how much I may
wish it were.

Change-Id: Ic0117879c8ce576cdc8e6c5af018bb918a15d4c0
Merge "Add vif_type to the VIF model"
Merge "Use admin user to read Quantum port."
Merge "Allow conductor exceptions to pass over RPC silently"
Merge "Allow rpc-silent FloatingIP exceptions in n-net"
Merge "remove session param from instance_get_by_uuid"
Merge "remove session param from instance_get"