ensure zeros are written out when clearing volumes

Note O_DIRECT is _not_ used at the end of devices to
avoid issues with odd sized blocks etc. so instead
we arrange to have dd issue an fdatasync()
to ensure the data is persisted, lest it be discarded
from the write cache when the device is unprovisioned.

* nova/virt/libvirt/utils.py (clear_logical_volume): Add 'conv=fdatasync'
to the dd option list if O_DIRECT isn't used when clearing.

Fixes bug: 1100363
Change-Id: I76789557754ebaeb6d52bb34548a2ef17808fbf6
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
Add api-samples to multinic extension

Partially implements bp nova-api-samples
Fixes bug 1070169

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

Resolves bug 1107799.

Change-Id: I24e26fb53e9d4db709307280ef23241c6c4b09ae
Parse testr output through subunit2pyunit.

When running through run_tests.sh, filter the testr output through
subunit2pyunit so that incremental progress can be seen. Should be
a step towards folks seeing incremental test progress.

Change-Id: Ic90669acabaa1c8b64aae80349bff3d3deaf59fa
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
allow disabling file injection completely

With the libvirt_injection_partition config set to -2,
file injection is avoided completely.

This can be required if you want to make user specified files
available from the metadata server (and config drive is not enabled),
then you would want to avoid injection completely for performance reasons,
but also to avoid boot failure if the injection itself failed.

Flags: DocImpact
Change-Id: I604f4189114515c70c58cf183622542c4633e44a
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
Sync latest db and importutils from oslo

Changes include:

  7c0e25a Use importutils.try_import() for MySQLdb
  33b12d3 Implement importutils.try_import.
  cf705c5 Make project pyflakes clean.

Change-Id: I448f5208919d06ca0af54d2057b8f5e042862cd6
Allow connecting to self-signed quantum endpoints

Introduce a new option 'quantum_api_insecure', matching the existing
'glance_api_insecure'. It skips the SSL validation in quantumclient.

DocImpact

Change-Id: I275517179929710bedcef5086a040b9396c0e932
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>
Return to skipping filters when using force_hosts.

The folsom behavior was to skip filtering when using force_hosts.
This is useful for administrative tools. For example, one can verify
a disabled node by launching instances on it even though the scheduler
will ignore it for normal requests. This behavior was accidentally
changed in commit 0d9ce8319d75bfbd69fe4e0759aeed38e6054e56

Change-Id: Ib529cf8eccc4d8abe67873cfc0467f6db9d4b522
Flavor Extra Specs should require admin privileges

The previous fix added admin check in policy.json,
but code still can't recorginize the detailed actions.

This fix edited "authorize" function for flavor_extra_specs,
to make sure it will check the admin privileges in policy.json.

Also, together with the code, this fix edit old test case with admin privileges,
and added new non-admin privileges test case.

Fixes bug 1094142

Change-Id: Ia286aedb4846383ad51bd54b0984dd1feddfbf81
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
Default the last parameter (state) in task_log_get to None

Change the method signature to match the other definitions
of task_log_get

Fixes LP# 1117263

Change-Id: I510c05d4520c579bf07953d9ed05d7a58e051695
hypervisor-supplied-nics support in PowerVM

PowerVM does not allow MAC addresses to be directly set on LPARs.
Instead, use the hypervisor-supplied-nics feature to generate MAC
addresses we can ensure are provisioned correctly.

blueprint powervm-compute-resize-migration

Change-Id: Idad7f03d9fd61970912ec1a6978fc0af56309df4