The POST /os-server-external-events API had the following confusing
behavior:
With multiple events in the payload, if *some* (but not all) were
dropped, the HTTP response was 207, with per-event 4xx error codes in
the payload. But if *all* of the events were dropped, the overall HTTP
response was 404 with no payload. Thus, especially for consumers sending
only one event at a time, it was impossible to distinguish e.g. "you
tried to send an event for a nonexistent instance" from "the instance
you specified hasn't landed on a host yet".
This fix gets rid of that sweeping 404 condition, so if *any* subset of
the events are dropped (including *all* of them), the HTTP response will
always be 207, and the payload will always contain granular per-event
error codes.
This effectively means the API can no longer return 404, ever.
Closes-Bug: #1855752
Change-Id: Ibad1b51e2cf50d00102295039b6e82bc00bec058
This patch adds a new external event called "power-update"
through which ironic will convey all (power_off and power_on)
power state changes (running -> shutdown or shutdown -> running
will be the only ones handled by nova and the rest will be ignored)
on a physical instance to nova. The database will be updated
accordingly to reflect the real vm_state and power_state of the
instance. This way nova will not be able to enforce
an incorrect power state on the physical instance during
the periodic "sync_power_states" task.
Implements blueprint nova-support-instance-power-update
Story: 2004969
Task: 29423
Change-Id: I2b292050cc3ce5ef625659f5a1fe56bb76072496
Trivial Fix
we have cinder / nova interaction for os-server-external-events
now, add this into introduction chapter.
Change-Id: I17ba89682973d78ce9764300eab50b99b09bf976
As discussed at summit, the version part of the URL is not really
relevant, or a thing a user should be filling out themselves, this
should instead be set by the service catalog and extracted from the
token.
This removes it's reference in all documented REST urls, and adds a
new section describing how one gets the base URL for all calls.
Change-Id: I4306b8c3de0225e54f3909dd8a1fb293c4e5944c
This completes the validation for the admin event interface, including
detailing the codes we currently return in the parameter list.
Because os-service was incorrectly using the 'status' key, when I
renamed status => event_status I needed to also create a
service_status to make things compile. It's accurate enough to move
forward.
Because this is really a Neutron only API, this is moved towards the
bottom of the API list, to make it clear this isn't really designed to
be used by end user apps.
Part of bp:api-ref-in-rst
Change-Id: I3ed46eec1c33a63b7a89d6d6b5eeda574effdc56
Verified the API document for os-server-external-events
with source for methods available and response codes.
Part of bp:api-ref-in-rst
Change-Id: I5e647588f463db480cf99672385bbc8252d6e5ad
This adds a set of tags in comments to the beginning of files so that
we can process them according to the documentation here:
https://wiki.openstack.org/wiki/NovaAPIRef
Part of bp:api-ref-in-rst
Change-Id: I17cf584dafb5bd969c12f51b7e7185d92365bf93
Heading for json response example is wrong,
it is json request instead of json response.
Part of bp:api-ref-in-rst
Change-Id: I709b2bf19520eb76e0264c358a2146bb0dbcee2b
In the sphinx document h3 is supposed to be '-' not '^':
=, for sections
-, for subsections
^, for subsubsections
We have to enforce consistency here because we're processing included
files which all have to agree, otherwise it's a sphinx error.
Part of bp:api-ref-in-rst
Change-Id: Ic6eef5cacb07870f161b04b031e332f2b87aeedc
This is the results of the RST conversion from WADL. It creates a
single index plus a bunch of included files which represent sections
of the API document. This is the starting point for fixing the
documentation.
Change-Id: I7d561c2ecdcd864172dedb54a551f17ad3bdfe26