11362 Commits

Author SHA1 Message Date
Riccardo Pittau
0b920d2a08 Enforce autospec in test_console_utils
Adjust unit tests and filters in tox.ini

Change-Id: I05a3a1b37d0ce3cf33b3b5b9637350f0fd1f0afb
2021-03-08 19:16:08 +01: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
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
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
Riccardo Pittau
94fae9ac23 Enforce autospec in test_portgroup
Adapt unit tests and remove filter from tox.ini

Change-Id: I9962afd71bb2a72374559dc1d07bba4137754eb0
2021-03-05 14:29:43 +01: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
Riccardo Pittau
807a6d2bea Prepare to use tinycore 12 for tinyipa
Tinycore 12 requires some more RAM than its predecessor.

Change-Id: Ibced843f34c78af7780bfe1ade833208b458bb8b
2021-03-02 17:42:45 +01: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
Zuul
545a1a3779 Merge "Enforce autospec in test_driver" 2021-02-27 18:49:00 +00:00
Zuul
af8c8e14dc Merge "Enforce autospec in test_notification_utils module" 2021-02-27 18:48:43 +00:00
Zuul
ab4a510cda Merge "Enforce autospec in test_node" 2021-02-27 18:48:37 +00:00
Zuul
4454bdf93c Merge "[Trivial] Fix testing of volume connector exception" 2021-02-27 00:59:13 +00:00
Mohammed Naser
367cdcd665 Add both IPv4 and IPv6 DHCP options if interface has both
It is possible that an interface has both IPv4 and IPv6 addresses,
primarily when using SLAAC with OpenStack Neutron.  When this is
the case, it is very likely that the first fixed IP would be a
SLAAC assigned port and the second IP is the IPv4 address.

In an environment where you are looking to boot via IPv4, no DHCPv6
infrastructure exists as IPv6 connectivity is provided via SLAAC,
you would not be able to use this network to boot off of.

This patch instead grabs all the fixed IP addresses, then inserts
the options that match the IP versions which are attached to the
interface, potentially resulting in both IPv4 and IPv6 options
being included (though the IPv6 ones would be largely omitted).

In environments where only IPv4 or IPv6 is in use on the port, it
will still only insert the options for those specific IP versions.

Story #2008660
Task #41933
Change-Id: I52e4ee022b17cb7f007534cb368136567b139a34
2021-02-26 23:39:44 +00:00
Zuul
f5d9cabef2 Merge "RBAC System Scope: observer -> reader" 2021-02-26 23:15:24 +00:00
Zuul
e8ffc75d5d Merge "Implement system scoped RBAC for the deploy templates APIs" 2021-02-26 23:15:16 +00:00
Zuul
9785383f70 Merge "Implement system scoped RBAC for the event APIs" 2021-02-26 20:03:54 +00:00
Arne Wiebalck
61c5b3fd2f [Trivial] Fix testing of volume connector exception
Restore test symmetry.

Change-Id: I54a9fed73e366a30545c3cd1982588d2f544d228
2021-02-26 15:14:23 +01:00
Zuul
dab69e1266 Merge "[trivial] fix typos in conductor" 2021-02-25 16:06:47 +00:00
Dmitry Tantsur
decd723344 Switch iLO and iRMC to the new secure boot framework
No longer explicit handle secure boot in PXE/iPXE derivatives since it's
now handled there.

Change-Id: I13b1d53578285b7171bfadb53bb2a7f69e7b53e3
Story: #2008270
Task: #41567
2021-02-25 12:19:34 +01:00
Dmitry Tantsur
7abac806a7 devstack: a safeguard for disabled tempurls
Change-Id: Id5fcd4cc1f73b80e8a9e9d2c50e2e4e1667c01cb
2021-02-25 12:09:30 +01:00
Zuul
010191e81e Merge "Enable swift temporary URLs in grenade and provide a good error message" 2021-02-24 23:17:09 +00:00