11174 Commits

Author SHA1 Message Date
Dmitry Tantsur
30a85bd0ce API to force manual cleaning without booting IPA
Adds a new argument disable_ramdisk to the manual cleaning API.
Only steps that are marked with requires_ramdisk=False can be
run in this mode. Cleaning prepare/tear down is not done.

Some steps (like redfish BIOS) currently require IPA to detect
a successful reboot. They are not marked with requires_ramdisk
just yet.

Change-Id: Icacac871603bd48536188813647bc669c574de2a
Story: #2008491
Task: #41540
2021-03-16 16:08:46 +01:00
Zuul
f152ad370d Merge "Allow users to configure priority for {create,delete}_configuration" 2021-03-12 20:16:36 +00:00
Julia Kreger
ebaa359937 Mark multinode non-voting due to high failure rate
Change-Id: Iea8212ee69a8fe8c5f181c87271f46779e3a46b4
2021-03-11 17:05:50 -08:00
Dmitry Tantsur
d8a0b0c270 Don't try to use attempts=None with tenacity
Change-Id: Ifb139f71e9cb57409f95512e0dc087d0198b4b86
2021-03-11 11:28:23 +01:00
Zuul
a756b04ac0 Merge "Review feedback follow-up on Node System Scoped RBAC" 2021-03-10 18:51:09 +00:00
Zuul
8a7607d39f Merge "Enforce autospec in test_port" 2021-03-10 17:22:05 +00:00
Zuul
d85af6378d Merge "Enforce autospec in test_volume_connector" 2021-03-10 17:21:18 +00:00
Zuul
23157bc1dc Merge "Enforce autospec in test_volume_target" 2021-03-10 17:20:37 +00:00
Zuul
9b23255d18 Merge "RBAC Follow-up: Review follow-up." 2021-03-10 17:20:15 +00:00
Zuul
a655e55687 Merge "Allow support for multipath volumes" 2021-03-10 17:08:06 +00:00
Zuul
2e7fc1fd61 Merge "More GPU support in idrac-wsman inspect interface" 2021-03-10 13:12:20 +00:00
Zuul
441ed4fe9a Merge "Rework the standalone guide" 2021-03-10 11:46:11 +00:00
Mohammed Naser
6ba1ecad17 Allow users to configure priority for {create,delete}_configuration
At the moment, users do not have a way to easily prioritize those
cleaning steps into automatic cleaning.  This patch allows the user
to enable those options and prioritize them as needed for automatic
cleaning.

Change-Id: I3b647e39982c0a98abac7b0a7c1c60215d6db4f2
2021-03-09 22:28:40 +00:00
Zuul
4a3bbf6d28 Merge "Adds config parameter kernel_append_param for iLO" 2021-03-08 20:43:28 +00:00
Zuul
a77d45f949 Merge "Follow-up on project scoped trait tests" 2021-03-08 20:22:36 +00:00
Zuul
7e20c6bd7d Merge "Project scope driver vendor pass-through" 2021-03-08 20:21:49 +00:00
Zuul
a0f940bf5a Merge "Volume targets/connectors Project Scoped RBAC" 2021-03-08 20:20:37 +00:00
Julia Kreger
7e1c08c407 RBAC Follow-up: Review follow-up.
Since the existing change is approved and in the gate now,
it doesn't make sense to edit it for the review feedback.

The included minor feedback is addressed by this change.

Change-Id: I046c194af01fe77c3eac541f245a377e8e8f71eb
2021-03-08 10:58:26 -08:00
Zuul
77291c61b4 Merge "docs: move overriding interfaces to the standalone documentation" 2021-03-08 17:48:00 +00:00
Dmitry Tantsur
49fcbd4910 Rework the standalone guide
Split the monolithic guide into several pages: configuration, enrollment
and deployment. Merge duplicating docs into the common locations.
Use code-block for nicer highlighting.

Change-Id: Iaeef9e0cf8deba20a125d3cfacd4ca8ca2f52e84
2021-03-08 18:40:26 +01:00
Zuul
e3dff622bb Merge "Add Redfish RAID management to Ironic" 2021-03-08 17:29:17 +00:00
Dmitry Tantsur
472ffca269 docs: move overriding interfaces to the standalone documentation
Chances are much higher the users will find it there. Also correct some
wording (node interfaces -> hardware interfaces), use double ticks for
field names and mention the Wallaby release.

