11569 Commits

Author SHA1 Message Date
Dmitry Tantsur
3824912f0a Handle non-key-value params in [inspector]extra_kernel_params
Since we use a dict for passing them internally, use None value for
single-value params.

Change-Id: I4e7d2a555eff48ee164d4ecce53156bacbc68da4
Story: #2008963
Task: #42599
2021-06-10 18:39:35 +02:00
Zuul
1e2fa5c326 Merge "Changes made to enrollment documentation" 2021-06-10 14:21:06 +00:00
Julia Kreger
f58cbf1514 Fix ironic-status db index check
When I merged the db status check in for database indexes, I missed
the most improtant line, which is where the object is populated with
the method name to be executed by the upgrade checks framework.

In the rush to try and clean-up after the impact of the Secure RBAC
work, I just didn't manually test the final file I uploaded into
review. I assumed it just worked because the job passed, but didn't
think about the resulting return codes which we *should* experience
on an upgrade from a prior version. Later on, I noticed that because
of the way the status checks are invoked, I also added the code to
do the index check in the wrong order, so I had to restructure things
so the method definition was known by the object on the class which
holds the method names list.

I guess I copied/pasted this over from another file I was testing
in just didn't run the final file. :( Funny enough, the index check
works like a charm now.

Also updates the status check invocation check in the upgrade script
for grenade, *as* warnings *are* permissible and not fatal.

Change-Id: Ifa9da65dc8df5bf9a369d6faeab310386dfd944a
2021-06-10 07:04:15 -07:00
kkillsfirst
728edb6b7d Changes made to enrollment documentation
* Fixed typo

Change-Id: I6e1246712ea2ccb13538f040f2cdb1e91b7a3feb
2021-06-09 14:16:58 -06:00
Aija Jauntēva
0a8ebdfc58 Update Redfish RAID disk_type unit test
Change-Id: I50ff2ac85aa11b7126995a57dbc3c22fa499ff1d
2021-06-09 05:21:39 -04:00
Zuul
f6e1a954b2 Merge "Redfish: Get only RAID controller's physical disks" 2021-06-08 16:49:29 +00:00
Zuul
12692d05a2 Merge "Refactor iDRAC OEM extension manager calls" 2021-06-08 09:34:46 +00:00
Zuul
6222d57a74 Merge "Improve agent_client logging" 2021-06-07 17:05:55 +00:00
Zuul
c8acf5b24a Merge "Move provision states documentation to the user guide" 2021-06-07 14:08:06 +00:00
Aija Jauntēva
4b29f2b955 Redfish: Get only RAID controller's physical disks
Based on Redfish's SupportedRAIDTypes collect only
physical disks of RAID controllers.

Change-Id: I369bdbb17064baf34f90e864d0ece600529de509
2021-06-07 05:37:40 -04:00
Zuul
a1fca1ef70 Merge "Trivial: fix an outdated link" 2021-06-03 17:45:31 +00:00
Zuul
fa87aea579 Merge "Changes made to release documentation:" 2021-06-02 23:32:50 +00:00
kkillsfirst
fe419bac1c Changes made to release documentation:
* Removed sushy-cli from Client libraries
* Removed molteniron from Independent

Change-Id: I2c2f87e372348760654563d34906829082f93d9f
2021-06-02 16:32:34 -06:00
Iury Gregory Melo Ferreira
f2ef05fce4 Prepare 18.0 and clean up release note
Release notes checked:
* releasenotes/notes/adding-security-param-clean-step-00d5548072a397f2.yaml
* releasenotes/notes/bios-interface-api-ref-ebf866cc7da2270b.yaml
* releasenotes/notes/bios-interface-api-ref-validate-ddb95461adb0e478.yaml
* releasenotes/notes/bios-registry-support-e7fd62908e9c222d.yaml
* releasenotes/notes/boot-validate-6b4b6b40c8e27273.yaml
* releasenotes/notes/bug-2007551-aliases-for-a-few-named-state-transitions-a32433ad65638706.yaml
* releasenotes/notes/bye-bye-iscsi-658920cf126db0b8.yaml
* releasenotes/notes/configdrive-render-8eb398d956393d60.yaml
* releasenotes/notes/create_node_indexes-841b679e6cf332fd.yaml
* releasenotes/notes/custom-agent-deploy-88989512c29a14c1.yaml
* releasenotes/notes/decomposed-steps-9644d3b5ccbad1ea.yaml
* releasenotes/notes/get-bios-registry-aadc74800e0770f7.yaml
* releasenotes/notes/irmc-append-params-380a281db43e6013.yaml
* releasenotes/notes/pxe-append-params-9cd5831959676371.yaml
* releasenotes/notes/redfish-append-params-4d28d922484c2731.yaml
* releasenotes/notes/redfish-deploy-iso-9671ae83108f6385.yaml
* releasenotes/notes/secure-rbac-policy-sanitization-performance-dc7886952144bb04.yaml

