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>
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>
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>
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>
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>
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>
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
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>
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>
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
Update api-ref, documentation to reflect the new
endpoints and the new way to set node provision state.
Related-Bug: #2027690
Change-Id: I2106691c08eb04d1001ccf97e6e08fc811356874
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
- /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
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
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
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
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
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
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
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