Story: #2008652
Task: #42015
Change-Id: I33956976a9420ade836ab8d37a9488b9a207cef0
2021-03-08 18:01:50 +01:00
Zuul
4865511ad2 Merge "Add support for using NVMe specific cleaning" 2021-03-08 12:24:55 +00:00
Zuul
d3dd6b29b2 Merge "Revert "Update iDRAC doc with missing interfaces"" 2021-03-08 10:09:34 +00:00
Zuul
42df92e7dd Merge "Allow instance_info to override node interface" 2021-03-08 03:19:40 +00:00
Tzu-Mainn Chen
a165fe3264 Allow instance_info to override node interface
This change allows instance_info values to override node interface
definitions, so non-admins can make temporary changes to various
interfaces.

Story: #2008652
Task: #41918
Change-Id: I6c3dc74705bde02bd02882d14838f184f8d4a5e3
2021-03-05 18:32:46 +00:00
Zuul
d0ae891d9b Merge "Lazy-load node details from the DB" 2021-03-05 17:50:31 +00:00
Tzu-Mainn Chen
0354940e44 Allow support for multipath volumes
Updates the generated iscsi url if the `target_portals` volume
property is set.

Change-Id: Ie9849d5dec4da50c65e2e864041e07924ae21df7
2021-03-05 17:34:15 +00:00
Aija Jauntēva
a8b5137db3 Revert "Update iDRAC doc with missing interfaces"
This reverts commit b0df0960e2c53a4fe6673ba0a1ed546ffd156dc7.

Reason for revert: Need to split in separate patches and backport virtual media boot part.

Change-Id: Ib182ee6f2894fcdcea369a60dc5bd922a16434e2
2021-03-05 11:35:33 +00:00
Julia Kreger
7f6b24c700 Follow-up on project scoped trait tests
Apparently missed a trait test and fixed the result that is expected.

Change-Id: I9d50b5861968c6b02e0e8312bca0866dfd126279
2021-03-04 09:48:24 -08:00
Julia Kreger
5dff46a700 Project scope driver vendor pass-through
The tests were not enabled earlier on, for endpoints that
are not going to be exposed to users, really. So this patch
just updates them so they are tested as expected.

Change-Id: If3c989d5bcf03de5704e30165747642134952f75
2021-03-04 09:48:07 -08:00
Julia Kreger
e870bd34d0 Volume targets/connectors Project Scoped RBAC
This patch adds project scoped access, as part of the work
to delineate system and project scope access.

Adds policies:
* baremetal:volume:list_all
* baremetal:volume:list
* baremetal:volume:view_target_properties

Change-Id: I898310b515195b7065a3b1c7998ef3f29f5e8747
2021-03-04 09:47:36 -08:00
Riccardo Pittau
00eb6dcfa2 Enforce autospec in test_port
Remove filter from tox.ini

Change-Id: Ic8990ac3cb2ddb6e243ce00918793fc96684fde0
2021-03-04 17:21:31 +01:00
Riccardo Pittau
b0696ea0a8 Enforce autospec in test_volume_connector
Adjust unit tests and remove filter from tox.ini

Change-Id: Ide7ac1a29f6e07842462d6e39fe797a309218884
2021-03-04 16:06:31 +01:00
Riccardo Pittau
b4cae9b828 Enforce autospec in test_volume_target
Adapt unit tests and remove filter from tox.ini

Change-Id: I67fe1dd81ae7fe384c869e73d88182fcde402826
2021-03-03 18:24:29 +01:00
Bill Dodd
d7f4da2376 Add Redfish RAID management to Ironic
The Redfish hardware type does not currently implement the RAID
hardware interface.

This patch implements the Redfish RAID interface, allowing operators
to specify the desired RAID configuration on Ironic Redfish nodes.

Story: 2003514
Task: 24789

Depends-On: https://review.opendev.org/c/openstack/sushy/+/774532
Change-Id: Icf5ca865e0c1e168b96659229df622698bea1503
2021-03-03 10:41:56 -06:00
Julia Kreger
e9dfe5ddaa Port/Portgroup project scoped access
This patch implements the project scoped rbac policies for a
system and project scoped deployment of ironic. Because of the
nature of Ports and Portgroups, along with the subcontroller
resources, this change was a little more invasive than was
originally anticipated. In that process, along with some
discussion in the #openstack-ironic IRC channel, that it
would be most security concious to respond only with 404s if
the user simply does not have access to the underlying node
object.

