1850 Commits

Author SHA1 Message Date
Zuul
961a85ada7 Merge "Add Redfish RAID interface to idrac HW type" 2021-03-23 01:47:56 +00:00
Zuul
52bcb3e328 Merge "Follow-up to RBAC allocation changes" 2021-03-21 10:20:03 +00:00
Aija Jauntēva
952695be33 Add Redfish RAID interface to idrac HW type
Adds MVP support for idrac-redfish to RAID interface. Based on
generic redfish implementation, but requires OEM extension
to check when `Immediate` time becomes available shortly
after IPA starts executing steps.

Does not support foreign disks, convert from non-RAID mode.

Story: 2008602
Task: 41778
Depends-On: https://review.opendev.org/c/x/sushy-oem-idrac/+/776224
Change-Id: Iefb7f882c97e33a176962e4e907163d9e4809445
2021-03-19 12:11:50 -04:00
Zuul
a06e403b11 Merge "Add runtime gpu capabilities to ilo inspection" 2021-03-19 08:32:15 +00:00
Julia Kreger
e6863c6b71 Follow-up to RBAC allocation changes
Change-Id: I4f703258be47cf0de0a31f7e706a1aba1ea302f0
2021-03-18 12:55:29 -07:00
Julia Kreger
e5b391c32d Increment API version for Secure RBAC
This patch increments the API version for the Secure RBAC
as was covered in the specification in order to signify to
API consumers that may need to be aware if the API surface
can support Secure RBAC policy configuration.

Change-Id: Ia659708bb89ff416b65367505d3e068c6d4a198f
2021-03-18 16:10:14 +00:00
Zuul
1404f3e00b Merge "Deprecate legacy policies, update project scoped docs" 2021-03-18 15:30:28 +00:00
Nisha Agarwal
9220f97ed7 Add runtime gpu capabilities to ilo inspection
Add gpu related dynamic capabilities in ilo inspection.
It would add following dynamic capabilities:

gpu_<vendor>_count : Integer
gpu_<gpu_device_name>_count : Integer
gpu_<gpu_device_name> : boolean

story: 2008702
task: 42023

Change-Id: Ic785fbe8a40d8a999e7e319a6505b46f82ba8344
2021-03-18 07:21:58 +00:00
Zuul
88ec16ba11 Merge "[doc] Add initial system-scoped text to secure-rbac" 2021-03-17 16:27:18 +00:00
Julia Kreger
426353c3f5 Deprecate legacy policies, update project scoped docs
Deprecates legacy policies which will be removed at a later point in
time. Notes these in a release note which covers project scoped access
enablement, and updates the Secure RBAC docs to cover additional details

Special thanks to Rammstein Radio on Pandora, for without this and all
of the amazing artists it brought to my coding jam sessions, this effort
would not have reached any sort of conclusion in the relatively short
time for such a massive amount of work.

Change-Id: I3bf0fa0de07e19d6058f0299e7abbff91b48b360
2021-03-17 15:27:46 +00:00
Zuul
00aea13949 Merge "Update iDRAC doc on Redfish vendor passthru interface" 2021-03-17 08:11:14 +00:00
Zuul
fd110c00bb Merge "Update iDRAC doc with idrac-redfish-virtual-media" 2021-03-17 06:07:14 +00:00
Zuul
ce11458504 Merge "Add CentOS7 for supported ramdisk for dhcpless deploy" 2021-03-17 06:06:54 +00:00
Zuul
e058a5a3a1 Merge "API to force manual cleaning without booting IPA" 2021-03-17 00:47:04 +00:00
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
5584cc4cbb Merge "Update dev quickstart docs" 2021-03-16 09:08:44 +00:00
Julia Kreger
88673f1e94 Allocation support for project scoped RBAC
Adds policy scope based RBAC handling for the allocations
endpoing which enables admins to create allocations if
they have baremetal nodes which are available to them.

Change-Id: I60e273afaf344fded9bdb8c4c8e143efc9971fc1
2021-03-12 08:37:51 -08:00
Julia Kreger
dccff98a3e [doc] Add initial system-scoped text to secure-rbac
I never got around to adding in an initial pass on system scoped
interaction and use with secure rbac. This change adds a high level
overview to help explain the context.

