Cells: Add support for compute HostAPI()

This will allow the hosts API extension to work. Calls to get service
information from the DB are proxied via cells.

When using the host extension, the 'id' and 'host' fields for
service/compute will be modified to have the cell prepended to it.  One
can do a 'show' on a 'path!to!cell@id' to see details for a particular
host in the 'path!to!cell' cell, for instance.

Implements bp/nova-compute-cells

Change-Id: I8137fa64d2578acfc3d2457c231de2b0d69b96d8
Update en_US message translations.

Fixes bug 1101587.

* nova/locale/en_US/LC_MESSAGES/nova.po: This "translation" was
woefully outdated, causing KeyError exceptions under a number of
circumstances for users of this particular locale when format
strings wound up containing incorrect substitution variables. This
change attempts to sync up the msgstr entries to match msgid given
this is the source language for the pot file. I did not see any
obvious instances where en_US should differ from C locale for these.

Change-Id: I81d1729fee17653b089f3c47db20f3fc073ab363
Add support for memory overcommit in live-migration

Override the live-migration memory check in FilterScheduler and
make it use RamFilter for checking available memory on target
host.

Resolves bug 1068258.

Change-Id: I3002b8330e595ce71e2718b2091d3b0b99747707
Remove hardcoded topic strings in network manager

Resolves bug 1107799.

Change-Id: I24e26fb53e9d4db709307280ef23241c6c4b09ae
separate libvirt injection and configdrive config variables

This is mostly a refactoring so that if config drive is required,
variable lookup only needed for the injection case, is avoided.

There is a functional change here to make 'admin_pass' consistent
with the other variables in that the libvirt_inject_password flag
now does _not_ control whether the admin password is placed
in the config drive.

Change-Id: Ib79971aa050e56e5aa72fdd69aadd7539b2bd315
Default value of monkey_patch_modules is broken

The default value of monkey_patch_modules has not kept up with
the move of notifier to openstack.common

Without this change setting 'monkey_patch=True' in nova.conf
will cause runtime errors unless the monkey_patch_modules
is also specified pointing to the correct notifier

Change-Id: Ib22faa7404b09791799338de2edfe0ddcd662d5f
Use oslo database code

Bring in the new database code from oslo.

Uses get_session() from oslo as well as changing NovaBase to derive from
a common class.

Remove test_sqlalchemy.py now that this code is test in oslo.

Implements blueprint db-common.

Change-Id: I090754981c871250dd981cbbe1a08e7181440120
lxc: Clean up namespace mounts

5f697f64e5c445ba1b62c82d9167fd6b9c7256d2 introduced a regression
when using lxc containers with qcow2 and qemu-nbd.

When removing the rootfs from the host namespace, it would
terminate the qemu-nbd process as well. This would cause
the kernel too oops under Ubuntu 13.04. Since the underlying
device thtat the libvirt_lxc process disapears.

To get around this we just clean up the host namespace if the
instance is powered-on. When the instance terminates it will
teardown the whole container.

This fixes LP: #1115786

Change-Id: I98bec2338cb455dbd277295ab36767149e05634c
Signed-off-by: Chuck Short <chuck.short@canonical.com>
Adds original copyright notice to refactored files

Fixes bug: #1116586

The Hyper-V driver contributed for Folsom contains some refactored code
from the Diablo release contributed by Cloud.com.

Although the copyright notice remained in the "driver.py" file, it has
erroneously not been added to the new "vmops.py" and "vmutils.py" files
that contained some refactored code from the original contribution.

Change-Id: I71cf1df30c0b2ef5ae3df38f3c6f0311b7b4b3d9
Remove strcmp_const_time.

This function was used with deprecated auth and is no longer used
anywhere in the code, so just remove it.

Change-Id: I1e5472c312bfc49c57bf031593cf82c32bc77dfd
Sync latest install_venv_common from oslo.

This commit syncs in the latest version of install_venv_common
from oslo, which fixes the import issue that was previously
addressed by change: I8a3df02a51c2c777d8f47cb8bc72d0644ae47095
which gets reverted by this commit.

Change-Id: I910610da5a4c413711819ca39627cb9ee94814ef
Merge "Cells: Add support for compute HostAPI()"
Merge "Adds original copyright notice to refactored files"
Merge "Add support for memory overcommit in live-migration"
Imported Translations from Transifex

Change-Id: Ieacbf1fc844e8c7297658b822baa41bd78dc754d
Change forward_bridge_interface to MultiStrOpt

The config option specifically mentions it can be set multiple times
but it was accidentally set to a ListOpt instead of a MultiStrOpt.

Change-Id: Ibc4280c4bbdd10655192fb8bb5a810125555eb6d
Merge "separate libvirt injection and configdrive config variables"
Fix inject_files for storing binary file.

Now a nova-api server decodes injected_files by base64 after receiving
encoded files from nova-client.
And the server fails to publish run_instance because utf8 codec can't
decode due to binary data.

This patch fixes this problem, because the base64 decode is operated when
a nova-compute server receives injected_files from a nova-api server.

Fixes bug 1112134

Change-Id: I664134c74893a970de4464161071692a5b2b5ce7
Move security_groups refreshes to conductor

This moves the last bit of compute-initiated db accesses found during
test runs to conductor. The quantum API was hitting the database directly
while calling back to compute's API to trigger the refresh. This just
makes the quantum API ask conductor to do that in a similar way to the
usage notifications patch recently merged.

Related to blueprint no-db-compute

Change-Id: I44de7e1e12aec291b8319d45ec5975ad05b8e676
Merge "Default value of monkey_patch_modules is broken"