Commit graph

212 commits

Author SHA1 Message Date
Zuul
530c88757a Merge "[api-ref] Fix api-ref to mention list port by cg" 2025-12-11 14:46:30 +00:00
Jay Faulkner
2622864b70 [api-ref] Fix api-ref to mention list port by cg
Ports can be listed by conductor group since Flamingo, but due to an
error in the api-ref update, we weren't properly documenting it.

Change-Id: I98b329897946ef05ff82df5f1683075f17ecd3c0
Signed-off-by: Afonne-CID <afonnepaulc@gmail.com>
Signed-off-by: Jay Faulkner <jay@jvf.cc>
2025-12-10 11:17:07 -08:00
Takashi Kajinami
d12fc12a88 Drop remaining references to ironic-inspector
Remove a few remaining references to ironic-inspector, which were not
covered by 32dd5ec596 which removed
integration with ironic-inspector.

Change-Id: Ib391c0f697c7f90f99660cf333deb0cd25a3bc05
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
2025-11-28 01:35:34 +09:00
Jay Faulkner
bc463ebcbb Add node.instance_name
This adds node.instance_name as a top level field

Additionally, to provide forwards-compatability for nova clients,
we will automatically set node.instance_name if
node.instance_info.display_name is being set.

Tested the following in devstack, using manual CURL api calls:

 - Viewing an instance_name via GET /v1/nodes/node-name
 - Adding an instance_name
 - Clearing instance name on undeploy
 - Setting an instance_name via PATCH /v1/nodes/node-name
 - Setting a instance_info/display_name and validating it sets instance_name
 - Setting a instance_info/display_name when instance_name already exists and
   validating it DOES NOT OVERRIDE existing instance_name
 - node.instance_name not returned for API version < our micro version
 - querying /v1/nodes with ?instance_name=somename
 - (cid) Sort of fully tested integrated with nova by observing CI logs
 - (jayf) Added missing comments around API versions, and added a reminder
   comment

Generated-By: Claude code
Change-Id: Ic24b2e8dbe88c59f0df52a0f5581d48492ba8cd7
Signed-off-by: Afonne-CID <afonnepaulc@gmail.com>
Signed-off-by: Jay Faulkner <jay@jvf.cc>
2025-11-12 13:34:51 +01:00
Clif Houck
7a67d4f183 Add a new 'category' field to the Portgroup object
Adds a new category field to the portgroup object. Foundational
work for first milestone of trait based port scheduling.

Depends-On: https://review.opendev.org/c/openstack/ironic-tempest-plugin/+/955799
Change-Id: I5100144a330602996c27ed18d2bbde09be6e9571
Signed-off-by: Clif Houck <me@clifhouck.com>
2025-11-04 12:44:01 -08:00
Zuul
f27be2b2b9 Merge "Add a new 'physical_network' field to the Portgroup object" 2025-10-31 14:08:13 +00:00
Zuul
f568283934 Merge "Document instance_uuid JSON PATCH non-compliance" 2025-10-24 15:25:11 +00:00
Afonne-CID
f7e9da0a79 Document instance_uuid JSON PATCH non-compliance
Add API documentation noting that instance_uuid does not follow
RFC 6902 behavior in that the "add" operator cannot replace existing
values, preventing race conditions between Nova compute agents.

Closes-Bug: #1310843
Change-Id: I1caaf5b6133d756cf9484d3e5b56f7b8280525db
Signed-off-by: Afonne-CID <afonnepaulc@gmail.com>
2025-10-21 06:31:19 +01:00
Clif Houck
4a4ea08fce
Add a new 'physical_network' field to the Portgroup object
Adds a new physical_network field to the portgroup object.

Adds logic to forbid changing Port.physical_network when said Port is
already part of a Portgroup. Adds logic to Portgroup to cascade
Portgroup.physical_network changes/updates to member Ports of the
Portgroup.

Adds RPC call to update physical_network on Portgroup.

Foundational work for first milestone of trait based port scheduling.