In essence, their view of the universe has been restricted as
they have less acess rights, and we appropriately enforce that.
Not expecting that, or not conciously being aware of that, can
quickly lead to confusion though. Possibly a day or more of
Julia's life as well, but it comes down to perceptions and
awareness.

Change-Id: I68c5f2bae76ca313ba77285747dc6b1bc8b623b9
2021-03-02 15:45:03 -08:00
Julia Kreger
f1641468bb Project Scoping Node endpoint
* Adds additional policies:
  * baremetal:node_get:last_error
  * baremetal:node:get:reservation
  * baremetal:node:get:driver_internal_info
  * baremetal:node:get:driver_info
  * baremetal:node:update:driver_info
  * baremetal:node:update:properties
  * baremetal:node:update:chassis_uuid
  * baremetal:node:update:instance_uuid
  * baremetal:node:update:lessee
  * baremetal:node:update:driver_interfaces
  * baremetal:node:update:network_data
  * baremetal:node:update:conductor_group
  * baremetal:node:update:name

* With new policies, responses of filtering and posted data is
  performed. Testing has been added to the RBAC testing files
  to align with this and the defaults where pertinant.

* Adds another variation of the common policy check method
  which may be useful in the long term. This is too soon to
  tell, but the overall purpose is to allow similar logic
  patterns to the authorize behavior. This is because the
  standard policies are, at present, also used to control
  behavior of response, and node response sanitization needs
  to be carefully navigated.

This change excludes linked resources such as /nodes/<uuid>/ports,
portgroups, volumes/[targets|connectors]. Those will be in later
changes, as the node itself is quite a bit.

Special note:
* The indicator endpoint code in the API appears to be broken
  and given that should be fixed in a separate patch.

Change-Id: I2869bf21f761cfc543798cf1f7d97c5500cd3681
2021-03-02 15:43:29 -08:00
Jacob Anders
aa42582ac4 Add support for using NVMe specific cleaning
This change adds support for utilising NVMe specific cleaning tools
on supported devices. This will remove the neccessity of using shred to
securely delete the contents of a NVMe drive and enable using nvme-cli
tools instead, improving cleaning performance and reducing wear on the device.
(this specific change adds extra documentation to the earlier set of
patches implementing this).

Story: 2008290
Task: 41168
Change-Id: Ia6d34b31680967a0d14687e5a54d68a1f1644308
2021-03-03 07:23:05 +10:00
Zuul
5857fa802d Merge "secure-rbac - minor follow-up for project scoped tests" 2021-03-02 11:38:01 +00:00
Arne Wiebalck
82cab603bb Lazy-load node details from the DB
In order to reduce the load on the database backend, only lazy-load
a node's ports, portgroups, volume_connectors, and volume_targets.
With the power-sync as the main user, this change should reduce the
number of DB operations by two thirds roughly.

Change-Id: Id9a9a53156f7fd866d93569347a81e27c6f0673c
2021-03-02 09:09:02 +01:00
ankit
755918343b Adds config parameter kernel_append_param for iLO
This commit adds a new config parameter kernel_append_param
for iLO.

Change-Id: Ie962672ef81c58f651c2395439a3c69e98c1a4c0
2021-03-02 06:36:36 +00:00
Zuul
178584ab99 Merge "Add support to manage certificates in iLO" 2021-03-01 17:47:00 +00:00
Zuul
3f2431001e Merge "Update oslo.policy requirement to version 3.6.2" 2021-03-01 17:25:38 +00:00
Julia Kreger
20acfc26e1 secure-rbac - minor follow-up for project scoped tests
Just a couple quick items needed to be fixed that were identified in
review of the original change.

https://review.opendev.org/c/openstack/ironic/+/772451/11/ironic/tests/unit/api/test_rbac_project_scoped.yaml

Change-Id: I01701c6908aebbb2e78527087a4f8f2f7a016e1b
2021-03-01 09:03:19 -08:00
Zuul
428956f276 Merge "Initial Project scoped tests" 2021-03-01 16:17:23 +00:00
Zuul
a22e191077 Merge "Switch iLO and iRMC to the new secure boot framework" 2021-03-01 16:16:00 +00:00
Zuul
b23f4d39ab Merge "[trivial] Remove default parameter from execute" 2021-03-01 11:27:26 +00:00
Zuul
c4d1248035 Merge "devstack: a safeguard for disabled tempurls" 2021-02-28 14:36:13 +00:00
Zuul
17cf7807a5 Merge "Add both IPv4 and IPv6 DHCP options if interface has both" 2021-02-28 02:54:46 +00:00