13205 Commits

Author SHA1 Message Date
Julia Kreger
4d46bbf712 grub: directly load linked config file
While troubleshooting grub network boot issues,
I did some reading and found out our model of config
was technically wrong to use a menuentry to load config
in another menuentry which may or may not be loaded.

I mean it worked, but it is simpler to just say
"go source this content into our state".

Change-Id: I5e2ec2dc5110fa0a4f9e11478502a199354454f5
2024-07-08 14:46:27 +00:00
Julia Kreger
8730a1a4b8 CI: Remove grub http boot from standalone CI test
Long story short, in some circles the EFI grub network boot
over http with VMs is regarded as unstable. What appears to
be happening, with service logs at least, is we get a HEAD
request (grub code always issues a HEAD request first to minimize
memory usage), and then re-requests the file contents.

So what we end up seeing on the grub side is:

error: Fail to receive a response! status=104

error: Fail to send a request! status=0x800000000000000f.

What appears to happen is things get gumed up in firmware and
the generally that means we can't run this test in CI.

Change-Id: I1471c9429b742abb250b9a3a910108f1711ad574
2024-07-08 14:28:15 +00:00
Jay Faulkner
d146558ac3 Require hashed passwords for rescue by default
We added this option, and advertised it's default would change several
years ago. This completes the migration.

Change-Id: I64f80fa2f971a223156cc5bf4231b59da0189885
2024-07-05 14:43:05 +00:00
Zuul
111466f782 Merge "Deprecated field in Redfish Driver" 2024-07-05 09:01:26 +00:00
Zuul
ae423e6b07 Merge "Reorganize the documentation front page" 2024-07-05 02:42:29 +00:00
Zuul
00dc3f10e0 Merge "Rework the navigation in the contributor guide" 2024-07-05 02:42:27 +00:00
Zuul
eda09db2a6 Merge "Fix rendering of Redfish properties in the documentation" 2024-07-04 17:27:24 +00:00
Jay Faulkner
e2dad9128a Localdev: disable caching and related periodic
When running out of a local tox environment, don't try to cache images,
or cleanup cached images.

Change-Id: If153923d340455497018bf0021bab86a4c8ae69b
2024-07-03 15:57:21 -07:00
Zuul
a594e63c7f Merge "Add tox env for local dev; update documentation" 2024-07-03 10:18:28 +00:00
Jay Faulkner
465bedbe7f Deprecate [agent]/manage_agent_boot
This configuration directive is completely untested, undocumented,
and requires deployers to manually configure significant
infrastructure for it. It also bypasses several deploy-time sanity
checks around whether or not we expect the server to boot.
Deprecating it for removal in 2025.2 release.

Related-bug: #2071741
Change-Id: Id73d9097e9e4152c7b635a4269b548c9dbdda0a6
2024-07-02 15:23:04 -07:00
Jay Faulkner
54c7ce513b Fixup: Move release note to proper directory
Somehow we approved a releasenote in the Ironic folder; instead we
put these in the root folder.

Change-Id: I098090f006f4aebaa9159f34d7b1906956c1ab36
2024-07-02 15:16:37 -07:00
Jay Faulkner
3dcbc19541 Add tox env for local dev; update documentation
This is a quick and easy way to get Ironic up for testing; updated to be
even quicker and easier if you don't need multiprocess or mysql.

Co-Authored-By: CID <cid@gr-oss.io>
Change-Id: Ibef8a24868fd1f507e69e6d615d6327031d11495
2024-07-01 18:28:12 +00:00
Dmitry Tantsur
1db409747f
Inspector migration: mention switching over to ironicclient
Change-Id: I6ef6f7e1971c320ced7fbfa912078b8227006e7f
2024-07-01 18:36:18 +02:00
Dmitry Tantsur
bb4cd9ea78
Upgrade check on removed or deprecated hardware types and interfaces
Issues an error on removed items still used in the configuration.

Issues a warning on deprecated items or nodes that use removed drivers
or interfaces.

Change-Id: Iebb4cd611f7111cde20acf9ba3d4c9127925b6cf
Closes-Bug: #2051954
2024-07-01 15:44:23 +02:00
cid
944ee5eee1 Deprecated field in Redfish Driver
Replaces depracated field ``storage.storage_controllers`` with the
new ``storage.controllers`` in the Redfish driver.

Closes-Bug: #2070485
Change-Id: Ibe66c73c8d2e402fabaa7a3a2fbc2f3c44e47dbd
2024-07-01 03:56:01 -07:00
Zuul
3820fc19c9 Merge "Update the redfish interoperability profile" 2024-07-01 09:19:22 +00:00
Zuul
4a49bb64cb Merge "Make redfish firmware update a service step" 2024-06-30 15:52:34 +00:00
Zuul
b1e9d6f0e8 Merge "Add RPC calls and handlers needed to support async service steps" 2024-06-30 12:19:52 +00:00
Zuul
6ad623bb84 Merge "Fix log statement about starting inspection" 2024-06-29 17:11:58 +00:00
Zuul
c63b56edfa Merge "Remove deprecated idrac wsman driver interfaces" 2024-06-28 18:44:45 +00:00
Zuul
98ff48a930 Merge "Remove unused parameter in ansible driver" 2024-06-28 18:36:29 +00:00
Jacob Anders
62ff8a949f Make redfish firmware update a service step
This commit makes changes neccessary for redfish.firmware.update to work
as both clean_step and service_step. This is done by adding a service
step decorator, adding conditional code to pass the execution to the
appropriate subsequent functions and modifying the periodics used to
handle async tasks.