Change-Id: I4dca32c882f484e75378aca8bb043ebd078a13cf
2021-03-10 16:20:27 -08:00
Riccardo Pittau
5c36615a9c Update dev quickstart docs
Change-Id: I2d7f4e617afacf3559ddc8614e7a794fb52b2c2c
2021-03-10 16:34:10 +01:00
Zuul
441ed4fe9a Merge "Rework the standalone guide" 2021-03-10 11:46:11 +00:00
Nisha Agarwal
342878ca6b Add CentOS7 for supported ramdisk for dhcpless deploy
Change-Id: I5453dd3d54e4d36e80c5bc569540447ecc7e38e2
2021-03-09 11:08:11 +00:00
Zuul
a0f940bf5a Merge "Volume targets/connectors Project Scoped RBAC" 2021-03-08 20:20:37 +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
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
Aija Jauntēva
5360c786a0 Update iDRAC doc with idrac-redfish-virtual-media
Change-Id: If6148a6193ca0ff07c88fd6330f8c27f09e81956
2021-03-08 06:24:13 -05:00
Aija Jauntēva
383afc2d89 Update iDRAC doc on Redfish vendor passthru interface
Change-Id: I6ebbfd5a4b42ad0c8321b59e2a07fcc9829115bd
2021-03-08 06:23:28 -05: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
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
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
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
148dda163e Merge "[doc-only] Add BFV basic flow and networking context" 2021-02-24 13:39:24 +00:00
Zuul
71ebba5cf3 Merge "Add some tuning documentation" 2021-02-15 15:41:20 +00:00
Zuul
a2cc1baa86 Merge "Address some rbac review feedback in merged patches" 2021-02-15 07:03:59 +00:00
Julia Kreger
bb30f9945c Add some tuning documentation
Change-Id: I56e3c45bf7ae89b3f96ee826565bf153908d1bf7
2021-02-13 14:28:07 +00:00
Zuul
4b6a18f24c Merge "Trivial: update version for deploy steps" 2021-02-12 18:12:30 +00:00
Zuul
52ff615c98 Merge "Guard conductor from consuming all of the ram" 2021-02-12 18:11:57 +00:00
Dmitry Tantsur
7eadc52403 Trivial: update version for deploy steps
Change-Id: I4aac0a9f2e9bd1ae40f41722ab75e92f2a09cfef
2021-02-12 17:04:06 +01:00
Zuul
766d8f11b4 Merge "Add 'deploy steps' parameter for provisioning API" 2021-02-12 16:01:33 +00:00
Julia Kreger
e3ccb9ec22 Address some rbac review feedback in merged patches
Some of the early test changes for the RBAC work have merged
which is awesome, but a couple minor follow-up items should be
addressed. They are so minor it doesn't really make sense to merge
in with one of the patches in the chain.

Change-Id: I85de4d953237f240c3c220f6a57169c633fb295f
2021-02-12 06:56:31 -08:00
Steve Baker
606549c1c9 Populate existing policy tests
Testing every combination of role, endpoint and policy rule would
result in a huge test count, so to make testing the existing policy
rules complete and practical, the following guidelines are suggested:

- Only the default policy is tested, so inactive rules such as
  is_node_owner, is_node_lessee are ignored.
- Each rule is tested completely on one endpoint which uses it.
- A rule (such as baremetal:node:list) which inherits a parent rule
  (baremetal:node:get) is considered covered by the parent test.
- All endpoints need at least one test, but other endpoints which share
  a fully tested rule only need one denied test which shows that they
  are covered by some policy.

Also adds the initial pass of contributor documentation on how the
rbac testing works to try and express the mechanics and what to
expect to aid in reviewing/updating/editing the rules.

Co-Authored-By: Julia Kreger <juliaashleykreger@gmail.com>
Change-Id: I1cd88210e40e42f86464e6a817354620f5ab1d9c
2021-02-11 10:34:52 -08:00
Zuul
4e5c034187 Merge "Make boot_mode more consistent with other capabilities" 2021-02-11 14:24:31 +00:00
Dmitry Tantsur
cf22604c58 Prevent redfish-virtual-media from being used with Dell nodes
Indicate that idrac-redfish-virtual-media must be used instead,
otherwise a confusing failure will happen.

Change-Id: I3b6ced6dcf03580903f5ea7237fc057f372999f9
2021-02-05 12:09:00 +01:00
Aija Jauntēva
3138acc836 Add 'deploy steps' parameter for provisioning API
Story: 2008043
Task: 40705
Change-Id: I3dc2d42b3edd2a9530595e752895e9d113f76ea8
2021-02-03 11:47:53 -05:00
Zuul
f4197a12ef Merge "Redfish secure boot management" 2021-02-03 14:43:06 +00:00
Dmitry Tantsur
ccc6c551c3 Make boot_mode more consistent with other capabilities
All capabilities, except for boot_mode, are read from instance_info.
This change makes instance_info.capabilities[boot_mode] work as well
and deprecates instance_info.deploy_boot_mode.

Note that the special handling of properties.capabilities[boot_mode]
is kept in this patch.

Change-Id: Ic2e7fd4c71b7a7bc2950d17f7e1bbdad73bbb8a7
2021-02-02 12:06:17 +01:00