11394 Commits

Author SHA1 Message Date
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
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
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
Riccardo Pittau
f1c9ff0e92 Update min version of tox to use allowlist
The min version of tox is updated to 3.18.0 to replace whitelist_externals
with allowist_externals option [1]

[1] https://github.com/tox-dev/tox/blob/master/docs/changelog.rst#v3180-2020-07-23

Change-Id: Icf821d49d2543be2a37dffc686ae7ab4163b04cc
2021-05-18 11:13:22 +02:00
Dmitry Tantsur
722326f675 Clean up kernel_append_params for iRMC
Currently handling of kernel_append_params is very inconsistent. This
change applies a straightforward process:
1. instance_info[kernel_append_params]
2. driver_info[kernel_append_params]
3. [$driver]kernel_append_params

Story: #2008902
Task: #42472
Change-Id: Ib83594743ae58ea26dbd9875c98ab169dd5ab009
2021-05-17 16:44:10 +02:00
Dmitry Tantsur
e51404c8e7 Clean up kernel_append_params for Redfish and iLO
Currently handling of kernel_append_params is very inconsistent. This
change applies a straightforward process:
1. instance_info[kernel_append_params]
2. driver_info[kernel_append_params]
3. [$driver]kernel_append_params

The existing ilo_kernel_append_params is declared but never implemented,
so it's removed without deprecation in favor of the new option.

Story: #2008902
Task: #42470
Task: #42471
Change-Id: I0fcd7c63a4bc41110eb7f4cd4031580ef98d9a19
2021-05-17 16:43:34 +02:00
Dmitry Tantsur
2a73f5a84e Clean up kernel_append_params for PXE/iPXE
Currently handling of kernel_append_params is very inconsistent. This
change applies a straightforward process:
1. instance_info[kernel_append_params]
2. driver_info[kernel_append_params]
3. [pxe]kernel_append_params (renamed from pxe_append_params).

Also adds a helper for subsequent fixes in other drivers.

Change-Id: I79bcf4d8ef1f0f55a82e0991dd5bb1685b3f7957
Story: #2008902
Task: #42469
2021-05-17 16:12:30 +02:00
Zuul
af94a3da1e Merge "Add bios_interface to api-ref spec" 2021-05-17 11:37:39 +00:00
Zuul
492acec747 Merge "setup.cfg: Replace dashes with underscores" 2021-05-16 09:59:25 +00:00
Bob Fournier
98c9500614 Add bios_interface to api-ref spec
This is a doc change to add bios_interface to the api reference. Its
included in the detailed node list and node show but wasn't shown
in the api-ref.

Change-Id: I8735d10db1644f8a2c872c75c156c75c06b79c0c
2021-05-14 11:31:40 -04:00
Dmitry Tantsur
c70b858769 Expand the deployment guide
* Add optional Glance and Neutron integration.
* Migrate and expand the configdrive section from the install guide.
* Explain how to use cloud-init boot scripts.
* Explain allocations and mention metalsmith as an easy CLI.
* Use more realistic URLs and checksums in the examples.
* Remove a reference to local boot, it's the default nowadays.
* Replace the iLO note with a more generic one.
* Small fixes and clean ups.

Change-Id: I28ac60da6722b9ca2c2b571511070010145958f6
2021-05-12 17:24:04 +02:00
likui
26f6607113 setup.cfg: Replace dashes with underscores
Setuptools v54.1.0 introduces a warning that the use of
dash-separated options in 'setup.cfg' will not be supported
in a future version [1].
Get ahead of the issue by replacing the dashes with underscores.
Without this, we see 'UserWarning' messages
like the following on new enough
versions of setuptools:

  UserWarning: Usage of dash-separated 'description-file' will not be
  supported in future versions. Please use the underscore name
  'description_file' instead

[1] https://github.com/pypa/setuptools/commit/a2e9ae4cb

Change-Id: If07c53b62d32d2bc3d519b4f541f267995e522fe
2021-05-12 17:54:12 +08:00
Zuul
e9f3212525 Merge "[doc] Update documentation about force_persistent_boot_device" 2021-05-11 09:32:07 +00:00
Zuul
bbc9e3d1c1 Merge "Upgrade guide: remove ancient versions and group with Installation" 2021-05-11 06:51:54 +00:00
Arne Wiebalck
754f15c92d [doc] Update documentation about force_persistent_boot_device
Apparently, this was missed when the new options were introduced.

Story: #2004846

Change-Id: I04be5a5a8fa962bafa68f0ea93ee127b1610c20f
2021-05-10 19:02:32 +02:00
Zuul
541de6036c Merge "Avoid unnecessary validation in boot interfaces" 2021-05-10 15:44:30 +00:00
Dmitry Tantsur
6243a4b280 Rework the user guide
Currently it only contains (outdated) explanations how Ironic works.
Move them one level deeper and migrate the content relevant to users:
* Preparing instance images from the installation guide
* Deploying nodes from the standalone guide

Compatibility shims are provided for migrated pages.

Change-Id: I8468da377b7878eb3d1a61e6a6bcd4ac8a5f06d7
2021-05-10 17:18:13 +02:00
Dmitry Tantsur
b92fa285a9 Upgrade guide: remove ancient versions and group with Installation
Change-Id: Ida2d1003eb99f012be0eca6ebde4fe2f935b2880
2021-05-10 17:18:13 +02:00
Zuul
86ab396559 Merge "Delete unavailable py2 package" 2021-05-10 15:01:01 +00:00
Zuul
2477e75c7f Merge "Document the custom-agent deploy interface" 2021-05-10 15:00:45 +00:00
LinPeiWen
35dea07897 Delete unavailable py2 package
The openstack Ussuri and Victoria versions no longer support the
Centos7 and pyrhon2 environment packages. Correct the missing
problems in the latest document

Change-Id: I60787243fdc6ed2741522355ec79970bdb912f41
2021-05-10 09:47:52 +00:00
Dmitry Tantsur
abfe383cc3 Fix deployment when executing a command fails after the command starts
If the agent accepts a command, but is unable to reply to Ironic (which
sporadically happens before of the eventlet's TLS implementation), we
currently retry the request and fail because the command is already
executing. Ironic now detects this situation by checking the list of
executing commands after receiving a connection error. If the requested
command is last one, we assume that the command request succeeded.

Ideally, we should pass a request ID to IPA and then compare it. Such
a change would affect the API contract between the agent and Ironic
and thus would not be backportable.

Change-Id: I2ea21c9ec440fa7ddf8578cf7b34d6d0ebbb5dc8
2021-05-07 17:50:06 +02:00
Zuul
2e5e2e5eb5 Merge "Provide an option to not cache bootable iso ramdisks" 2021-05-05 20:56:26 +00:00
Dmitry Tantsur
53d06a797c Document the custom-agent deploy interface
Follow-up to commit e85a36fe36db166e3f37212aa8261ac72e34e66a.

Change-Id: I8f1909523f2e8c314bd7e6f62ac29a90d7585abd
2021-05-05 16:05:47 +02:00
Zuul
270792377d Merge "Bye-bye iSCSI deploy, you served us well" 2021-05-05 13:12:32 +00:00
Zuul
21778d29f4 Merge "Update refarch with information about image_download_source" 2021-05-05 13:12:14 +00:00
Zuul
462969c68f Merge "Do not mask configdrive when executing in-band deploy steps" 2021-05-05 13:12:00 +00:00