- If image availability is shared and conductor_project_id is in the
image shared member list, allows access
Closes-Bug: #2099276
Change-Id: I6b8a10fe82b41aa37b4f14bca9d3c0c498882bd1
Allow special characters in patch field keys, as long as they
are correctly encoded per JSON pointer and patch specs RFC 6901
and RFC 6902.
Closes-Bug: #1604148
Change-Id: I7eeb52b51a0e8ba96103e0863819653021c79271
- Kept the "abort" term in the relevant documentation as
it's the actual verb in the API per reviewer feedback.
- Updated sentence "CentOS 7 development images are no longer updated" by removing "development".
Partial-Bug: #2072365
Change-Id: Ibc09693f26a0c4e26bbd3ba2fc7918383c4d81ec
We tested and successfully built Rocky Linux and Alma Linux Ironic images using Diskimage-builder. Add the method.
Change-Id: I22758dd59c54038e7ed72e513c61fcddba0ef473
This module being 'cmd' means that when using unittest native test
discovery, it tries to load our cmd module instead of the built-in. This
obviously does not impact test running in CI or via tox, but by renaming
this we'll make our ironic tests compatible with vscode (and I presume
any other unittest-discover based IDE testing setups).
Change fully generated by cursor IDE with review and minimal editing by
me.
Generated-By: Cursor
Change-Id: I6c9b92e6b0bee366ff40795c722bd70d16cf0e4f
We've had a couple asks about enabling ipmitool-socat console usage
with the redfish hardware type.
This doesn't pickup parameters from driver_info to figure out the IPMI
username, password, and hostname/address, which turns out to be a rather
invasive change to ipmi handling code and test code as well.
Change-Id: I69dfeeec59317871c9f6a206966dd6a9d2ca9e3e
Adds additional basic simulator support to stand up a virtual
Cisco Nexus 9000 switch for testing in devstack to faciltate
development and testing.
Change-Id: Id66e6bcc646a6d35a2caa5ecbc6b8cd881adb7aa
Adds documentation around support for switch simulators
to the contributor documentation to appropriately scope aspects
as to why the support has been added for the devstack plugin.
Change-Id: Ic141804e6adc8d08957875e1b169dca52c99e448
Create an Ironic support resources page with a table of the community's platforms
Closes-Bug: #2072357
Change-Id: I0904f09fe72cf7b08da21b0b251fe9c6e2d148f5
Improve documentation on how to create, associate and use runbooks
with nodes via traits for cleaning and servicing operations.
Change-Id: If99866ef8bfc200b430f17cff784cf96e916536d
This change cleans up and elaborates on existing graphical console
documentation, and also adds an overview document describing how it all
works together.
Closes-Bug: 2086715
Change-Id: I16b7ffb993e1ca5148b5205f0a35a74db85337d5
Updated the documentation for the anaconda deploy interface based on how
it is functioning. Rewrote some sections in an attempt to add clarity
around the behaviors and operations of the interface.
Change-Id: Id4a9b0033d356446b4fe392a20faa63625b4c20d
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
New ``console`` drivers ``redfish-graphical`` and ``fake-graphical``
have been added. This allows the graphical console to be accessed for
Dell iDRAC, HPE iLO, and Supermicro hosts. The ``fake-graphical`` driver
is useful for demonstrating the full integration of
``ironic-novncproxy`` and the ``systemd`` provider of
``ironic.console.container``.
Related-Bug: 2086715
Change-Id: If1899aedbcda606895bab120e301a006818b85a5
A new entry point ``ironic.console.container`` is added to determine how
console containers are orchestrated when ``ironic.conf``
``[vnc]enabled=True``. By default the ``fake`` provider is specified by
``[vnc]container_provider`` which performs no orchestration. The only
functional implementation included is ``systemd`` which manages
containers as Systemd Quadlet containers. These containers run as user
services and rootless podman containers. Having ``podman`` installed is
also a dependency for this provider. See ``ironic.conf`` ``[vnc]``
options to see how this provider can be configured.
The ``systemd`` provider is opinionated and will not be appropriate for
some Ironic deployment methods, especially those which run Ironic inside
containers. External implementations of ``ironic.console.container`` are
encouraged to integrate with other deployment / management methods.
Related-Bug: 2086715
Change-Id: Ib890c3c7be91ddd78a43b9c5261dd1d8c1054c04
This is a forklift of the nova novncproxy service to act as the noVNC
front-end to graphical consoles.
The service does the following:
- serves noVNC web assets for the browser based VNC client
- creates a websocket to proxy VNC traffic to an actual VNC server
- decouples authentication traffic so that the source server can have
a different authentication method than the browser client
The forklifted code has been adapted to Ironic conventions, including:
- [vnc] config options following Ironic conventions and using existing
config options where appropriate
- Removing the unnecessary authentication method VeNCrypt, leaving only
the None auth method.
- Adapting the ironic-novncproxy command to use Ironic's service launch
approach, allowing it to be started as part of the all-in-one ironic
- Replace Nova's approach of looking up the instance via the token.
Instead the node UUID is included in the websocket querystring
alongside the token
- Removing cookie fallback when token is missing from querystring
- Removing expected protocol validation in the websocket handshake
- Removing internal access path support
- Removing enforce_session_timeout as this will be done at the
container level
Related-Bug: 2086715
Change-Id: I575a8671e2262408ba1d690cfceabe992c2d4fef
Shellinabox hasn't received an update in 7 years.
Debian recently asked for maintainership to be handed over due to
open issue counts and lack of responses.
All sorts of open issues exist. It appears branches were deleted
in late 2024, forks still have them though.
Basically, looks like shellinabox is abandoned, and we should
treat it as such and abandon support in Ironic.
Change-Id: I5704e1a6a6a816e1cca3b5d0c791eed030cfc563
Adds a ``bootc`` deployment interface which can be enabled to
perform deployment of bootable containers. This enables a streamlined
workflow where an operator/user can push container updates and does not
need to build intermediate disk images and then post those disk images
to facilitate the deployment of a bare metal node.
Closes-Bug: 2085801
Change-Id: Iedb93fe47162abe0bd9391921792203301bfc456
Give an overview of the metal3 integration job, its workflow,
and adds usefule links to familiarize with the metal3 project
and reach the metal3 community.
Change-Id: I94bd6a90f813af7323a7c3363577953a69e62ade
Adds support to use an OCI url for references to artifacts
to deploy.
- Identification of a disk image from the container registry.
- Determination of an image_url which IPA leverages to download
content. Content cannot be compressed at this point in time.
- Ironic can download the file locally, and with a patch to
detect and enable Zstandard compression, can extract the
URL, starting from either an OCI container URL with a Tag,
or a specific manifest digest, which will then download the
file for use.
- User driven auth seems to be good.
- Tags work with Quay, however not OpenShift due to what appears
to be additional request validation.
Closes-Bug: 2085565
Change-Id: I17f7ba57e0ec1a5451890838f153746f5f8e5182
The _format_doc function filters out fields from the docstring when generating Sphinx documentation but does not account for a case where there may be blank lines between fields. As a result, only the last group of fields may be filtered out. This fix filters out all lines which are fields.
Closes-Bug: #2097310
Change-Id: I7e702b82b4d2ce20520479d8a8210be36bfbdd5e
There was a hanging ` but at the same time having two blocks of fixed
width text next to each other it led to some user confusion so reflowed
it to be a bit more clear.
Change-Id: I1f326bf8f6807c8ce1967d954d1b643f31fbaba3
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>