145 Commits

Author SHA1 Message Date
Julia Kreger
8e8c1b087b There is no aim, we do deploy/manage baremetal.
Fix the root description header, since the Ironic project is
very far past the days of when we were aiming to provision baremetal.

Change-Id: I21f6058fe29b1495dbde63ec09a1227568dc3f08
2021-10-15 15:52:58 -07:00
Julia Kreger
fb9eae7412 API endpoints to get node history
Adds API for retrieving node history events
via a node. Includes pagination and limitation
of the response set.

Story: 2002980
Tas: 42961

Change-Id: I22a92fa6c30d721f6a5dd0670b2e0a9cf76ad7b1
2021-09-15 10:54:11 -07:00
Zuul
20503d94e5 Merge "Add support for fields in drivers API" 2021-09-15 13:33:46 +00:00
Tadeas Kot
ee06761b0e Add support for fields in drivers API
This commit add support for the fields query parameter to the GET /v1/drivers?fields=... and GET /v1/drivers/<driver_name>?fields=....

Story: 1674775
Task: 10581
Change-Id: I2ca4eb490e320e736a93851eed526ec862be901e
2021-08-27 11:57:41 +02:00
Cenne
5b545086ac Minor formatting and doc changes to change boot mode feature commit.
Story: 2008567
Task: 41709
depends-on: https://review.opendev.org/c/openstack/ironic/+/800084
Change-Id: I44e41dc3d8abcb99a2248d7b9c7ac5e9d786bb98
2021-08-24 14:29:53 +02:00
Cenne
bc95c92f7c Add api endpoints for changing boot_mode and secure_boot state
Done:
  - Node API endpoints expose
  - RPC methods
  - Conductor Manager methods
  - Conductor utils new methods
  - RBAC new policies
  - Node API tests
  - Manager Tests (+ some testing for utils methods)
  - RBAC tests
  - Docs (api-ref)
  - REST API version history
  - Releasenotes

Story: 2008567
Task: 41709

Change-Id: I2d72389edf546b99c536c6b130ca85ababf80591
2021-08-23 19:38:58 +02:00
Zuul
33842cda0d Merge "Add a section to redfish doc for BIOS registry fields" 2021-07-19 10:17:54 +00:00
Bob Fournier
58ca01c22a Add a section to redfish doc for BIOS registry fields
Move the descriptions of the BIOS registry fields in the API to
a new section in the Redfish documentation.

Change-Id: Ifedb4526113bb84ccc598e13f5767b71a60f5532
2021-07-13 21:56:57 -04:00
Cenne
46ff51487a Add boot_mode and secure_boot to node object and expose in api
* add fields to Node object
  * expose them at endpoint `/v1/nodes/{node_ident}/states`
  * update states on powersync / entering managed state.
  * tests
  * update api endpoint info in api-ref

Story: 2008567
Task: 41709

Change-Id: Iddd1421a6fa37d69da56658a2fefa5bc8cfd15e4
2021-07-08 15:04:15 +02:00
Iury Gregory Melo Ferreira
26cf25d98a Follow-up to Include bios registry fields in bios API
This commit is a follow-up to Ie86ec57e428e2bb2efd099a839105e51a94824ab

Story: #2008571
Task: #42546
Change-Id: I6fa4658180772ff9c4ff00f95b28cf8a1b5d4223
2021-06-01 11:22:27 +02:00
Bob Fournier
e15440370c Include bios registry fields in bios API
Provide the fields in the BIOS setting API -
``/v1/nodes/{node}/bios/{setting}``, and in the BIOS setting list API
when details are requested - ``/v1/nodes/<node>/bios?detail=True``.

Story: #2008571
Task: #42483
Change-Id: Ie86ec57e428e2bb2efd099a839105e51a94824ab
2021-05-27 12:15:20 -04:00
Bob Fournier
9a09f1bdc9 Add missing bios_interface to api-ref for validate API
Fixing another case of bios interface missing from the api-ref
documentation, this one for the validate API.