Change-Id: I20a40127f66f734005a03365b806310a155dc237
2024-06-28 10:41:02 +10:00
Jacob Anders
b9d1ace728 Add RPC calls and handlers needed to support async service steps
This change adds missing RPC calls and handlers to bring service steps
to parity with deploy and clean steps, allowing service steps to run
asynchronously.

Change-Id: I82f95236797f24b84798be92b53deb7ec4f46dce
2024-06-28 09:07:03 +10:00
Dmitry Tantsur
be5c4b7d63
Render the redfish interop profile in the docs
Adds a pretty straightforward Sphinx plugin that reads the JSON profile
file and renders it nicely in a document that is then included from
the Redfish page.

Change-Id: Ic2da61cb510897eac8a2e162816cfd05cc22994c
2024-06-27 16:32:28 +02:00
Dmitry Tantsur
d28a61b2c0
Update the redfish interoperability profile
* Remove @Redfish.Copyright, it's not an allowed field.
* Remove unused fields such as AssetTag.
* Mark fields used in inspection and other optional features as
  optional.
* Add missing VirtualMedia on System and VirtualMedia fields.
* Add missing Thermal information and its subresources.
* Clarify which fields on System are links.
* Add Purpose field to all fields and actions.
* Expand the BIOS object with the actual requirements.
* Add ServiceRoot and services we use.
* Add missing resources related to RAID.

Change-Id: I35f8f49e4c70e736b685c3eeebf79326592b6314
2024-06-27 16:24:24 +02:00
Mahnoor Asghar
e95d5a8446 Fix log statement about starting inspection
Change-Id: I3e5a63100882774e85235f6f0d8aeb0c2a9610ca
2024-06-27 10:16:10 -04:00
Riccardo Pittau
7fe19631be Test empty media type in redfish virtual media boot
Change-Id: Ie3d4337fff2eb1ce1ee1861295fcb212a850d54c
2024-06-27 16:02:14 +02:00
Zuul
25b2564bde Merge "Fix execution of node servicing steps exposed by IPA's HardwareManager" 2024-06-27 08:59:51 +00:00
Zuul
6ed746cf5e Merge "Follow up to change on testing CI on ARM" 2024-06-25 11:50:52 +00:00
Zuul
352bfe0984 Merge "Enable HTTP network boot for Redfish hardware" 2024-06-25 01:27:35 +00:00
Julia Kreger
578f24bf18 Remove deprecated idrac wsman driver interfaces
Change-Id: I70738db25fdf9902575ac92195c3a40f1d7a0976
2024-06-24 15:03:28 -07:00
cid
3fd1fb3518 Follow up to change on testing CI on ARM
Setting the minimum needed for configuring devstack.

Related-Change: #915441
Change-Id: Ia94ebe2d2a1bd66cd03a4c833273b20ff15171f4
2024-06-24 20:00:53 +01:00
Dmitry Tantsur
656f93b6e7
Reorganize the documentation front page
This is largely inspired by the excellent feedback we got from David
Welsch, although this patch is only a very early first step towards
where we want to be with the documentation.

First, I'm splitting the large administrator guide into several large
sections: features, operation, architecture. Some of their topic might
actually find a better home outside of the administrator guide, but I
don't go that far in this change.

Second, I'm grouping several separate things together with the larger
topics:
- API topics are relevant for users and are grouped with the user guide
- Configuration guide and release notes are grouped with the
  administrator guide.
- The command reference is renamed for clarity and also grouped with the
  administrator guide since these are not user-visible commands.
- I'm dropping the "Advanced topics" subsection. While I like its
  intention (and I think it was me who added it in the first place),
  it's clear that such separation makes these topics much less
  discoverable.

Third, I'm playing with :maxdepth: here to make the sub-pages more
informative.

Change-Id: Icd0a35b252136b7da107c6346c48473cf1b99bcb
2024-06-24 13:25:51 +02:00
Dmitry Tantsur
a36fd00951
Rework the navigation in the contributor guide
The goal here is to give newcomers an easier overview of the contributor
guide. Currently, the index page only points at a couple of sections in
the contributor index, which may be confusing. So:

1) Expand the contributor reference from the index page one more level.
2) Update headings in the contributor guide to match the toctrees and
   their expected level.
3) Expand toctrees in the contributor index one more level.
4) Move references to the development enviroment to a higher level
   toctree to make them visible in the index.
