Make scheduler disk_filter take swap into account

The disk_filter, which makes sure a node has enough disk space for an
instance doesn't take the swap partition into account, but swap takes up
disk space so it should.

Change-Id: I0779dcf0f1cd60017b5b49ca38c0a15b23d802d7
Closes-Bug: #1239009
Fix the ConsolesController class doc string

The code must have been copied from the console output extension to start
with and the old class doc string was left in place.

Change-Id: I4924e69763027043aace8e34aac55701be2ea823
Closes-bug: #1241685
Fix wrong description when updating quotas

when updating quota for a resource, with 'force_update=false', an
exception will be raised when the new value is less than the used quota
values(used and reserved). This patch changes the description of
exception.

Change-Id: Iede70444341817afb6953eb604fe4de186622916
Closes-bug: #1243062
Add flavor-manage to core for V3 API

Adds the flavor-manage plugin to the core list for the V3 API.
This is part of the process of adding all of the flavor related
extensions to core, with the exception of rxtx, as per the discussion
here: https://etherpad.openstack.org/p/NovaV3APICore

Partially implements blueprint nova-v3-api

DocImpact

Change-Id: Idbedce5cc5936abc52235cd40573c8fe841f24fe
Stored metrics into compute_nodes as a json dictionary

The compute manager uses plugins to get the metrics information of each node.
And then sends and stores in DB for the scheduler to read and do scheduling.

The patch reuses table compute_nodes and adds a new TEXT column to store the
metric data as a json dictionary.

This is part of the blueprint utilization-aware-scheduling and the
blueprint generic-host-state-for-scheduler.

Change-Id: I4d20565567e9907cfcc92b1c1b15f3b35a806797
Signed-off-by: Shane Wang <shane.wang@intel.com>
Remove fake_vm_ref from test_vmwareapi.py

This fake method is useless now, we can remove it for now.

Change-Id: Idcef18f1e89cac30b1481580731a4f61b0f22050
Nova-all: Replace basestring by six for python3 compatability

The builtin basestring abstract type was removed in python3,
use str instead, we need to using six.string_types to replace
the basestring for py3 compatibility.

Partial Implements bp: basestring-py3-compatible

Change-Id: I17e87e49e7ebf3cc9c391e9beace8c45d2d2b689
Fix migration 185 to work with old fkey names

Migration 133_folsom.py accidentally changed the name of the FK
constraint on instance_info_caches from instance_info_caches_ibfk_1
to instance_info_caches_instance_uuid_fkey and on virtual_interfaces
from virtual_interfaces_ibfk_1 to
virtual_interfaces_instance_uuid_fkey meaning databases who have
upgraded from before folsom have the old fkey.

This patch adds a check for those with the old fkey name to make sure
it is dropped before changing unique constraints (as is required by
MySQL). It also fixes the fkey name to be as defined in 133 if it
wasn't before (which will persist on downgrade being consistent with
those who have come in after folsom).

Closes-Bug: #1245502

Change-Id: Ib0dcd04fcb9ed776c76d40561181abad2e14f76f
Drop auth_token configs for api-paste.ini.

We now prefer to use nova.conf to configure keystoneclients
auth_token configs.

Also, Devstack has now been update to allow this:

  https://review.openstack.org/#/c/52258/

Change-Id: I2a4b300af37eddf5010b97ca796f0552941642a8
Fix interface-attach removes existing interfaces from db

The following commit 394c693e359ed4f19cc2f7d975b1f9ee5500b7f6 changed
allocate_port_for_instance() to only return the ports that were created
rather than all of the ports on the instance which broke the attach-interface
code.

This patch fixes this issue by remove the sync decorators from:
allocate_for_instance, allocate_port_for_instance, and
deallocate_port_for_instance to just _build_instance_nw_info which
is called in all these cases instead.

Closes-bug: #1223859

Change-Id: I66eb0c0ab926e0a8d1e2c9cfe1f7fd579ea3aa27
Make the vmware pause/unpause unit tests actually test something

The pause/unpause tests for vmware were just passing so this patch
actually makes them test the pause/unpause methods for the
VMwareESXDriver and VMwareVCDriver classes.

Closes-Bug: #1237679

Change-Id: Idf7c6e6f9542b9ab4dd2ab710597f1a198889dfa
Fix OLE error for HyperV

When run live-migration on HyperV, an OLE error
will occur. This is because we use wrong WQL
sentence when we try to query table
'Msvm_ResourceAllocationSettingData'.

This commit fixes the wrong WQL sentence.

Closes-Bug: #1246592

Change-Id: Iabb4096002a5be1fb930b077fbf5ef734893c258
db tests: replace assertEquals with assertEqual

assertEquals will be deprecated in Python 3.

This is part of blueprint assertequal

Change-Id: If364d79ea3c88d52e39b0d50230e191923121501
Make v3 admin_password parameters consistent

There are API parameters "admin_password" and "admin_pass" on some APIs:
 * AdminPasswordController: admin_password
 * EvacuateController     : admin_password
 * RescueController       : admin_pass
 * ServersController      : admin_pass

These parameters mean the same thing, it is the admin password of a vm
instance. They should be the same parameter name because of the meaning.

DocImpact

Partially implements bp nova-v3-api

Change-Id: I452672e064d0dc4a1d5700bb96c01de8087f33d8
Added tests for get_disk_bus_for_disk_dev function

Testing get_disk_bus_for_disk_dev function for appropriate and inappropriate
arguments.

Change-Id: I394d603a0105d4b13d4bc9fe8b7f6fe852c536ab
Closes-Bug: #1233235
Move docker specific options into a group.

There is only one example, but we're moving all hypervisor specific
options into groups.

DocImpact: rename docker_registry_default_port to
registry_default_port in the docker group.

Implements blueprint: docker-opts-group

Change-Id: Ic653e8a610876c40a715bff1ec48173d3bdb212e
Merge "db tests: replace assertEquals with assertEqual"
Merge "Move docker specific options into a group."
Imported Translations from Transifex

Change-Id: I65004f860b7be0104e3f67b71d501f40c11f68a3
Add log_handler to implement the publish_errors config option

Synced from Olso.
Commit Id is Ibf28ba17f81b5ddeda653f6a3501ecac18ffcd42

This handler sends all error logs as rpc notifications.
Note: when using publish_errors you also need to set the
notification_driver option too.

Change-Id: Ic97b9c8b84d51c84a53ace5b86cc2e72c744f136
Closes-bug: #1240349