This cleans up the baremetal proxy, which was horribly inaccurate (the
paths weren't right after the method verification)
A warning is stuck in the preamble, we really don't want people using
this. Parameters are documented as best as we could from Nova
source. Honestly, people should just talk to ironic directly and use
their docs.
Part of bp:api-ref-in-rst
Change-Id: I66e85f414e5f0edbf052ba56691294a94615c619
This is the fifth and final patch moving config options from the
nova/api directory. In this patch, the deprecated options from the
legacy_v2 directory have been moved to nova/conf/legacy_v2.py. A
subsequent patch will enhance the help text for these options.
Blueprint centralize-config-options-newton
Change-Id: I3fdff0d3c0c2f36155ad4f7060395e788b78d150
In Mitaka, we began to create and persist a RequestSpec object every time
a new instance was requested. Given that instances that were created before
that commit do not have a related RequestSpec, we needed to check
every time in the conductor methods whether the instance had a request spec
associated with it.
Now that we are in Newton, we can provide an online data migration script
that iterates over all the instances (using a marker), verify if the
RequestSpec object is created, and if not, try to persist into that object
the legacy fields we already know.
The marker uses the request_specs table for persisting itself, and
yes this is a hack, but that's the only solution we agreed for making sure
we were not looping every time on all the instances (which would be a
performance problem). When we finish looping over the instances, we
keep that marker so that the next call to that migration script
would not again iterate over all the instances (using the limit).
Change-Id: I61b9b50436d8bdb8ff06259cc2f876502d688b91
Partially-Implements: blueprint check-destination-on-migrations-newton
TestNeutronSecurityGroupsOutputTest and BootFromVolumeTest were tests
only for legacy v2 API code, and v2.1 API were not tested on the same
test cases. This patch makes the tests work for v2.1 API code for the
test coverage.
In addition, this patch changes a request body of BootFromVolumeTest
because v2.1 API validation detected the bugs of the body like the
following:
* Invalid input for field/attribute volume_id. Value: 1. u'1' is not a 'uuid'"
* Additional properties are not allowed (u'virtual' was unexpected)
Change-Id: I9c2a53679ed6a097b062ba542dddd85a42c9964f
This completes the parameter, example and body verification
for the os-flavor-access API.
The tenant_id_body parameter description was made more generic
to be able to reuse it here.
Part of blueprint api-ref-in-rst
Change-Id: I78755f0f92f8e742b668102b98ae15d94f8bf941
This adds message queue connection information to the RequestContext
which can be used by nova-api to communicate with a targeted cell
message queue with each query.
A function 'get_cell_client' can be called in rpc functions to enable them
to use message queue transport information from a RequestContext. The
function creates a rpc client object dynamically if message queue
connection information is found in the RequestContext and falls back on
the default rpc client.
Example usage:
def get_cell_client(self, context):
return rpc.get_cell_client(context, self.client)
def build_and_run_instances(self, ctxt, instance, host, image, ...)
cctxt = self.get_cell_client(ctxt).prepare(...)
cctxt.cast(...)
Implements blueprint cells-mq-connection-switching
Change-Id: Idef670d5b73c9cef8501a0593eccd785b708bd2b
'networks' in the server request body is a list of dicts
that can take a fixed_ip, port id or network id. There are
semantic rules for the combinations of these which are checked
in the helper method _get_requested_networks. The network id
validation logic is a bit convoluted where it's placed though,
so this change cleans that up and moves it to it's own method.
Note the main difference in nesting logic. You can't request
a port and network on the same nic (dict entry in the networks
list). So the conditional logic is such that you either have a
port or a network in a single request. Before this change, the
network id validation was happening outside that conditional,
and checked a second time if port was requested before validating
the network id. Since we already have that condition, this
change moves the network id validation under the condition where
a port is not requested (so a network id must be).
There are no test changes since this is just cleaning up the code
and also shows that this doesn't change the overall results of
the validation.
Change-Id: I466f2273a4ce02279b942f7ada264a3da97dfe92
This processes all 4 phases of the crash-dump action
* method verified, error codes cleaned up (extra explanation added where appropriate)
* action parameter added
* example verified
* body adds warning and versionadded stanzas
Part of bp:api-ref-in-rst
Change-Id: I6571a3981d25ab4b5459715c9d2061ad19f07f26
os-api-ref is released on pypi now, so we can move to using it instead
of our in tree version. All future extension fixes will happen over
there instead of here.
Change-Id: Iee4b9c94b8b66a5b0481dd0b15beda03328c4f31
Depends-On: I0e615d36a2e5a8fa0d83f20bdcc2c33ad868ebd5
The config options of the "nova.conf" section "database" and
"api_database" got moved to the new central location
"nova/conf/database.py". Also the database related options which are
in DEFAULT section.
Follow up changes will improve the help texts.
bp centralize-config-options-newton
Change-Id: Iaba9b49490fea4950bb25eed3ba1252db206f3c9
There have been at least a couple of bugs about not being able
to create egress security group rules in Nova, which is because
nova-network does not support them. Neutron does, but Nova does
not proxy this to Neutron, nor will it.
So add a note in the api-ref docs for creating security group
rules about the egress rule limitation with nova-network.
Change-Id: Idc79cd1718b52db8611fd108b23f176f925221a6
Related-Bug: #1579749
Related-Bug: #1267140
There were a few comments and suggestions for improvements in the
wording for the recent series of patches that added improved help text
to the API config options. Rather than hold up those patches, this
follow-up patch cleans up those issues.
Blueprint centralize-config-options-newton
Change-Id: I512ea8c2be383e1abef7580e32deaa40e2c76c60
This reorder's parameters.yaml to the correct sort order, and turns
the info message about incorrect ordering into a warning. After this
lands parameters.yaml changes will always require that the items stay
in the sorted order enforced by the extension.
Part of bp:api-ref-in-rst
Change-Id: Ib890d369a8b50a8cd920f7b19ef13f44b3e657df