Change-Id: I8b27df7e9c9b7f8623aa22c82be77b74e7d183d8
2021-06-02 17:09:20 +02:00
Zuul
156031e5f2 Merge "Trivial: Fix version number in comment" 2021-06-01 22:31:22 +00:00
Zuul
c33ca1041c Merge "Add bifrost-benchmark-ironic job" 2021-06-01 19:13:27 +00:00
Zuul
2f139acded Merge "Secure RBAC - Efficent node santiziation" 2021-06-01 19:12:05 +00:00
Bob Fournier
47001f3c0b Trivial: Fix version number in comment
Fix the version number in comment.

Change-Id: Iffa4bd7d15fb999e3d60539f630873d95057e44e
2021-06-01 14:49:34 -04:00
Dmitry Tantsur
96aae720ad Improve agent_client logging
* Avoid logging large keys, such as system_logs
* Log request params when sending a request
* Sanitizing requests and responses before logging

Change-Id: If298a98b0807e69a3194e48e42d897e8c8414e7e
2021-06-01 17:45:50 +02:00
Julia Kreger
6b0fc9089f Add bifrost-benchmark-ironic job
Utilizes a simple bifrost job to stand up a simple ironic deployment
where fake nodes will be created added, and a simple benchmark will
then be executed.

Change-Id: I33e29ee303b2cf4987b36c7aad2482bc3673f669
2021-06-01 15:07:36 +00:00
Dmitry Tantsur
2fabd3b7d3 Trivial: fix an outdated link
Change-Id: If74ffa6293347b041b2b8851c18ca057f4a30707
2021-06-01 13:05:01 +02:00
Dmitry Tantsur
6a4e33eb0d Move provision states documentation to the user guide
Not only is this concept user-facing, it's arguably the most important
user-facing concept to grasp, and such it belongs to the user guide.

Add state aliases and provide helpful links for the features.

Change-Id: I2717953b71df63a9a640c8a45dd7149e6d132bf3
2021-06-01 12:59:31 +02:00
Iury Gregory Melo Ferreira
26cf25d98a Follow-up to Include bios registry fields in bios API
This commit is a follow-up to Ie86ec57e428e2bb2efd099a839105e51a94824ab

Story: #2008571
Task: #42546
Change-Id: I6fa4658180772ff9c4ff00f95b28cf8a1b5d4223
2021-06-01 11:22:27 +02:00
Bob Fournier
e15440370c Include bios registry fields in bios API
Provide the fields in the BIOS setting API -
``/v1/nodes/{node}/bios/{setting}``, and in the BIOS setting list API
when details are requested - ``/v1/nodes/<node>/bios?detail=True``.

Story: #2008571
Task: #42483
Change-Id: Ie86ec57e428e2bb2efd099a839105e51a94824ab
2021-05-27 12:15:20 -04:00
Zuul
caa4c8fd29 Merge "Delay rendering configdrive" 2021-05-26 20:32:43 +00:00
Julia Kreger
d5971fdff2 Update project conundrum related docs
Yes, project conundrum is a code-name for our transition to OFTC
as we do not want to put anything into freenode IRC which may abruptly
result in the channel being siezed or shutdown by the new
owners/operators of freenode

Change-Id: I45c07e0b2138f6643f865d58155c64317114fd02
See: http://lists.openstack.org/pipermail/openstack-discuss/2021-May/022718.html
2021-05-26 10:37:19 -07:00
Zuul
1a5536b373 Merge "Add basic tools for benchmarking" 2021-05-26 15:10:05 +00:00
Zuul
a1e96ca699 Merge "Remove inventory time workaround for WS-man BIOS" 2021-05-25 18:25:28 +00:00
Zuul
5be2172f06 Merge "Update min version of tox to use allowlist" 2021-05-25 11:44:27 +00:00
Zuul
848ba44608 Merge "CI: Collect a snapshot of network connections" 2021-05-25 11:20:45 +00:00
Julia Kreger
ffff76a682 Add basic tools for benchmarking
Adds a horribly written, just hacked together little tool to help
provide sizing insight into an ironic deployment's state and underlying
performance.

Key data:
* Queries the list of node from a pure python interface level with the
  database and reports timeing for the list of nodes to be returned.
  This information helps convey how long a periodic hits the database
  just for the query.
* Requests *all* nodes using the query pattern/structure of the nova
  resource tracker, and uses the marker to make any additional requsts.
  The data is parsed, and collected, and counts identified vendors,
  if any.
* Collects basic data on conductors in terms of running, conductor groups
  as well as currently loaded drivers in the deployment.

All of this information provides operational insight into *what*
conditions exist within the deployment allowing developers to try
and identify solutions based on the unique circumstances of larger
deployments.

Also adds a utility to generate and semi-randomize data to allow us to
create a benchmark job in CI.

Change-Id: Iae660aea82db8f1c4567ee2982595ccfdf434fe3
2021-05-24 16:36:02 +00:00
Julia Kreger
6cd6457479 Secure RBAC - Efficent node santiziation
An investigation of performance issues in Ironic revealed that the
policy checking was performing extra un-needed work which performed
excess computational overhead when parsing the result data.