Change-Id: I8ae3212f04a8d150af8adde5f5f87e5a5451da14
2021-05-21 09:16:40 -04:00
Bob Fournier
98c9500614 Add bios_interface to api-ref spec
This is a doc change to add bios_interface to the api reference. Its
included in the detailed node list and node show but wasn't shown
in the api-ref.

Change-Id: I8735d10db1644f8a2c872c75c156c75c06b79c0c
2021-05-14 11:31:40 -04:00
Dmitry Tantsur
929907d684 Bye-bye iSCSI deploy, you served us well
The iSCSI deploy was very easy to start with, but it has since become
apparently that it suffers from scalability and maintenance issues.
It was deprecated in the Victoria cycle and can now be removed.

Hide the guide to upgrade to hardware types since it's very outdated.

I had to remove the iBMC diagram since my SVG-fu is not enough to fix it.

Change-Id: I2cd6bf7b27fe0be2c08104b0cc37654b506b2e62
2021-05-04 14:28:25 +02:00
Dmitry Tantsur
30a85bd0ce API to force manual cleaning without booting IPA
Adds a new argument disable_ramdisk to the manual cleaning API.
Only steps that are marked with requires_ramdisk=False can be
run in this mode. Cleaning prepare/tear down is not done.

Some steps (like redfish BIOS) currently require IPA to detect
a successful reboot. They are not marked with requires_ramdisk
just yet.

Change-Id: Icacac871603bd48536188813647bc669c574de2a
Story: #2008491
Task: #41540
2021-03-16 16:08:46 +01:00
Aija Jauntēva
3138acc836 Add 'deploy steps' parameter for provisioning API
Story: 2008043
Task: 40705
Change-Id: I3dc2d42b3edd2a9530595e752895e9d113f76ea8
2021-02-03 11:47:53 -05:00
Steve Baker
50657a87df Complete the REST API POST documentation
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
2020-12-16 11:14:37 +13:00
Dmitry Tantsur
255fac17a0 Rewrite DHCP-less documentation
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
2020-12-15 14:45:46 +01:00
Ruby Loo
3334b71773 Add 'agent_token' to heartbeat request
Updates the API ref to include the 'agent_token' value in a
heartbeat request (from IPA). New since v1.62
(9341ca4ef7/ironic/api/controllers/v1/versions.py (L102)).

Change-Id: I5eea9704c1bf62561a5505227735159dad7a8e49
2020-09-10 14:19:21 +00:00
Iury Gregory Melo Ferreira
42f28a4d32 Add api-ref for indicators API
Change-Id: Ie40f585b26efdd70b88f2e642698eb9e988e3d97
Story: 2007745
Task: 39923
2020-06-19 09:05:08 +02:00
Zuul
c2b2e7521a Merge "Fix pygments style" 2020-05-21 20:48:27 +00:00
gugug
271ecdd119 Fix pygments style
New theme of docs respects pygments_style.

more info: http://lists.openstack.org/pipermail/openstack-discuss/2020-May/014971.html

