This change adds missing POST request parameters and makes other minor
corrections to the REST API documentation.
Its possible that some of the parameters for /v1/nodes were never
intended to be available for the POST call, but this docs change is to
document what has been implemented, not the original intention.
Change-Id: I1e35586d20bd3eda4d727931235340dd408c7508
The current documentation is basically unreadable and contains a few
factual errors. Rewrite it for simplicity and move to a separate file
since at least 2 hardware types claim its support.
The patch does not concern the current status of the feature, an
easily revertable follow-up will be posted for that.
Change-Id: I3404378333316b0736ce07610a1dbbd7847bac00
Switch to openstackdocstheme 2.2.0 and reno 3.1.0 versions. Using
these versions will allow especially:
* Linking from HTML to PDF document
* parallelizing building of documents
Update Sphinx version as well.
openstackdocstheme renames some variables, so follow the renames
before the next release removes them. A couple of variables are also
not needed anymore, remove them.
Set openstackdocs_pdf_link to link to PDF file.
Set openstackdocs_auto_name to use 'project' as name.
Depends-On: https://review.opendev.org/728938
Change-Id: I76a21521eeb432c3f4089048a4635719ba6d785c
A new dictionary field `network_data` is added to the node object.
This new field can be populated by the operator with node static
network configuration.
Ironic API now performs formal JSON document validation of node
`network_data` field content against user-supplied JSON schema at
driver validation step.
As of this commit, the new `network_data` field is not actually
used by ironic, otherwise it should be perfectly functional. In
the following commits, network static configuration will be taken
from this field and handed over to ironic ramdisk bootstrapping
utilities.
Change-Id: I868b3b56a17f59e5aa1494b2e0ebc9c4e34ef173
Story: 2006691
Task: 36991
This change adds a `lessee` field to nodes, and exposes it
to policy. It also updates the non-admin node list API
to match for both owner and lessee; and updates the
allocation conductor to match owner allocations with nodes
with the appropriate lessee.
Change-Id: Ib31b49c7143ec8fd6cb486fc24038215b197c418
Story: 2006506
Task: 37930
* Remove doc/source/install/conf.py, it's unused.
* Remove settings that are provided by openstackdocstheme from conf.py
files. Switch to newer openstackdocstheme for this.
* Remove unused deps from tox.ini: releasenotes and api-refonly need
doc/requirements but not requirements.
Change-Id: Iab5ad6cde40c3342770c0112155fe5e1d262d1e8
This change adds support for node retirement: nodes can
have additional properties 'retired' and 'retired_reason'
which change the way the nodes (can) traverse the FSM
and which operations are allowed. In particular:
- retired nodes cannot move from manageable to available;
- upon instance deletion, retired nodes move to manageable
(rather than available).
Story: #2005425
Task: #38142
Change-Id: I8113a44c28f62bf83f8e213aeb6704f96055d52b
The API docs stated that the values of target_power_state in a
Node State Summary are the same as the valid input values in a Change
Node Power State request (i.e. they include "rebooting", "soft
rebooting", and "soft power off"). However, in actuality these are all
compressed to either "power on" or "power off" by the
_calculate_target_state() function.
Change-Id: I8c8b8c707102275a48233fc853acfb65f556946e
Story: #2007089
Task: 38115
Add an owner to allocations. Depending on policy, a non-admin
can then create an allocation and have the owner set to their
project. Allocation processing then respects the owner.
Change-Id: I2965a4a601b9fa2c0212097da37b104a3e5514df
Story: #2006506
Task: #37540
configdrive can contain a vendor_data2.json file containing key/value
pairs injected by nova's vendordata mechanism[1].
This change lets Ironic accept a vendor_data key when configdrive is
provided as json, allowing parity with nova.
This change requires an openstacksdk release 0.37.0
[1] https://www.madebymikal.com/nova-vendordata-deployment-an-excessively-detailed-guide/
Change-Id: Id990b970619a113c5d5ead47fb550870d91b5e04
Task: 36756
Story: 2006597
Blueprint: nova-less-deploy
This feature addresses the case of moving the already deployed nodes
under the allocation API.
Change-Id: I29d0bd3663e0d1b27727a700c0f0e0fb6ceac1d9
Story: #2005014
Task: #29491
Extend the API with the ability to build config drives from meta_data,
network_data and user_data, where meta_data and network_data are JSON
objects, and user_data is either a JSON object, a JSON array or
raw contents as a string.
This change uses openstacksdk (which is already an indirect dependency)
for building config drives.
Change-Id: Ie1f399a4cb6d4fe5afec79341d3bccc0f81204b2
Story: #2005083
Task: #29663
As per title, this patch adds default_boot_interface and
enabled_boot_interfaces references, definitions and examples
to the api-ref documentation.
Change-Id: I35d4829c32cc48d5734c269c0a83ad9b4fbdd660
This patch updates API reference to contain the changes made
by the feature of exposing conductors.
Story: 1724474
Task: 28064
Change-Id: I47dbea2cda1cc0ad73786fe3fe9b80850e1cf289
Changes are made to support ironic handling is_smarting port attribute
that was added in this change Ic2ffbd6f1035907ea5a18bda6d2b21e617194195
This change expose is_smartnic port field in REST API, updated API
reference to include is_smartnic field and relevent documentations.
API version updated to 1.53.
Story: #2003346
Change-Id: I89ce54a0c034f2a5f82ff961ab06cfcc6d853bd4
Update api-ref to include the description field.
Also updated a few missing owner field.
Change-Id: I81c5bf1be18ac4109f0e5ef66193ff66f484d107
Story: 2003089
Task: 23178
Adds "owner" field on the node object and exposes it for updates
via the API.
Additionally, fixed a couple minor items related to the prior
where we missed updating version numbers in rebases.
Change-Id: Iaaf3db97d21de9b11236cf2d18ffcc3f73f6e50c
Story: #2001814
Task: #12550
Some type of BMCs don't support an IPMI option that disable the
behavior of boot device timeout, which makes them never get booted
from PXE.
This patch extends the fix [1] by adding a configuration option,
which provides the default ipmi behavior.
[1] https://review.openstack.org/#/c/616053
Additionally revising the variable/setting names based upon review
feedback and discussion that took place during the 20181210 weekly
ironic team meeting.
Change-Id: Ie049bbaf45aeab54c1272d1d561c5a6ca00dc34a
Story: 2002977
Task: 22985
The future of scheduling with custom resource classes is now!
Actually it has been for a couple of years. This drops the
"future" part of the parameter description and links to the
docs on configuring nova flavors with custom resource classes
for scheduling with the placement service.
Change-Id: Id904acdf305096738604eacb225136f1f9c03338
The IPMI driver unconditionally instructed the BMC not automatically
clear boot flag valid bit if Chassis Control command not received within
60-second timeout (countdown restarts when a Chassis Control command is
received). Some BMCs do not support setting this. Sending the command
aborts the node boot.
A new driver option ``ipmi_disable_timeout`` is added to bypass
sending this command.
Change-Id: I1dda3cf3e4b7b888ed9d8931c8ede3a918dd01f4
Story: 2004266
When handling the "pet" case, some nodes may be critical for the deployment.
For example, in an OpenStack installer like TripleO you may want to make
sure your controllers are not removed by an incorrect operation.
This changes introduces a new field "protected" on nodes. When it is
set to True, the "deleted" and "rebuild" provisioning actions fail with
HTTP 403. Deleting such nodes is also not possible.
Also adds "protected_reason" for the operators to specify the reason
a node is protected.
Story: #2003869
Task: #26706
Change-Id: I1950bf6dd65b6596cae69d431ef288e578a89d6e
Adds a 'deploy_step' field to the nodes API.
Co-Authored-By: Ruby Loo <rloo@oath.com>
Change-Id: I1baeeaaa6ed521e4189958fd7624cd6c5de96707
Story: #1753128
Task: #22592
We currently support /[nodes, ports, portgroups, chassis]/detail as an
API endpoint for getting a detailed list of each object. This does not
fit the RESTful and resourceful API design principles of <resource
type>/<resource id> and makes it hard to consume the API from frameworks
that expect that structure. We can't remove the old endpoint, so that is
safeguarded by the restricted node names list. This patch adds a
?detail=[True, False] query string to the list API endpoints to allow
those consuming the API to use the expected URL form.
Change-Id: I694919b4a4eaa3419318bbee1cde79de15e19afa
Story: #1662921
Task: #10176
Separate parameter identifiers in case when a parameter
is required in the request or response.
This patch adjusts the relevant *.nic file to fix the problem.
Change-Id: Ie2c8cae2280fc1e92a5e6f3fef4f2783a12a2c3f
Story: #1651775
Task: #10160
This patch exposes fault field to the API node object,
microversion and compatibility is handled.
Story: #1596107
Task: #10469
Change-Id: I31ed332be12cf98baaf01badcbb09ae4b8c6cae9
Partial-Bug: #1596107
Fix the pep8 E402 (Module level import not at top of file) errors.
For the Alembic files move the definitions of 'revision' and
'down_revision' below the imports. This is now done in Alembic [1]
For other files fix as needed by moving the imports or lines before
the imports.
In a few cases add a "# noqa E402" to whitelist the issue.
[1] dc2aae0374
Change-Id: I48c96d5da0cb747b3ca3fceea9b4ffa85a9ebe22