Enforce sqlite-specific flow in drop_unique_constraint

The nova.db.sqlalchemy.apy.drop_unique_constraint method has a
sqlite-specific flow for dropping unique constraints because it can't
use alter table like mysql or postgresql. The code is explicitly
checking if the db engine is mysql or postgresql and then falls into a
block which assumes the backing db is sqlite. This can cause problems if
the backing db is not sqlite.

This patch simply switches the checks so that the sqlite-specific flow
is only ran if the backing db is sqlite, everything else will default to
the 'alter table' flow.

Change-Id: I23b9bf33d18df3ac36106d5800a8ecdd1a4018df
Don't deallocate network if destroy time out

Fixes bug #1169057
Sames as bug 1180178, if libvirt returns time out error during destroy
an instance, we also can't deallocate the network of the instance,
otherwise the fixed ip of it may be re-used by another new instance,
and resulted in the new instance can't be accessed by the fixed ip.

Change-Id: I04dfd21bb1b7168abc71f39e836126a11dad6d8d
Avoid redefining host to none in get_instance_nw_info(...)

The host parameter is required and a part of the method signature.
When it is redefined from kwargs.get('host') the supplied value
gets redefined to None. This removes the redefinition and keeps the
parameter value intact.

Fixes bug #1194178

Change-Id: I779cbce909935a4b794c16cefb0128f16f8563fb
Update pyparsing to 1.5.7

The version of cliff we are using depends on pyparsing>=1.5.7 but
python-quantumclient pulls 1.5.6 because it appears first in the
requirements processing.

The requirements change is in
    https://review.openstack.org/#/c/33406/

Fixes bug #1191866

Change-Id: Ib1c11b53813ff96b750f5ffe4997ad01907d32c3
Notification support for host aggregate related operation

Add notification for the following operations related to host
aggregation:
1) Send notification when create a new host aggregation
2) Send notification when delete a host aggregation
3) Send notification when add host to a host aggregation
4) Send notification when delete host from host aggregation
5) Send notification when update host aggregation for aggregate
name and available zone
6) Send notification when update host aggregation meta data

Change-Id: I2dc42addb587c4765b41e464697f35b1f844fde9
Implements: blueprint notification-host-aggregate
port Instance_usage_audit_log  API into v3 part1

This changeset only copies the v2 files into the appropriate v3
directories unchanged. The copy as-is will not be loaded by either
the v2 or v3 extension loaders. The second changeset will then
make the changes required for it to work as a v3 extension.

This is being tried in order to make reviewing of extension
porting easier as gerrit will display only what is actually
changed for v3 rather than entirely new files.

Change-Id: I671ee9b3a0061195e9f387d60a63f74acb36bbfa
port Instance_usage_audit_log API into v3 part2

This port Instance_usage_audit_log api into v3.

Partially implements: bp v3-api-extension-versioning

Change-Id: Ia76b00e167c8d4514799e825e48031e45e290ed4
Port scheduler hints extension to v3 API Part 2

Ports the scheduler hints extensions and the corresponding
unittests to the v3 framework. Moves the commented out tests from
the v3 version of test_servers to the config drive extension
unittests.

Partially implements blueprint nova-v3-api

Change-Id: If0164e3e80927662ec3b955df4642f03b2d18853
Add inst_type parameter

Add inst_type parameter in order to generate the bandwidth tag into
the libvirt configuration.

Change-Id: I63c1fb51ea637d461755b309c7464f4b4d49a4b2
Fixes: bug #1185030
Port agent API to v3 Part 2

This patch contains the changes required to adapt the agent
extension and the corresponding unittest to the v3 framework

Partially implements: bp v3-api-extension-versioning

Change-Id: I6baa379ede41a1627f69d5d1a719cf2c6d7e9d9e
Fix and gate on E125

E125 continuation line does not distinguish itself from next logical
line.

E125 makes code more readable, and fixing all the existing issues allows
us to gate on this, making this one less thing reviewers have to check
for.

Fix was made using https://github.com/hhatto/autopep8

Change-Id: Ie569fd74fb84d220ceb87e37b1b1f39143bba80f
Moves populate retry logic to the scheduler utils

This change moves the _post_select_populate_filter_properties
to scheduler utils. It will be needed on conductor when we move
prep_resize code from scheduler to conductor.

Partially implements bp cold-migrations-to-conductor

Change-Id: Ifed70b60a3fe178bd39eec98615c0a76ceb33cc6
Changes ComputeTaskManager class to inherit base.Base

This is going to be needed for all migrations to conductor tasks
in order to get db access. We patch it separately to reduce
conflicts.

Partially implements bp cold-migrations-to-conductor

Change-Id: Icd686d373472498ed77f3133f655454aa035ae43
Remove conductor usage from consoleauth service

There's no reason for the consoleauth service to use the conductor API
since it is allowed to use the db directly.  Remove the single conductor
API call and replace it with the equivalent db call.

Fix bug 1190271.

Change-Id: Id6f50873f792ac4393dc2063f599f0418598091b
Use oslo.sphinx and remove local copy of doc theme

Use the new oslo.sphinx version of the OpenStack doc
theme instead of copying it into this repo.

blueprint oslo.sphinx

Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
Change-Id: I0bd91f7bb43f97b99051fed65b75fc05d5149cc8
Baremetal ensures node is off before powering on

During spawn(), ensure that a node is really off before trying to turn
it on. This fixes bug 1178919, in which a node that had previously
gotten stuck in a power-on state (eg, in the BIOS screen) would fail to
spawn() because the baremetal driver would send a power-on request, the
BMC would ignore it, and then baremetal driver would wait indefinitely
for a DHCP request.

Change-Id: Ie73e6ab488abe99c70ad3d149d702577941056d1
Imported Translations from Transifex

Change-Id: I3deb622f274f252243896773ba59137cf98b4f09
Merge "Update pyparsing to 1.5.7"
Merge "Remove conductor usage from consoleauth service"
Merge "Port agent API to v3 Part 2"