IPMI driver sets bootdev option persistently.

This patch changes baremetal ipmi driver's behavior with regards to
setting the chassis boot device.

Previous behavior: set bootdev = pxe for next boot only.
New behavior: set bootdev = pxe persistently.

Fixes bug 1178092

Change-Id: I735965422a950fbd249414b5eecd0a1b21dbabea
Moved sample network creation out of unittest base class constructor.

This sample networks only needed in:

 nova.tests.api.ec2.test_cloud
 nova.tests.integrated.test_api_samples
 nova.tests.network.test_manager
 nova.tests.test_libvirt
 nova.tests.test_xenapi

Moreover, base class constructor is not good place for sample
data creation. Database should be empty before runing tests.

Fixes: bug 1181502

Change-Id: I8dcaa5b36a1da0c0928c9445c556d788d463844e
Deprecate compute_api_class option in the config

Add a function "get_compute_api_class_name" within nova.compute
that returns nova.compute.cells_api.ComputeCellsAPI if cell is
enabled and this cell is an API cell, and returns compute.api.API
otherwise.
Add an option "cell_type" to the config in group "cells".
Use the default value of "cell_type" (None) for legacy configuration.

Change-Id: I32f5ccf789c657b563c165bfa8244e819b1a79a6
Fixes: bug #1049249
Fix EC2 RegisterImage ImageLocation starts with /

* Allows image location that begins with '/' during EC2 image register
* Adds relevant unit test

Fixes LP bug #1074908

Change-Id: I488b126c2079de4370823b347e80c7ec1ecc2c9f
Enhance multipath parsing

The output of the multipath command is not always parseable from
the current implementation. This causes attach to fail.

Fixes Bug: #1184861

Change-Id: I1afa96a695b1008672226e7e76eb8e0feca52578
_s3_create handles image being deleted

Change so _s3_create handles the image it is creating
being deleted while it is creating it without logging a stacktrace
and instead just logging a simple message explaining what happened.

Fixes bug 1084703

Change-Id: I9d984dd1cf4f393010493cacd048d20ad5225db8
Fix bug where consoleauth depended on remote conductor service

Fixes bug 1186123

Conductor API was being imported directly so ignoring use_local FLAG

Change-Id: I055a5301d4c18d201d67f114047f503114751603
Launch_at and terminated_at on server(s) response

Implements bp usage-details-on-instance

Change-Id: I0a9101c43a51d597a1eaff9d5a5d08d602024e72
Remove unused launch_time from instance

'launch_time' is passed around as part of instance properties when an
instance is being built, however it is not a column in the DB nor is it
even used anywhere.

It was also unnecessarily copied around in various tests.

This patch removes all references to it.

Change-Id: I2300cd6b8539d15bbcd35ab4c00ab99d4be13eb5
Handle instance directories correctly for migrates.

In Grizzly we changed how we name instance directories. Unfortunately
the decision as to what directory name to use is based on whether
there is a pre-existing directory on the compute node with the old
name.

In the case of live migration, that doesn't work because we have
libvirt copy the directory across for us. So, we need to pass
around the directory name in the migration request. This is better
anyway, as it means that ops types don't need to handle an instance
directory magically renaming itself at some point.

Resolves bug 1175286.

Change-Id: Ib102e644a8742726fa2049303354d466b8109e0b
Ports consoles API to v3 API

Ports the core consoles API functionality to the V3 API as a
plugin along with the corresponding tests

Partially implements blueprint v3-api-core-as-extensions

Change-Id: Iada86afbfeed055942fef554d12cd36385aa2e1f
Improve Python 3.x compatibility

Mechanical translation of the deprecated
except x,y: construct with except x as y:
The latter works with any Python >= 2.6.
Add Hacking check.

Change-Id: I845829d97d379c1cd9b3a77e7e5786586f263b64
python3: Add py33 to tox.ini

Introduce py33 to tox.ini to make testing with
python3 easier.

Change-Id: I3f966efc1a845aaa8e317d810bd6a1366acd323c
Signed-off-by: Chuck Short <chuck.short@canonical.com>
Clean up vmwareapi.network_util.get_network_with_the_name

Removes an unnecessary method call and cleans up some logging.

Fixes bug 1185072

Change-Id: I1a57e2c2d8506796626d6852d25c5b699d031117
Adds ability to black/whitelist v3 API extensions

Adds a config option which will blacklist specific v3 API extensions
from being loaded even if they are detected.

Adds a config option which if the list is not empty will stop
any v3 API extension from being loaded unless it is in the whitelist.
No filtering occurs if the whitelist is empty

Creates a config option group osapi_v3 to hold the two new options
and osapi_v3_enabled renamed to just enabled within the new group

Partially implements blueprint v3-api-extension-framework

Change-Id: Iec7fdb073b933791b0110dae485538c9080f2670
Add Davanum to the mailmap.

Noticed a duplicate entry in the AUTHORS file, added to .mailmap.

Change-Id: Iec730880e4db0bb5a2919ebca0dd2e96628bcfe5
Fix postgresql failures related to Data type

Postgresql is kind of sensitive about different kind of data in a query, so it
was failing in cases like lookin for an ip using a filter which wasn't a valid
ip or ids values greater than the id type on the table.

This patch fix this behavior to fixed ips and floating ips.

Fixes bug 1182754

Change-Id: I83d532c28c9aec690e8e1ffad8b58e71d619d728
Add fake_instance.py

There are lots of places in the tests where we create a piece of
an instance-like dict and return that from a stubbed database
function. This "works" right now, but won't in the future of stricter
objects. This adds a fake_instance.py (to mirror the other ones
already there) which builds an instance database primitive that
includes sane values for every field it should have. This will make
testing much easier going forward with instance objects.

Related to blueprint unified-object-model

Change-Id: I13d97cc101c1964aa91ce48093507bbc88803cbb
Make instance object tolerate isotime strings

Any time we get a db object over RPC, the datetime has been
serialized to an isotime string. We have other legacy code that
needs to tolerate this, and those hacks would need to be
replicated in the objects transition. Instead, make the instance
object type function tolerate isotime-formatted strings so that
we can more easily convert RPC-transited database objects
until we're fully converted, at which time we could remove the
tolerance. Luckily, the objects still end up with a datetime
internally, which means the rest of the code can stop needing to
handle strings and datetimes gracefully.

Related to blueprint unified-object-model

Change-Id: I132559d3541d19353de6acc36a2740185e564105
Delete unused bin directory

Delete last bits of bin/.  With the move to entrypoints these aren't
needed anymore.

Update CONF.bindir to default to
  os.path.join(sys.prefix, 'local', 'bin')

Part of blueprint entrypoints-plugins

Change-Id: I95250d3779433e7b85aaa889a873b16c86a7d2be