2176 Commits

Author SHA1 Message Date
Dmitry Tantsur
f4be664a86 Stop splitting installation docs per distros
The versions only differ in the first paragraph, and the supposedly
common parts actually have different code paths for different distros.

Also be realistic about which distros we support.

Change-Id: Ifcc19a20d42f384300cadf442951739be8682047
2023-07-14 11:38:10 +02:00
Julia Kreger
c4e3100d5c Add hold steps
* Updates API version to 1.85 to permit an ``unhold`` verb
* Adds the ``deploy hold`` and ``clean hold`` provision states
  to the internal state machine.
* Adds on documentation on steps to help provide greater clarity
  to Ironic's users on how to utilize steps. It should be noted
  this documentation also includes the power state reserved step
  names from the DPU functionality patch.
* Fixes the state machine diagram. Changes type to PNG as SVG
  rendering is broken due to python libraries utilized for SVG
  generation which do not work on more recent Python versions.

Change-Id: I34f58f4e77e7757b89247fd64f5fcde26f679453
2023-06-30 14:34:26 -07:00
Dmitry Tantsur
0370f5ac97 Migrate the inspector's /continue API
This change creates all necessary parts to processing inspection data:

* New API /v1/continue_inspection

Depending on the API version, either behaves like the inspector's API
or (new version) adds the lookup functionality on top.

The lookup process is migrated from ironic-inspector with minor changes.
It takes MAC addresses, BMC addresses and (optionally) a node UUID and
tries to find a single node in INSPECTWAIT state that satisfies all
of these. Any failure results in HTTP 404.

To make lookup faster, the resolved BMC addresses are cached in advance.

* New RPC continue_inspection

Essentially, checks the provision state again and delegates to the
inspect interface.

* New inspect interface call continue_inspection

The base version does nothing. Since we don't yet have in-band
inspection in Ironic proper, the only actual implementation is added
to the existing "inspector" interface that works by doing a call
to ironic-inspector.

Story: #2010275
Task: #46208
Change-Id: Ia3f5bb9d1845d6b8fab30232a72b5a360a5a56d2
2023-06-07 10:57:08 +02:00
Zuul
97f7177495 Merge "execute on child node support" 2023-06-07 04:04:45 +00:00
Riccardo Pittau
c0643e9d05 Be explicit about bugfix branches support lifetime
Also fix new release model link

Change-Id: I1c9b3b1c8481a315199070468298a73936ae93a7
2023-05-31 15:57:38 +02:00
Zuul
32532eeda5 Merge "DPU modeling - parent_node DB/Model/API" 2023-05-24 23:18:33 +00:00
Julia Kreger
013ac0cb41 execute on child node support
Allows steps to be executed on child nodes, and adds
the reserved power_on, power_off, and reboot step names.

Change-Id: I4673214d2ed066aa8b95a35513b144668ade3e2b
2023-05-24 15:42:46 -07:00
Julia Kreger
3f5e25e182 DPU modeling - parent_node DB/Model/API
Adds the parent node support and tests in one change
including all DB/Model/API changes along with RBAC and
basic API tests.

* Updates the API version to 1.83
* Adds parent_node and related index to the nodes table.
* Adds new API parameters to list by parent node relationship.

Depends-On: https://review.opendev.org/c/openstack/ironic/+/883967
Change-Id: I8d64fee7105718199986db4994e13352d639f04f
2023-05-23 18:23:25 +00:00
Jay Faulkner
65b8895e8a Update docs: Ironic uses launchpad now
Ironic switched to launchpad. Ensure our docs point contributors to the
correct location.

Change-Id: Ifa75c75741dd4a584bc2cb972eb4726c4c48d064
2023-05-17 15:42:41 -07:00
Zuul
832275015a Merge "Support longer checksums for redfish firmware upgrade" 2023-05-09 23:45:15 +00:00
Zuul
1d0818cba2 Merge "Remove use of nomodeset by default" 2023-05-09 06:29:42 +00:00
Julia Kreger
03cd9788e6 Support longer checksums for redfish firmware upgrade
Previoulsy only SHA1 hashes were supported, now we support
SHA256 and SHA512 by length.

Change-Id: Iddb196faca4008837595a3d0923f55d0e9d2aea5
2023-05-03 07:34:37 -07:00
Zuul
fbd1350229 Merge "Configure docs: we no longer use storyboard" 2023-04-28 15:45:32 +00:00
Zuul
c42c2efe95 Merge "Remove all references to the "cpus" property" 2023-04-27 23:10:00 +00:00
Julia Kreger
f2605e9281 Remove use of nomodeset by default
The troubleshooting kernel command line option nomodeset
unfortunately changes the way framebuffer interactions work
with graphics devices which in some cases can result in kernel
memory to be used for graphics updates. When this happens on
some specific hardware common in rack mount servers with baseboard
management controllers, this can cause the memory bus to become
locked for a brief time while the graphics update is occuring.

This locked memory bus means disk IO can become blocked,
and network cards can overflow their buffers resulting in
packet loss on top of the latency incurred by the graphics
update executing.

As such, we've removed the nomodeset option from default usage and
added a note describing its removal to the documentation along
with a release note.

