Since we use a dict for passing them internally, use None value for
single-value params.
Change-Id: I4e7d2a555eff48ee164d4ecce53156bacbc68da4
Story: #2008963
Task: #42599
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
* Avoid logging large keys, such as system_logs
* Log request params when sending a request
* Sanitizing requests and responses before logging
Change-Id: If298a98b0807e69a3194e48e42d897e8c8414e7e
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
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
This commit is a follow-up to Ie86ec57e428e2bb2efd099a839105e51a94824ab
Story: #2008571
Task: #42546
Change-Id: I6fa4658180772ff9c4ff00f95b28cf8a1b5d4223
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
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
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
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
Fixing another case of bios interface missing from the api-ref
documentation, this one for the validate API.
Change-Id: I8ae3212f04a8d150af8adde5f5f87e5a5451da14
- 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
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
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
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
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