5) Apply consistent upper case heading.

Change-Id: Ifb9fdc96b368095437771217090120e83eaa0fa7
2024-06-24 13:24:54 +02:00
cid
2548f022c5 Flexible IPMI credential persistence method configuration
Instead of only file-based persistence which leaves files
with credentials on the conductor disk for the duration of
the session.

User can now pass ``True`` to the ``store_cred_in_env`` parameter
which instead stores IPMI password as an environment variable, still
for the duration of the session, but limiting exposure to just the
user session of ironic and anyone that has access to it.

Defaults to ``False``.

Closes-Bug: #2058749

Change-Id: Icd91e969e5c58bf42fc50958c3cd1acabd36ccdf
2024-06-21 18:11:54 +01:00
Dmitry Tantsur
ef1ea4d36b
Fix rendering of Redfish properties in the documentation
The syntax we're using there is not valid, change to a definition list,
add double ticks and change a mention of an option to a link.

Change-Id: Idf37436d034fe8bb65bff92eddadfd82d7431df0
2024-06-21 17:01:50 +02:00
Zuul
0e5efe4d9b Merge "Fix and document redfish metrics" 2024-06-20 17:15:31 +00:00
Zuul
17c96e3e97 Merge "Documentation: migration guide from inspector" 2024-06-20 16:20:34 +00:00
Zuul
9a8147bb17 Merge "Decompose the Redfish documentation" 2024-06-20 15:48:42 +00:00
Jay Faulkner
c21b7d7038 Enable HTTP network boot for Redfish hardware
Redfish hardware usually will support better methods -- e.g.
redfish-https or redfish-virtual-media, however we've had some user
requests for the http boot interfaces on Redfish.

Since we can generally expect the generic boot interfaces to work on
redfish, this enables all of them.

Related-Bug: #2032380
Change-Id: I9c36072f6165baaa985862113b283f34bed7bee4
2024-06-20 08:41:53 -07:00
Zuul
19c8efd9d7 Merge "Provision ARM (aarch64) fake-bare-metal-vms" 2024-06-19 16:59:05 +00:00
Zuul
941f2e36fa Merge "Remove ibmc hardware type" 2024-06-19 16:59:01 +00:00
Dmitry Tantsur
a88cc4d9de
Documentation: migration guide from inspector
Change-Id: I622085adc431555789921f04b5ba2375f806075e
2024-06-19 18:41:23 +02:00
Zuul
8a209f1372 Merge "Remove deprecated xclarity hardware type" 2024-06-19 13:53:09 +00:00
Zuul
7b30263d08 Merge "Build PXE config for node in SERVICING state" 2024-06-19 08:52:52 +00:00
cid
209ba79732 Provision ARM (aarch64) fake-bare-metal-vms
This commit introduces support for provisioning ARM (aarch64)
fake-bare-metal VMs in Ironic for the purpose of eventually supporting
CI testing on ARM64 architecture-based hardware.

Change-Id: Ie4bff8892228275ad0fb940c30e8071f7f4c423f
2024-06-19 03:17:05 +01:00
Julia Kreger
f14794ca2e Remove ibmc hardware type
There has been no testing of this hardware type in quite some time,
and the last we heard the vendor was moving towards redfish.

Change-Id: Ib32db463981ec54430884ac760956b7c7b40b17f
2024-06-18 16:33:35 -07:00
Julia Kreger
c02ad76fef Remove deprecated xclarity hardware type
Change-Id: I93e0d947d0f790bd4dfaa73e2cd31fdd36262af2
2024-06-18 16:33:00 -07:00
Przemyslaw Szczerbik
4f924f2d64 Fix execution of node servicing steps exposed by IPA's HardwareManager
Implement execute_service_step() in AgentBaseMixin that will
asynchronously execute service step on the agent. Without it, Ironic
will try to find <step_name> attribute on the object that implements
interface specified by the servicing step.

Example:

Step: [{"interface": "deploy", "step": "burnin_cpu"}]
Error: AttributeError: 'AgentDeploy' object has no attribute 'burnin_cpu'

Closes-Bug: #2069430

Change-Id: Idb1d5b50656c3765ea5c9e21b7844946ae4cfc67
Signed-off-by: Przemyslaw Szczerbik <przemyslaw.szczerbik@intel.com>
2024-06-18 02:22:03 -07:00
Przemyslaw Szczerbik
78f54dfefa Build PXE config for node in SERVICING state
When [pxe]enable_netboot_fallback option is enabled, it's necessary to
build PXE config for nodes in SERVICING provisioning state. Otherwise
node servicing tear down will fail and node will be placed into
servicing failed state.

Closes-Bug: #2069413

Change-Id: Ib00504563f9fa7bed99a0fa1949ac99ea6870875
Signed-off-by: Przemyslaw Szczerbik <przemyslaw.szczerbik@intel.com>
2024-06-14 04:22:12 -07:00