Several improvements to baremetal driver are implemented in this patch.
There is now significantly more error handling during spawn().
It also includes an addition to nova/tests/utils.py to provide
additional sample information from get_test_network_info().
blueprint general-bare-metal-provisioning-framework
Change-Id: I65d93051d7fcfd79f4d24d4ddb62fb1a55bee646
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
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
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
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
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
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
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
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
Implements a test for 'HTTPUnprocessableEntity' error when rebooting
an instance.
Fixes Bug 1088672.
Change-Id: I7a658f4f09c871a43d20fd6fa60d4ad69784ce7d
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
Remove session from arguments.
Instance update works through one query, so we don't need to use update lock.
Add tests for instance_test_and_set().
blueprint db-session-cleanup
Change-Id: I143877f427f5eba4a7c7aa985bb70c79a9513822