Make sure the loadables path is the absolute path

the __path__ of a module can be a relative path in some install
scenarios (i.e. setup.py develop on osx), so normalize it to an
absolute path since we expect an absolute path in the tests.

Change-Id: Id40889229f5735a292899dfee2c8595fdbf0dfff
Adds test for HTTPUnprocessableEntity when rebooting

Implements a test for 'HTTPUnprocessableEntity' error when rebooting
an instance.

Fixes Bug 1088672.

Change-Id: I7a658f4f09c871a43d20fd6fa60d4ad69784ce7d
Move baremetal options to [BAREMETAL] OptGroup

Move all the baremetal options into a new [BAREMETAL] OptGroup,
except for 'baremetal_db_backend', which breaks LazyPluggable if moved.

blueprint general-bare-metal-provisioning-framework

Change-Id: I06f53dcf10b9bbd3fd7cc0725cc6076af3d74d19
Fix tests/baremetal/test_driver.py

Unit tests for baremetal/driver.py were not functioning and were
falsely reporting success due to inheriting from the wrong class.
This lead to drift between the tests and the code over time.
I decided it was easier to re-implement tests/baremetal/test_driver.py
instead of trying to fix the drift. This gave me the chance to make
the test class easier to extend. Additional tests will be added
in the future, when I refactor driver.py:spawn().

This patch also has some minor variable name changes for baremetal/driver.py.

blueprint general-bare-metal-provisioning-framework.

Change-Id: I36ba5ed340b722b9a6e8d02d6d57d3c8d53b1eef
Implement IPMI sub-driver for baremetal compute

This patch implements only the IPMI power manager for baremetal nova
compute. Documentation will come in a separate patch.

blueprint general-bare-metal-provisioning-framework

Change-Id: I60ccfbf963d7bbf6f840e627396601b7bba80e7f
baremetal power driver takes **kwargs

Some baremetal power drivers may require different information passed to
them. This patch prepares the way by having the base class take only
**kwargs, and having the driver pass both 'instance' and 'node', instead
of just passing 'node'.

blueprint general-bare-metal-provisioning-framework

Change-Id: Iff91024b1d019b0d07f2cbfe991748e618bfcb18
Merge "Make sure the loadables path is the absolute path"
Merge "Fix stack trace on incorrect nova-manage args."
Add API sample tests to FixedIPs extension

Partially implements blueprint nova-api-samples
Bug 1091739

Change-Id: Ie10fd85199ec10de29e99338c748f34cc04aeeb6
Report failures to mount in localfs correctly.

The wrong exception type was being thrown, which meant that the virt
disk api though the disk could be resized when it couldn't. I've
added two unit tests to cover regressions as well, but this code needs
more unit testing in general. Resolves bug 1094373.

Change-Id: I9c974e138ff90e8b7a5a40f5b31dcdb25a59622d
CRUD on flavor extra spec extension should be admin-only

Changes the default policy.json file to make the flavor extra
spec create/update/delete operations admin-only, since the
flavormanage extension is admin-only.

fixes: lp bug #1094142

Change-Id: Ic464b17130e76565a7c475e59064e3e3e8861327
Imported Translations from Transifex

Change-Id: I20319c16446e8ea1553202cbe54967e2505d2f41
Add conditions in compute APIRouter

The Route of versions should add HTTP GET methods conditions, because
it only has a 'show' action, thus other methods will not match.

Fixes bug 1088530

Change-Id: Ib21381324cf7067015d0a6e36a0f0292eb902fe9
Ensure that Quantum uses configured fixed IP

Fixes bug 1094897

The fix ensures that the fixed IP address specified by the user
is correctly passed to Quantum. That is, when the Quantum port
is created it is created with the specified IP address.

Change-Id: I8191ac2497037e2592b0679962e4606cd24d7844
Imported Translations from Transifex

Change-Id: I1195c7e9345095da6f49e9cabf014a45cee31c65
Raise BadRequest when updating 'personality'

Updating booted server instance through server PUT API call with
'personality' property set is not returning 'Bad Request', although the
property is not allowed to be updated once the instance is booted.

This fixes the described problem.

Fixes bug #1032546

Change-Id: Ia086f5ea5176640a9916a3ba42c79d4d5944ce76
Merge "CRUD on flavor extra spec extension should be admin-only"
Adds os-volume_attachments 'volume_id' validation

If you POST to os-volume_attachments but give the name of the volume
instead of a UUID, it returns a 404 error; this is invalid HTTP.
404 means that the Request-URI has not been found. In fact, the
Request-URI has been found, but a child attribute has been incorrectly
specified. Some other error could be used.

This fixes the problem by returning 'BadRequest' in place of 'NotFound'.
The 'volumeId' is checked to be a valid UUID string before moving
further.

Fixes bug #1062494

Change-Id: Icc5dbc7ac94051514709997457cafb16e870bea9
Merge "Ignore double messages to associate the same ip"
Merge "Add API sample tests to FixedIPs extension"