Depends-On: https://review.opendev.org/c/openstack/ironic-tempest-plugin/+/955799
Change-Id: I5a9d9c19182b232bc1b8446644cab0bf6d68d139
Signed-off-by: Clif Houck <me@clifhouck.com>
2025-10-13 13:50:40 -05:00
Stephen Finucane
210d2b32bd api: Allow bios values to be None
Despite what the api-ref says [1], the 'bios.[*].value' field included
in responses to 'GET /v1/nodes/{node_ident}/bios' can be null. The
BIOSSetting database model in 'ironic.db.sqlalchemy.models' confirms as
much. Update the schema and api-ref to reflect this. This leaves only
the 'name' and 'created_at' fields as non-nullable.

Change-Id: Idcc03e6ce377ecf6b9db511e3283fb6f2496b037
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Closes-bug: #2127079
2025-10-08 13:42:39 +01:00
Zuul
583f85c1d6 Merge "api: Add schema for bios API (responses)" 2025-08-22 20:42:30 +00:00
Stephen Finucane
9a1580517c api: Add schema for bios API (responses)
We also harmonise the api-ref docs.

Change-Id: Ife3e6ae660f85d1e6a6e2fb835d08e4d45d1827e
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-08-19 17:04:44 +00:00
Clif Houck
7e602d8427
Add a new 'category' field to the Port object
Adds a new category field to the port object. This is foundational work
for the first milestone of trait based port scheduling.

Change-Id: Ica76ae3da08bdf743a495781fe958cb71493a2e7
Signed-off-by: Clif Houck <me@clifhouck.com>
Signed-off-by: Jay Faulkner <jay@jvf.cc>
2025-08-18 21:59:33 -05:00
Clif Houck
8a2e33e808
Add a new 'vendor' field to the Port object
Adds a new vendor field to the port object. This is foundational work
for trait based port scheduling.

Depends-On: https://review.opendev.org/c/openstack/ironic/+/957166
Change-Id: Ifce7da0a123e9f36a83f1a6a34759b25c9b2e416
Signed-off-by: Clif Houck <me@clifhouck.com>
2025-08-13 11:15:28 -05:00
Zuul
0ef74c7d2d Merge "Add port/portgroup list conductor groups filter" 2025-05-30 17:16:22 +00:00
Harald Jensås
65f1396d19 Add port/portgroup list conductor groups filter
Allow filtering on conductor groups when listing ports
and portgroups.

Story: 2010373
Task: 46611
Change-Id: Id5b4f9eb29c2f598bc29fbf0b4b7c896ece3756d
2025-05-28 22:23:13 +01:00
Afonne-CID
cd23ae4777 Trivial: Fix gap in microversion sequence
Change-Id: Ib70d31c22fac112431231e61f647185798e47ab1
2025-05-06 00:22:22 +01:00
cid
5b372dd9ed A new 'description' field to the port object
Adds a description field that allows users to add description to ports.

Closes-Bug: #2099906
Change-Id: I1290c04698d50c7f01d74ef73296bf24f1b85152
2025-04-04 09:20:06 +00:00
Zuul
0f63b6c23c Merge "doc: Migrate Inspection Rules" 2025-03-27 19:45:11 +00:00
cid
399a6c12d1 doc: Migrate Inspection Rules
Document inspection rules.

Related-Change: https://review.opendev.org/c/openstack/ironic/+/939217
Change-Id: If6d77a2caf873a716ae8d96eea7ee9b3fd3fbe40
2025-03-27 13:14:15 +01:00
cid
282dd1ebaf Trivial: Fix Doc8 D000 errors by adjusting title
Fix Doc8 D000 errors by adjusting title underline lengths.

Change-Id: If279f37cc7869e9071e3aa8ec67f0b559652a43a
2025-03-27 12:57:46 +01:00
Derek Higgins
13f61e674e Allow setting of disable_power_off via API
Change-Id: I1555878ba847805fddaf0d7a2a4babe50acfa674
2024-11-28 12:06:23 +00:00
Zuul
312fed31d7 Merge "Added missing fields in API Ref" 2024-10-31 16:36:44 +00:00
Sharpz7
8466ba7c2b Added missing fields in API Ref
Change-Id: Ia2de52368d7f7967b0cb62cf433883490feebd6b
2024-10-30 22:11:28 +00:00
Jay Faulkner
a72aad5354 Make all API samples valid JSON
As part of the migration to pre-commit for CI, we will begin linting
JSON files in the repo. These were all invalid JSON and are being
updated in anticipation of that update.