Change-Id: I9084d88c3ec6f13bd64b8707892758fa87dd7f86
2023-04-26 07:34:29 -07:00
Jay Faulkner
c7b8236ab5 Configure docs: we no longer use storyboard
Change-Id: I8a5221b7d8a44d73510efb9ad6a5f16d75a270f5
2023-04-25 09:11:21 -07:00
Dmitry Tantsur
cc9fa85260 Remove outdated API version information from the enrollment docs
Change-Id: I846ce901137bede05543a40e4d91930c4fddad41
Closes-Bug: #1753435
2023-04-04 09:58:03 +02:00
Dmitry Tantsur
3e21560bf7 Remove all references to the "cpus" property
Unused by Nova and unlike memory_mb/local_gb also by Ironic (actually,
our usage of local_gb is worth double-checking as well, but at the very
least it's referenced by inspection implementations).

Change-Id: Ie8b0d9f58f4dcd102c183c30ae7f5acf68a5e4c3
2023-03-28 11:53:26 +02:00
Zuul
041e242e70 Merge "Document [fake] delay config values" 2023-03-14 18:02:40 +00:00
Dmitry Tantsur
f00da959ea Do not recalculate checksum if disk_format is not changed
Even if a glance image is raw, we still recalculate the checksum after
"converting" it to raw. This process may take exceptionally long.

Change-Id: Id93d518b8d2b8064ff901f1a0452abd825e366c0
2023-03-07 11:57:23 +01:00
Zuul
75c05be8a7 Merge "Fix expired links" 2023-02-28 15:28:39 +00:00
Steve Baker
b41d5d5145 Document [fake] delay config values
This feature was added in the previous commit

Change-Id: I30100cd3b2702bf8bb614d45c0f64712656ec15e
2023-02-28 15:07:05 +13:00
Julia Kreger
82b8ec7a39 Get conductor metric data
This change adds the capability for the ironic-conductor
and standalone service process to transmit timer and counter
metrics to the message bus notifier which may be consumed by
a ceilometer, ironic-prometheus-exporter, or other consumer of
metrics event data on to the message bus.

This functionality is not presently supported on dedicated API
services such as those running as an ``ironic-api`` application
process, or Ironic WSGI application. This is due to the lack of
an internal trigger mechanism to transmit the data in a metrics
update to the message bus and/or notifier plugin.

This change requires ironic-lib 5.4.0 to collect and ship metrics via
the message bus.

Depends-On: https://review.opendev.org/c/openstack/ironic-lib/+/865311
Change-Id: If6941f970241a22d96e06d88365f76edc4683364
2023-02-23 11:39:07 -08:00
renliang17
f2ad1b8a49 Fix expired links
update the address for
https://e.huawei.com/en/products/computing/kunpeng/accessories/ibmc

Change-Id: I7c1ea261b44e2ff7f399942796e54a9277a9b1d5
2023-02-21 07:53:42 +00:00
Zuul
8d2d0bfc8b Merge "Minor spelling/grammar fixes for release docs" 2023-02-15 19:27:46 +00:00
Zuul
577f46cfc4 Merge "API support for CRUD node.shard" 2023-02-14 00:27:56 +00:00
Zuul
514d4c6bd8 Merge "[DOC] Set cleaning requirement with retirement" 2023-02-13 20:46:07 +00:00
Jay Faulkner
8e34d622af API support for CRUD node.shard
- Basic support and testing for CRUD for node.shard.
- Policy checking for update node.shard.
- New API endpoint: GET /v1/shards
- Policy checking for GET /v1/shards
- Support for querying for nodes in a list of shards

Story: 2010378
Task: 46624
Change-Id: I385594339028c20cfc83fdcc4cbbec107efdacff
2023-02-13 11:46:21 -08:00
Zuul
c9c595f235 Merge "Add service role RBAC policy support" 2023-01-31 21:54:19 +00:00
Julia Kreger
6ea38a47c5 [DOC] Set cleaning requirement with retirement
Per discussion in IRC, the retirement documentation sets forth
an understanding that sensitive data will be removed from the
baremetal node, however this is performed through cleaning which
inherently sets forth a requirement in automated cleaning.

Explicitly note, and provide options should an operator wish
to utilize the feature.

Change-Id: I6755433b97cacd6ebf6a8f7eb5b404697e0a4349
2023-01-27 10:08:52 -08:00
Jay Faulkner
5b56cbe8c3 Minor spelling/grammar fixes for release docs
Fix spelling, make Ironic capitalized throughout.

Change-Id: Ia689954279034d21c60dea4bca73ee5b1bb41d81
2023-01-26 11:32:35 -08:00
Zuul
fe2d08d3de Merge "Clarify release docs: bugfix releases optional" 2023-01-26 16:28:00 +00:00
Jay Faulkner
38777e5030 Clarify release docs: bugfix releases optional
Bugfix releases are optional in practice; document that truth in
our release documents.

Change-Id: Ie24e959fdb338fafeafdf0e064eede273f2011f4
2023-01-24 16:13:34 +00:00
Julia Kreger
8604a799aa Docs: Troubleshooting: how to exit clean failed
I got pinged with some questions by an operator who had
issues attempting to exit cleaning. In the discussion,
it was realized we lack basic troubleshooting guidance,
which led them to try everything but the command they needed.

As such, adding some guidance in an attempt to help operators
navigate these sorts of issues moving forward.

Change-Id: Ia563f5e50bbcc789ccc768bef5800a64b38ff3d7
2023-01-20 06:22:58 -08:00
Zuul
571d0223ba Merge "[iRMC] Handle IPMI incompatibility in iRMC S6 2.x" 2023-01-18 16:46:10 +00:00
Zuul
8cb5ba9ff8 Merge "[iRMC] identify BMC firmware version" 2023-01-18 16:32:31 +00:00
Julia Kreger
bad3790e8a Add service role RBAC policy support
This change adds support for the ``service`` role, which is intended
largely for service to service communiation, such as if one wanted to
utilzie a "nova" project, and have an ironic service user within it,
and then configure the ``nova-compute`` service utilizing those credentials.

Or vice versa, an "ironic" project, with a nova user.

In this case, access is exceptionally similar to the rights afforded to
a "project scoped manager" or an "owner-admin".

Change-Id: Ifd098a4567d60c90550afe5236ae2af143b6bac2
2023-01-18 07:59:35 -08:00
Vanou Ishii
d23f72ee50 [iRMC] Handle IPMI incompatibility in iRMC S6 2.x
Since iRMC S6 2.00, iRMC firmware disables IPMI over LAN
with default iRMC firmware configuration.

To deal with this firmware incompatibility, this commit
modifies driver's methods which use IPMI to first try
IPMI and, if IPMI fails, try to use Redfish API.

Story: 2010396
Task: 46746
Change-Id: I1730279d2225f1248ecf7fe403a5e503b6c3ff87
2023-01-17 09:36:27 +09:00
Zuul
b11067cfdc Merge "API for node inventory" 2023-01-16 14:24:45 +00:00
Zuul
ff33a81de8 Merge "[DOC] Add entry regarding cleaning+raid" 2023-01-16 10:28:01 +00:00
Vanou Ishii
eae33a0acb [iRMC] identify BMC firmware version
Since iRMC S6 2.00, iRMC firmware doesn't support HTTP
connection to REST API.

To deal with this firmware incompatibility, this commit
adds verify step to check connection to REST API and adds
node vendor passthru to fetch&cache version of iRMC firmware.

Story: 2010396
Task: 46745
Change-Id: Ib04b66b0c7b1ef1c4175841689c16a7fbc0b1e54
2023-01-16 18:38:57 +09:00
Jakub Jelinek
2e80ea9099 API for node inventory
Add api to access node inventory

Story: 2010275
Task: 46204
Change-Id: If50f665da5fbb16f7646f3d6195a6e14e7325b0a
2023-01-12 15:09:18 +00:00
Julia Kreger
5cd7bfc522 Docs: Add considerations to anaconda docs
Change-Id: I17f707f81a2aed75a9c47e2cfc0896b0efeeb36c
2023-01-06 13:07:06 -08:00
Zuul
287dbdf019 Merge "Add doc for lsblk: /dev/nvme0n1p2: not a block device" 2023-01-04 16:17:01 +00:00
Julia Kreger
05f6003fe6 [DOC] Add entry regarding cleaning+raid
Adding an entry to the troubleshooting documentation to cover the
very complex topic of cleaning + RAID + disk protocols + device
behavior/capabilities.

Change-Id: I8d322dd901634c59950a6a458b265111282d0494
2023-01-04 07:53:32 -08:00
Julia Kreger
44ccc397c9 Add doc for lsblk: /dev/nvme0n1p2: not a block device
Given the assistance we rendered last week where it ended up being
rooted in an image being misconfigured, it makes sense to at least
publish a troubleshooting note to aid in discoverability for
operators who encounter this issue in the future.

Change-Id: I8bc35571cc944ad20f413d53a47f94920dd1e928
2022-12-13 10:44:12 -08:00
Zuul
cccc4483b0 Merge "Fixes anaconda deploy for PXE boot" 2022-12-12 16:58:55 +00:00
Aija Jauntēva
b70b4180f9 Follow-up to Redfish Interop Profile
Follow-up to change I058ceadab33f6969157b89aca5ba34ebd0be2a93
to mark some properties recommended, move documentation
and update contact information.

Co-Authored-By: Mike Raineri <michael.raineri@gmail.com>
Change-Id: I493f9402e15fa78bc5dae9d9bcbb124146f0d026
2022-11-30 12:08:56 -05:00
Zuul
c04344ca60 Merge "Align iRMC driver with Ironic's default boot_mode" 2022-11-25 16:32:42 +00:00
Arne Wiebalck
26a6b4ed00 [doc] Add documentation on SMART test after disk burn-in
Add documentation for 'agent_burnin_fio_disk_smart_test' option
for disk burn-in.

Story: #2007523
Task: #43383

Change-Id: I686acddeb353839b045d5c0ad944114cb938f414
2022-11-16 13:35:35 +01:00