In this specific case, the Secure RBAC work added some additional
policy checks around individual the fields.

Change-Id: I77b6e0e6c721f2ff1f8b9f511acde97fcdb21a39
Story: 2008885
Task: 42432
2021-05-24 14:05:28 +00:00
Zuul
a1033e6ce3 Merge "Add missing bios_interface to api-ref for validate API" 2021-05-24 03:42:54 +00:00
Zuul
97ceb7bd15 Merge "Add additional node indexes" 2021-05-21 14:19:59 +00:00
Bob Fournier
9a09f1bdc9 Add missing bios_interface to api-ref for validate API
Fixing another case of bios interface missing from the api-ref
documentation, this one for the validate API.

Change-Id: I8ae3212f04a8d150af8adde5f5f87e5a5451da14
2021-05-21 09:16:40 -04:00
Zuul
80b4776832 Merge "Expand the deployment guide" 2021-05-21 12:12:18 +00:00
Zuul
2f1fa4d827 Merge "Trivial: comment why we don't check retired in allocations" 2021-05-20 12:23:51 +00:00
Zuul
0e0c6ad29f Merge "Rename redfish_deploy_iso -> deploy_iso" 2021-05-20 10:25:11 +00:00
Zuul
a7d35805b0 Merge "Retrieve BIOS registry from sushy" 2021-05-20 09:08:23 +00:00
Dmitry Tantsur
fb72d7dca6 Trivial: comment why we don't check retired in allocations
Change-Id: I31e128f5273cc50bf7662a62080251d8f226f6c5
2021-05-20 11:02:56 +02:00
Aija Jauntēva
39cd751a90 Refactor iDRAC OEM extension manager calls
- Re-usable helper created to avoid duplication.
- Although there is only one manager for system in known iDRAC systems
still iterate through collection for future changes.
- Restructured exception raising and error logging for better feedback.
- Removed some unit tests to avoid duplication that is covered by
method specific unit tests

Change-Id: I03fdb48e47c9557c207a20ee876eccf3f3459d9f
2021-05-19 12:00:43 -04:00
Bob Fournier
0ad427b78c Retrieve BIOS registry from sushy
Get the BIOS Registry from Sushy and store the fields in the Ironic
DB with the corresponding entry in the BIOS setting.

Story: #2008571
Task: #42484
Change-Id: I606c5de9077931707ebd15c3adf506badd95ea29
2021-05-19 09:32:01 -04:00
Dmitry Tantsur
172d1b22df Delay rendering configdrive
When the configdrive input is JSON (meta_data, etc), delay the rendering
until the ISO image is actually used. It has two benefits:
1) Avoid storing a large ISO image in instance_info,
2) Allow deploy steps to access the original user's input.

Fix configdrive masking to correctly mask dicts.

Story: #2008875
Task: #42419
Change-Id: I86d30bbb505b8c794bfa6412606f4516f8885aa9
2021-05-19 15:17:49 +02:00
Aija Jauntēva
28a9478038 Remove inventory time workaround for WS-man BIOS
The workaround was necessary for older versions to be backportable.

Change-Id: Ifd0d66ad4ed191fafd58090f92e4ee44814f4b86
2021-05-19 09:17:04 -04:00
Zuul
9a8b501e5c Merge "Clean up kernel_append_params for Redfish and iLO" 2021-05-19 11:34:18 +00:00
Zuul
db200f9880 Merge "Clean up kernel_append_params for iRMC" 2021-05-19 11:33:59 +00:00
Zuul
6c7d5e2626 Merge "Clean up kernel_append_params for PXE/iPXE" 2021-05-19 11:33:41 +00:00
Dmitry Tantsur
0a83738721 Rename redfish_deploy_iso -> deploy_iso
We should only use prefixed driver_info parameters when they are either
unique to the driver or have different meanings for different drivers.
This is not the case for deploy_iso, but we use vendor prefixes for
historical reasons.

This change migrates the redfish-virtual-media boot interface and
creates helpers to fascilitate migration of other boot interfaces.

Change-Id: I698d1c90592e8de2cb24d6e2cf819e7f6ac3911f
Story: #2008880
Task: #42425
2021-05-19 12:48:40 +02:00
Julia Kreger
205a8b3037 Add additional node indexes
Secure RBAC, along with numerous periodics, and even some common API
access patterns heavily access the ironic database and sometimes cause
queries across multiple columns to match nodes to return.

None of this is bad, but what is bad is we didn't have indexes on these
columns.

This change adds docs, and the schema upgrade to create the column
indexes, and a release note to provide more visible documentation
for operators.

It must be stressed that this does *not* improve query times
when all records are asked for on a database connection.

Also adds an upgrade check in to raise a warning for operator
visibility.

Story: 2008863
Task: 42392
Change-Id: I76821c032180a58d0f99d31110fbe0f844c0cb3f
2021-05-18 06:55:31 -07:00
Zuul
a362bbc9e4 Merge "Rework the user guide" 2021-05-18 11:13:17 +00:00