Change-Id: I5d87b0e4da19a51c47f02e5a88957ce1fea4c21d
2020-05-21 01:17:09 +00:00
Zuul
ff8a0c71b0 Merge "Add network_data field to ironic node object" 2020-05-19 19:10:30 +00:00
Andreas Jaeger
a2efd0b82a Switch to newer openstackdocstheme and reno versions
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
2020-05-18 19:34:17 +02:00
Ilya Etingof
653d4e4ef5 Add network_data field to ironic node object
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
2020-05-05 15:57:36 +02:00
Tzu-Mainn Chen
602a467a04 Add node lessee field
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
2020-04-07 15:33:42 +00:00
Andreas Jaeger
5cebea361b Cleanup docs building
* 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
2020-02-29 15:12:04 +01:00
Arne Wiebalck
3ecaadbb35 Support node retirement
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
2020-01-28 11:01:32 +01:00
Zane Bitter
6da62945bc Fix API docs for target_power_state response
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
2020-01-14 17:00:54 -05:00
Dmitry Tantsur
7bd643dee6 Add a missing versionadded for configdrive[vendor_data]
Change-Id: Ibfbb2f8f7a5f33e678a472a70b4b46aa1d7704e4
2020-01-07 17:20:38 +01:00
Tzu-Mainn Chen
3fbb560af1 Add owner to allocations and create relevant policies
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
2019-12-10 19:00:33 +00:00
Steve Baker
7ebad2e344 Allow vendor_data to be included in a configdrive dict
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
2019-10-31 08:55:39 +13:00
Zuul
5e4edeab97 Merge "Add api-ref for allocation update" 2019-06-07 14:11:35 +00:00
Madhuri Kumari
2d4380e323 Add api-ref for allocation update
Change-Id: I3a8cfa3d959c6906968bca7006583f45446758e5
Story: 2005126
Task: 29796
2019-06-06 09:32:39 +05:30
Dmitry Tantsur
8f6bf4f9dd Allocation API: backfilling allocations
This feature addresses the case of moving the already deployed nodes
under the allocation API.

Change-Id: I29d0bd3663e0d1b27727a700c0f0e0fb6ceac1d9
Story: #2005014
Task: #29491
2019-05-21 20:09:21 +02:00
Mark Goddard
9672cb73d2 Deploy Templates: API reference
Change-Id: I14716e6023dd09096e17e60c7d02230ecb3e7150
Story: 1722275
Task: 28680
2019-03-12 15:43:12 +00:00
Dmitry Tantsur
3e1e0c9d5e Allow building configdrive from JSON in the API
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
2019-03-05 19:14:56 +01:00
Zuul
84f6e5fb84 Merge "Adding bios_interface reference to api docs" 2019-03-01 11:08:48 +00:00
Dmitry Tantsur
08270cebab Allocation API: fix minor issues in the API reference
Follow-up to commit acc4c402de42be0b1fb179d13dcf86a4ca384206.

Change-Id: Ie519caf791b6444afdc5a8665b1fbd719f916388
Story: #2004341
2019-02-26 11:13:07 +01:00
Dmitry Tantsur
acc4c402de Allocation API: reference documentation
Change-Id: I48f20f0b96931a17c477b9687b0ee963cb7b8879
Story: #2004341
Task: #29574
2019-02-26 10:16:25 +01:00
Riccardo Pittau
e0639875f4 Adding bios_interface reference to api docs
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
2019-02-25 17:09:11 +01:00
Zuul
352e37a36d Merge "Expose is_smartnic in port API" 2019-02-12 23:20:49 +00:00
Kaifeng Wang
d4233e52a9 Expose conductors: api-ref
This patch updates API reference to contain the changes made
by the feature of exposing conductors.

Story: 1724474
Task: 28064

Change-Id: I47dbea2cda1cc0ad73786fe3fe9b80850e1cf289
2019-02-12 07:02:09 -08:00
Hamdy Khader
6325b6c13c Expose is_smartnic in port API
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
2019-02-10 12:10:00 +02:00
Kaifeng Wang
96bc6729cf Add description field to node: api-ref
Update api-ref to include the description field.

Also updated a few missing owner field.

Change-Id: I81c5bf1be18ac4109f0e5ef66193ff66f484d107
Story: 2003089
Task: 23178
2019-02-01 10:37:04 +08:00
Zuul
87b25d5447 Merge "Add "owner" information field" 2018-12-11 18:56:47 +00:00
Zuul
be8d81becd Merge "Introduce configuration option [ipmi]ipmi_disable_timeout" 2018-12-11 06:27:51 +00:00
Julia Kreger
052d90506f Add "owner" information field
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
2018-12-10 14:27:31 -08:00
Kaifeng Wang
d379357cad Introduce configuration option [ipmi]ipmi_disable_timeout
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
2018-12-10 14:04:02 -08:00
Matt Riedemann
987d330785 api-ref: update node.resource_class description
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
2018-12-07 16:50:42 -05:00