baremetal: Integrate provisioning and non-provisioning interfaces

Originally, baremetal pxe/tilera driver managed two types of network
interfaces in two tables; provisioning interfaces in bm_nodes table
and non-provisioning (normal) interfaces in bm_interfaces table.
But, now actually both types are handled in the same way and there is
no difference between them except for which table they are in.

This patch moves the provisioning interfaces to bm_interfaces. However
it does not drop prov_mac_address in bm_nodes since VirtualPowerManager
still uses it to identify a target in a list of VMs returned by the
VM's host.

Change-Id: I5ce940e7127aa3b29ba7802612938dc5dbc3152f
set timeout for paramiko ssh connection

set powervm connection timeout to 60 seconds
to eliminate crashing if ssh server is slow in
responding.

Change-Id: Ic7f4d092de73e73c6edb909713bf3a2347a50334
Fix error message in pre_live_migration.

We are using locals() to reference a variable which doesn't exist
in this error message. Also rename the instance variable while I
am here to be more consistent with other uses.

Resolves bug 1164072.

Change-Id: I96f5e2a81ac2e97181c3e87df83e19b381f4bcd2
Catch NoValidHost exception during live-migration

To avoid leaving the instance state as MIGRATING if scheduling of
a target host fails, add this exception to the list of exceptions
for which the instance task state is reset to None.

Resolves bug 1166771.

Change-Id: I23343091725051624c0eb0b82e9f03a7f9d5f4f4
Merge "Catch NoValidHost exception during live-migration"
Add tenant/ user id to volume usage notifications

Volume usage notifications are generated to enable traffic based billing
on volumes. Include tenant id and user id to make these notifications
more useful to billing systems.

Fixes bug # 1158292

Change-Id: Ic71c10f0fc5d9e8c5a0e2f538de072e7ccca20ee
Cleanup trailing whitespace in api samples.

No functional changes.

Change-Id: I7511ba490bc0c86e80eda10a8246884338f57fdd
Clarify volume related exception message

Before the message was "status must be available," which could either mean
nova couldn't fetch the status or the status was not set to 'available'. As
this message means the latter, make it more explicit by putting available in
quotes.

Change-Id: I1b167073463c781569919926fa9b8960f4fecf59
Imported Translations from Transifex

Change-Id: I91007468d2da94bb669931ad09dce4c2f5d3efad
Simplify random host choice.

The random Python module provides a handy funcion for choosing a random
element from a sequence.  Use that instead of a more manual method of
accomplishing the same thing.

Change-Id: I1908bd5e79b6c21d0dcf7e540143e9b8de478d24
Remove unnecessary parens.

This is just some random code cleanup.  It removes some unnecessary
parens in some conditional statements to be more consistent with the
style used elsewhere in the code.

Change-Id: I49951c0ffe2b50e0dee50552eb1ddbf7ff871ecf
Remove unnecessary LOG initialisation

Remove a lot of getLogger lines and imports of logging in modules
which never use that functionality.

Change-Id: Icdaee2c540980412b000d02ebf1ec568dcf5b38a
Remove multi scheduler.

This patch removes the multi scheduler.  It doesn't provide any value.
The only code that exists here is for passing through requests to the
compute scheduler.  There is nothing that uses the 'default' scheduler.

The only case where this code could have been useful is if it was
patched out of tree.  At that point, it seems easier to just provide
your own scheduler driver that does what you want instead of trying to
patch this one, IMO.

DocImpact: The multi scheduler no longer exists.

Change-Id: I30902d1ce0aa5baef6693dc4a3b1057cccb27841
Merge "Clarify volume related exception message"
Merge "Remove unnecessary LOG initialisation"
Merge "Cleanup trailing whitespace in api samples."
Fix typo: libvir => libvirt

Fix in fakelibvirt test

Change-Id: I7969df6e04808f5c14386d197b73c6d9a1c7dd44
Replace metadata joins with another query

Right now, we always join metadata and system_metadata when we query for
instances. This inflates the number of rows returned by a factor of ten
at a minimum, and over 30 in some situations. This patch avoids the
direct join of these tables in favor of a "manual join" which performs
additional queries to fill the needed data. Latency may be increased,
but with the gain of a potentially significant amount of reduction in
data transfer.

This also provides the ability for the queries which utilize it to
selectively decide whether either or both of these additional fills are
performed, paving the way for future high-level optimizations.

Related to bug 1164737

Change-Id: I0610fb16ccce2ee95c318589c8abcc30613a3fe9
Change DB API instance functions for selective metadata fetching

This makes the DB API for instance_get_all() variants able to take a
columns_to_join parameter like the base instance_get_all() function,
which provides control over whether we go to the trouble of pulling
the metadata out of the database before we return the instances.

Related to bug 1164737

Change-Id: Ie7c012e2e12bb91ef4294cdc90d828af255b67c5
Optimize some of the periodic task database queries in n-cpu

There are a few trivial periodic tasks that can benefit from telling
the DB API (via conductor) not to fetch metadata items. This patch
makes those changes

Related to bug 1164737

Change-Id: I8e2730d3ed74bd7e0a0217647316c1cf492f22f3