We need to catch up ConsoleTypeInvalid in API layer to avoid 500 error
in case we passed invalid console type (> v2.6).
Closes-Bug: #1551104
Change-Id: I8be6dd1efd9057fb582713e0fe9fe0d626832fda
Change 022802997c fixed evacuate/rebuild
in the cells API so enable the rebuild-related tests we were skipping
before.
Related-Bug: #1445629
Related-Bug: #1445631
Related-Bug: #1552046
Change-Id: I15f867d8c6ff280bc68a6abf8b0da6e970c2bb39
Both of these options only had one real in tree sensible
option. Deprecate these so they can be removed and turned into
constants in Newton.
This adds a new ``use_neutron`` config option to replace the
network_api_class option.
Change-Id: Ia79269e2bca0468edde830fc82a15b234e1abcbf
There was only one implementation in tree, and this isn't an extension
point or interface we want people plugging out of tree code into.
Change-Id: Ie2cb64a43198e1155f768ceabe50ce8a004a1d41
This allowed creating a differ class loader for defining vendordata
metadata for the metadata server. The default driver loads from a json
file that can be arbitrarily specified, so is still quite flexible.
Change-Id: I0f9866320cd655134281193c50ec170ea20c011a
Previously this let you replace our SQLAlchemy database layer with
your own. This approach is deprecated. Deployments that felt the need
to use the facility are encourage to work with upstream Nova to
address db driver concerns in the main SQLAlchemy code paths.
Change-Id: If195a6bc399c8b1e2bfb0ea5579f2be21d0bc126
We should deprecate the manager classes used for all of our
services. This is not a thing we actually expect or want to support
people replacing. If we want modular plug points at any of these all
the options should be in tree and specified by constants to switch
between.
Change-Id: Id25bd4870c6e2fda08dc0177b7ed61a8a6091838
In compute.api._check_and_transform_bdm() we have a logic to
avoid boot instances with both image-ref and a volume named
as 'vda' is supplied. Currently, we check the bdm's 'source_type',
but infact we should check its' 'destination_type' as this
shows it is a cinder volume.
Change-Id: I1fe2cf7c6655e0e0c61371c6d7379ecfc7071cec
Closes-Bug: #1522329
How to trigger crash dump depends on hypervisors. NMI is not the only way to
implement the feature. This patch modifies description regarding this feature.
Change-Id: I77d10551650776c06ee4b413f1b027abf6620e83
Now that db connections can be specified through the RequestContext,
any queries on tables that reside in cell dbs must use the methods
provided to create transaction context managers on-the-fly using the
db connection from the RequestContext instead of using the
"main_context_manager" for all accesses. The get_context_manager()
method returns the main_context_manager if no db connection is
found in the RequestContext, so things continue to work even when
no cell dbs exist.
The tables that reside in cell dbs are based on the Cells v2
database split doc [1].
Related to blueprint cells-db-connection-switching
[1] https://review.openstack.org/#/c/277543
Change-Id: I4452116ae0c88ba18672839f2856247092bf6b9a
The configdrive builder does a number of things; for instance, shelling
out to mkisofs or reaching up to the top cell for SSH keys. These have
ways of failing. If they do fail, we need to cleanup what we've done in
the deploy so far (instance fields on the node in ironic, firewalls,
vifs, etc).
Wrap the configdrive build call in a try/except to catch any errors,
clean up, and re-raise the error.
Change-Id: I81ec4c54437d92c4c091646c0b3f5d948b82b52b
Closes-Bug: #1552466
This reverts commit 8093549e58.
some command like nova aggregate-create foo will fail
guess the reason is we honor the format of the parameter
but it's possible to set the type like following
availability_zone['type'] = ['string', 'null']
which makes the input
{"aggregate": {"name": "foo", "availability_zone": null}}
is also valid
so in the following code, re.search encounter a NONE value
and raise a TypeError
@jsonschema.FormatChecker.cls_checks('name', exception.InvalidName)
def _validate_name(instance):
regex = parameter_types.valid_name_regex
if re.search(regex.regex, instance):
guess we can copy additional code from jsonschema but that need additional effort.
Change-Id: I69619c1b5a5dd3b239100fc52cb65488fbc72609
In some places, we use unittest, other places unittest2.
However, it is better to use testtools, as mentioned before
Change-Id: Ide224f27c8bd3669a148e7d11f519cf0a2a73380