Change-Id: Ib6c7581fb20211d2b7134f506286c73e5c2cd6bb
2024-10-29 14:55:44 -07:00
cid
da002a341c Add support for node name in port creation
Add support for creating ports using either node UUID or node name.

Closes-Bug: #1439901
Change-Id: I215619648bbe7aa1152e0f117971bece74ffe1fe
2024-10-23 11:43:10 +01:00
Zuul
5821444b86 Merge "add virtual media GET api" 2024-08-16 22:40:24 +00:00
cid
ba096e091a Follow up to the runbooks change (#922142)
Update api-ref, documentation to reflect the new
endpoints and the new way to set node provision state.

Related-Bug: #2027690
Change-Id: I2106691c08eb04d1001ccf97e6e08fc811356874
2024-08-13 11:52:36 +01:00
Himanshu Roy
c9cf2347ea add virtual media GET api
Closes-Bug: 2072307
Change-Id: I6020a7904639f5b6628bcabb5a861ecc397a8b05
Signed-off-by: Himanshu Roy <hroy@redhat.com>
2024-08-08 13:33:14 +05:30
cid
48f50248c2 Self-Service via Runbooks
Adds runbooks; the new API feature that makes it possible for
project members to self-serve maintenance tasks through curated step
lists associated with target nodes via traits.

In addition to basic CRUD support, runbook extends current API flow for
performing manual cleaning and servicing to support runbooks in lieu of
an explicit/arbitrary ``clean_steps`` and ``service_steps`` user-defined
lists.

Demo Video: https://youtu.be/00PJS4SXFYQ
Closes-Bug: #2027690

Change-Id: I43555ef72cb882adcada2ed875fda40eed0dd034
2024-08-02 05:44:29 +01:00
Jay Faulkner
1285417c7a Add Node Servicing to api-ref
Adding service verb and service_steps attributes to API reference.

Change-Id: I7078f3b9e415c30ab45291bef8c52a66ff7eab8c
2024-05-21 14:33:44 -07:00
cid
ee5315bcf3 Remove special treatment of .json for API objects
- /v1/nodes/test.json will now only mean node with the name
"test.json"
- /v1/nodes/test.json.json will mean a node with the name
"test.json.json" and,
- /v1/nodes/test will mean a node with the name "test".

So /v1/nodes/test.json will no longer default to "test" and
will HTTP 404 unless a node with the name "test" actually exists.

This also removes the backward compatibility with the
guess_content_type_from_ext feature

Closes-Bug: #1748224

Change-Id: If4b3a23e2a09065f5e063e66cff66b96af4d3393
2024-04-25 17:58:00 +01:00
cid
20543fc115 Follow-up: Use `microversion-parse` to parse version headers in API requests
Adds a release note, unit test, and documentation update as a follow-up to the
`microversion-parse change <https://review.opendev.org/c/openstack/ironic/+/913793>`_

Change-Id: I535af988125a511e4f54c9d81acd47c327413774
2024-04-18 19:53:34 +01:00
Zuul
df9e1ba80e Merge "[codespell] Fixing Spelling Mistakes" 2024-03-14 17:13:05 +00:00
Dmitry Tantsur
44939f1ab3
Trivial: include vmedia API in the reference
Change-Id: If5049e526e07d3f472358a61aa750fe4bad750b6
2024-02-29 10:50:55 +01:00
Sharpz7
949387bd80 [codespell] Fixing Spelling Mistakes
This is the first in a series of commits to add support for codespell. This is continuning the process completed in ironic-python-agent.

Future Commits will add a Tox Target, CI support and potentially a git-blame-ignore-revs file if their are lots of spelling mistakes that could clutter git blame.

Change-Id: Id328ff64c352e85b58181e9d9e35973a8706ab7a
2024-02-12 19:58:56 +00:00
Zuul
bd7b562bc0 Merge "trivial: fix api-ref generation script" 2024-02-07 20:58:28 +00:00
Julia Kreger
8b79a20d7b trivial: fix api-ref generation script
A long time ago, Mario filed a BZ. But nobody fixed it.

It was an easy fix, and I've done it here.

Closes-Bug: 1662326
Change-Id: I89d4fd9dd93950ff59419c913fe292de17b112e7
2024-02-02 16:38:41 -08:00
Boushra Bettir
ed946c4d55 Basic support for OVN VTEP switches
Adds basic support for passing OVN VTEP switch metadata to
neutron via Ironic's port.local_link_connection field.

Adds microversion 1.90 to Ironic's API, adding support for
new schema in port.local_link_connection

Bump version of the jsonschema library to ensure consistent
behavior with new schema configurations.

Add documentation warning: This has not been tested as no
Ironic developers have access to the hardware in question.

Closes-bug: #2034953
Co-Authored-By: Austin Cormier <acormier@juniper.net>
Co-Authored-By: Jay Faulkner <jay@jvf.cc>
Change-Id: Ie98dc4552ec2ea16db1e2d382aed54ce9dfef41b
2024-01-19 13:37:12 -08:00
Zuul
be242dc13b Merge "Generic API for attaching/detaching virtual media" 2023-11-30 14:02:38 +00:00
Dmitry Tantsur
0902912217 Generic API for attaching/detaching virtual media
This patch allows to attach or detach a generic image as
virtual media device after a node has been provisioned.

Closes-Bug: #2033288
Change-Id: I97b68047d769f6fb686c53e89084b5874e02b8c7
2023-11-23 09:55:09 +01:00
Steve Baker
43ccb17e15 [api-ref] Add firmware fields to driver API
Change-Id: Ic97833fc836afd643d296fd98cf204317f55dd51
2023-11-01 09:49:05 +13:00
Steve Baker
7639268e79 [api-ref] Complete port name and shard documentation
Change-Id: I92da15361f203d2f973959a06e5d92394b29c016
2023-11-01 09:44:26 +13:00
Iury Gregory Melo Ferreira
6c8a04e8f0 api-ref for nodes/{node_ident}/firmware
Change-Id: Ica87a7f4bc3a2cce679155200452d7b915d3f0f5
2023-09-29 14:51:10 -03:00
Zuul
6d9779bf6b Merge "Redfish: wait for secure boot state change if it's not immediate" 2023-09-21 13:29:47 +00:00
Iury Gregory Melo Ferreira
4eb0dbf7b5 RedfishFirmware Interface
Change-Id: I75b2433fade0c36522024c16608d61cd663b38d5
2023-09-20 13:09:38 -03:00
Dmitry Tantsur
6487b95813 Redfish: wait for secure boot state change if it's not immediate
We have discovered hardware that only applies boot mode / secure boot
changes during a reboot. Furthermore, the same hardware cannot update
both at the same time. To err on the safe side, reboot and wait for
the value to change if it's not changed immediately.

Co-Authored-By: Jacob Anders <janders@redhat.com>
Change-Id: I318940a76be531f453f0f5cf31a59cba16febf57
2023-09-12 18:30:36 +02:00
Jay Faulkner
d2c11df694 Fix typo in deploy_templates docs
There is no /v1/deploy_template; should be /v1/deploy_templates.

Change-Id: Iab0c7be8dd54f2b4d01b0655d615381610eb84d4
2023-07-31 14:35:18 -07:00
Iury Gregory Melo Ferreira
aecb581082 Firmware Interface
FirmwareInterface base
New Config options [default]
- enabled_firmware_interfaces
- default_firmware_interface

New FirmwareInterface base with update method
Implementations of FirmwareInterface
- FakeFirmware (fake)
- NoFirmware (no-firmware)

New entrypoint ironic.hardware.interfaces.firmware
* fake and no-firmware

Api Controllers
- Updated: driver/node/utils/versions
- Created: firmware

Unit tests
api-ref for Node Firmware

Fake and Noop implementation for FirmwareInterface

Change-Id: Ib3b9cb22099819f97d5eab1e3f1b670cb91cbb25
2023-07-11 07:39:15 -03:00
Zuul
d107252caa Merge "follow-up on DPU change api-ref" 2023-05-25 01:58:35 +00:00