227 Commits

Author SHA1 Message Date
Zuul
ff4e836c55 Merge "Add the setting of memcached servers to keystone_authtoken" 2023-11-12 20:14:50 +00:00
Taketani Ryo
679176ab56 Add the setting of memcached servers to keystone_authtoken
In-process token cache is deprecated since 4.2.0 release
and may be removed. Add the setting of memcache for
the auth_token token cache.

Change-Id: I23ad1d9fb1b33160452ab353972fa1274cde363d
2023-10-16 09:25:17 +09:00
Julia Kreger
3f77091c63 Enable OVN CI
Adds basic testing for PXE/iPXE boot secenarios where the OVN
DHCP service is used instead of dnsmasq.

Also adds a release note and documentation to cover the details
and caveats of using ovn as we have discovered through this process.

Change-Id: I28cd20a7f271220d8ca335895ca9e302452fd069
2023-10-03 14:24:34 +00:00
Bifrost
3c5e05a8a4 Introduce default kernel/ramdisks by arch
Introduce config to allow setting default ramdisks per-architecture.
The hierarchy of the parameters is:
Node config > config by architecture > general config

Change-Id: I95dfece3e8f7bcd3121ac808985cb61997877a51
2023-08-28 17:25:37 +01:00
Zuul
2b9d3638b1 Merge "Document caveats of running with SQLite" 2023-07-26 14:16:58 +00:00
Dmitry Tantsur
267e61bbc7 Document caveats of running with SQLite
Change-Id: I5d182814b07a2d50345ee365c56a0f00724f6e47
2023-07-14 12:31:59 +02:00
Dmitry Tantsur
f4be664a86 Stop splitting installation docs per distros
The versions only differ in the first paragraph, and the supposedly
common parts actually have different code paths for different distros.

Also be realistic about which distros we support.

Change-Id: Ifcc19a20d42f384300cadf442951739be8682047
2023-07-14 11:38:10 +02:00
Zuul
1d0818cba2 Merge "Remove use of nomodeset by default" 2023-05-09 06:29:42 +00:00
Zuul
c42c2efe95 Merge "Remove all references to the "cpus" property" 2023-04-27 23:10:00 +00:00
Julia Kreger
f2605e9281 Remove use of nomodeset by default
The troubleshooting kernel command line option nomodeset
unfortunately changes the way framebuffer interactions work
with graphics devices which in some cases can result in kernel
memory to be used for graphics updates. When this happens on
some specific hardware common in rack mount servers with baseboard
management controllers, this can cause the memory bus to become
locked for a brief time while the graphics update is occuring.

This locked memory bus means disk IO can become blocked,
and network cards can overflow their buffers resulting in
packet loss on top of the latency incurred by the graphics
update executing.

As such, we've removed the nomodeset option from default usage and
added a note describing its removal to the documentation along
with a release note.

Change-Id: I9084d88c3ec6f13bd64b8707892758fa87dd7f86
2023-04-26 07:34:29 -07:00
Dmitry Tantsur
cc9fa85260 Remove outdated API version information from the enrollment docs
Change-Id: I846ce901137bede05543a40e4d91930c4fddad41
Closes-Bug: #1753435
2023-04-04 09:58:03 +02:00
Dmitry Tantsur
3e21560bf7 Remove all references to the "cpus" property
Unused by Nova and unlike memory_mb/local_gb also by Ironic (actually,
our usage of local_gb is worth double-checking as well, but at the very
least it's referenced by inspection implementations).

Change-Id: Ie8b0d9f58f4dcd102c183c30ae7f5acf68a5e4c3
2023-03-28 11:53:26 +02:00
Dmitry Tantsur
f00da959ea Do not recalculate checksum if disk_format is not changed
Even if a glance image is raw, we still recalculate the checksum after
"converting" it to raw. This process may take exceptionally long.

Change-Id: Id93d518b8d2b8064ff901f1a0452abd825e366c0
2023-03-07 11:57:23 +01:00
Julia Kreger
1435a15ce3 Fix allocations default table type
In trying to figure out why I was unable to run
all of the test_migrations tests, I realized we need
to fix and clean up our unicode declarations.

Specifically, the way I found this was my local mysql
install was defaulted to using 4 Byte Unicode characters,
however some of our fields are 255 characters, which do not
fit inside of InnoDB tables.

They do, however fit with the "utf8" storage alias, which is
presently short for UTF8MB3, as opposed to UTF8MB4 which is
what my local database server was configured for. Because this
was in opportunistic tests, I wasn't able to really sort out
what was going on and thought we needed to shorten the fields.

In reality, it turns out we never defined the allocations
table to use UTF8 and Innodb for storage.

Storage engine wise, this is not a big deal, but may mean a
DBA will one day need to dump and reload the allocation table
of a deployment.

Character set wise... It is not great, but there is not a good
way for us to do this programatically. In my opinion, the chance
of an issue being encountered by an operator is unlikely, which
out weighs the risk and impact of dumping the entire table,
deleting the table, recreating the table with the updated schema
and then repopulating the entries. Of course, if operators are not
using allocations, then it really doesn't matter for them.

Along the way, I discovered we had used the "UTF8" type alias,
which may change one day, which would break Ironic. As such,
I've also updated the definitions used to create databases
and updated our documentation.

Recommended reading:
https://docs.sqlalchemy.org/en/14/dialects/mysql.html#unicode
https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb4.html

Story: 2010348
Task: 46492

Change-Id: I4103152489bf61e2d614eaa297da858f7b2112a3
2022-10-13 21:21:24 +00:00
Dmitry Tantsur
41484988ef Stop documenting netboot and the boot_option capability
Both will be removed soon. The documentation change is separated
to reduce the size of the final patch.

Change-Id: If4b9b0d095500101ca71a453d71ad95252dd8c0c
2022-08-01 16:36:25 +02:00
Julia Kreger
56d3c5a031 Clarify disk_label with a warning
Turns out I've had two people try to use disk label
twice in the last week to infer UEFI booting system.

This is not correct, unfortunately.

Clarify that the boot mode needs to be set appropriately.

Change-Id: I515358d40b03ea0d38dad2104a2d3d2c66e0ae8c
2022-07-25 13:20:23 -07:00
Zuul
7673cb827b Merge "Deprecate syslinux" 2022-07-22 00:53:46 +00:00
Julia Kreger
c8be82c525 Deprecate syslinux
Syslinux is a functionally abandoned Legacy BIOS boot mode bootloader
which has not seen updates since 2019, and is starting to see
discussion amongst linux distributions to remove explicit support
and packaging for Syslinux. Syslinux's relevance is also disappearing
as UEFI booting is becoming the standard. While syslinux did go ahead
and ensure their bootloader *could* be built and support UEFI,
distributions also didn't uniformly adopt packaging and support for
this bootloader.

This change proposes to deprecate it and notates the areas in which
functionality is deprecated.

Change-Id: Ic52007fa4f207561d282eb5ae54273885c0ab0c0
2022-07-13 06:50:55 -07:00
Dmitry Tantsur
19daab6bae Docs: specify what to do with the created images
Also make the Glance image docs easier to navigate.

Change-Id: Ib7f891c2086c556cffca94eb0e37db87b6a68e7b
2022-06-24 18:58:49 +00:00
Steve Baker
39a7f58002 Docs: replace nova cli calls with openstack
Change-Id: I293f1c110227a09909ea2225346c24143f851a71
2022-06-16 11:41:44 +12:00
Dmitry Tantsur
81f583f69b devstack: use CentOS 9 for DIB IPA builds
Additionally bumps CPU model to host-model as centos9 builds now
require a subset of CPU processors which include advanced features.
Host-model also allows for the VM to still start when running with
pure qemu, as opposed to KVM passthrough.

https://developers.redhat.com/blog/2021/01/05/building-red-hat-enterprise-linux-9-for-the-x86-64-v2-microarchitecture-level#architectural_considerations_for_rhel_9

Change-Id: Ic261efd4bf6f5929687df5e7b1b51b541554af18
2022-05-25 08:57:15 -07:00
Zuul
1d1cfbc1af Merge "Support img_type Glance property" 2022-03-11 17:31:19 +00:00
Dmitry Tantsur
c62c16bd22 Support img_type Glance property
Follow-up to change I4ce5f7a2317d952f976194d2022328f4afbb0258.

Change-Id: I36673c801d426ea9cb204ca52b6fb6f719eb396a
Depends-On: https://review.opendev.org/c/openstack/glance/+/826684
2022-01-28 19:14:09 +01:00
Dmitry Tantsur
a7cd4d5578 Recommend various installers in the install guide
Arguably, installing ironic from packages manually should not be the
first option to resort to. Link to some installers.

Change-Id: Ia5d90263f73bae5f94d5239e71a7ae81262b5117
2022-01-25 15:37:13 +01:00
Dmitry Tantsur
e37af45935 Document single process Ironic
Change-Id: I2e60d989e7e3717510a8be2832db8a64ceac892e
Story: #2009676
Task: #44120
2021-12-13 12:52:25 +01:00
Steve Baker
3f76724dfb Write initial grub config on startup
This change removes the documentation to copy master_grub_cfg.txt to
/tftpboot/grub/grub.cfg and instead writes it on conductor startup.
This grub config is a simple redirect config requested by grub network
boot. "master" has been renamed to "initial" as a more accurate label
of its function.

New configuration option [pxe]initial_grub_template allows the deployer
to specify a different initial grub template.

Change-Id: I71191dd399a6c49607f91d69b5b1673799a38624
2021-12-10 15:44:50 +13:00
Dmitry Tantsur
019ed2d7b1 Add "none" RPC transport that disables the RPC bus
When using the new combined executable in a single-conductor scenario,
it may make sense to completely disable the remote RPC. The new
``rpc_transport`` value ``none`` achieves that.

Change-Id: I6a83358c65b3ed213c8a991d42660ca51fc3a8ec
Story: #2009676
Task: #44104
2021-12-07 09:33:04 +01:00
Zuul
1ad973fdeb Merge "Add description to the mod_wsgi part" 2021-11-11 10:33:56 +00:00
Han Guangyu
287425e159 Add description to the mod_wsgi part
According to the current document, people who do not understand the
relevant principles may think that "Configuring ironic-api behind
mod_wsgi" is necessary.

Indicate that mod_wsgi part is not necessary but recommended.

task: 43714
Change-Id: I405c483506f79a830e9378db3dd45c8c235a6817
2021-10-28 05:19:07 +00:00
Han Guangyu
dc3fefe6a0 Add a description of stopping ironic-api.service
According to the original document, before configuring ironic-api
behind mod_wsgi and restarting the httpd service, the ironic-api
service has been started. The port has been monitored by
ironic-api.service, and the error "Apache fails to start, Address
already in use" will be reported when the httpd service is restarted.

Add a description of stopping and disabling the ironic-api service
before starting httpd service.

task: 43713
Change-Id: Idc965d80d0fbaa348453a94ae45318157b2c0d0c
2021-10-21 21:04:35 +08:00
Julia Kreger
493b4f0caf Yoga: Change default boot mode to uefi
Change the default boot mode to UEFI, as discussed during the end
of the Wallaby release cycle and previously agreed a very long time
ago by the Ironic community.

Change-Id: I6d735604d56d1687f42d0573a2eed765cbb08aec
2021-10-04 11:57:55 -07:00
Julia Kreger
85b6dc9356 Facilitate asset copy for bootloader ops
Adds capability to copy bootloader assets from the system OS
into the network boot folders on conductor startup.

Change-Id: Ica8f9472d0a2409cf78832166c57f2bb96677833
2021-09-15 16:24:13 -07:00
Dmitry Tantsur
94a1560d31 Always update cache for HTTP images if Last Modified is unknown
Currently we default to assuming the cache is up-to-date. This is likely
wrong. Normal web servers provide Last Modified for files they serve.
If it is absent, chances are high the image is served by some sort
of a dynamic service, which may modify the URL on fly.

In any case, always updating the image is a safer choice.

Change-Id: I0548db14a97638d26ebb687e8f47f1b295d1f774
2021-09-08 16:40:49 +00:00
Dmitry Tantsur
294046befa Use shim-signed on Ubuntu, shim is empty now
Also fix the documentation to use the correct paths and versions.

Change-Id: I7f004d40c1b8c617f9a456216df091e44d69693f
2021-08-03 13:07:22 +02:00
Dmitry Tantsur
59b4fb8dc1 Expand the IPMI documentation
Explaing which cipher suites must be used and how to pre-configure the
BMC. Also explain the privilege levels.

Change-Id: I93845ac9dd068b0ddb52693afe4993804857e5ea
2021-07-23 14:31:12 +02:00
Dmitry Tantsur
3199d289bd Fix iPXE docs: snponly is not always available
Actually, it's only available on RHEL/CentOS 8, but I hope the other
distributions will catch up.

Change-Id: I53314b8f16fd7b965c58370e33ab83501e7cb067
2021-07-13 14:43:07 +02:00
Julia Kreger
b2a249d186 Deprecate [pxe]ip_version parameter
The parameter has not had any effect in the code since
the dual stack PXE work went into place with Ironic as options
are now generated and transmitted to Neutron for both IPv4 and
IPv6. This option is only used by the internal
``dhcp_options_for_instance`` method in
``ironic.common.pxe_utils`` as a fallback if the calling method
does not specify a version. However a later change resulted in the
default behavior calling the dhcp option generation explicitly
to generate both IPv4 and IPv6 parameters, making the option
entirely redundant.

Third party drivers using the ``dhcp_options_for_instance`` method
should consider generating options for both IPv4 and IPv6 at all
times. See change
If7a296001e204ae0c9a49495731052ab33379628 for examples on how
to do this.

Change-Id: I343783389105f008ce6dafc8d25d93211710771a
2021-06-28 06:59:34 -07:00
Zuul
1e2fa5c326 Merge "Changes made to enrollment documentation" 2021-06-10 14:21:06 +00:00
kkillsfirst
728edb6b7d Changes made to enrollment documentation
* Fixed typo

Change-Id: I6e1246712ea2ccb13538f040f2cdb1e91b7a3feb
2021-06-09 14:16:58 -06:00
Zuul
c8acf5b24a Merge "Move provision states documentation to the user guide" 2021-06-07 14:08:06 +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
Zuul
80b4776832 Merge "Expand the deployment guide" 2021-05-21 12:12:18 +00:00
Zuul
6c7d5e2626 Merge "Clean up kernel_append_params for PXE/iPXE" 2021-05-19 11:33:41 +00: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
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
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
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
929907d684 Bye-bye iSCSI deploy, you served us well
The iSCSI deploy was very easy to start with, but it has since become
apparently that it suffers from scalability and maintenance issues.
It was deprecated in the Victoria cycle and can now be removed.

Hide the guide to upgrade to hardware types since it's very outdated.

I had to remove the iBMC diagram since my SVG-fu is not enough to fix it.

Change-Id: I2cd6bf7b27fe0be2c08104b0cc37654b506b2e62
2021-05-04 14:28:25 +02:00
Dmitry Tantsur
e79f163837 Update refarch with information about image_download_source
Change-Id: Ia06b01e89d79bf0f65d95dd0c20e91b456b8acae
2021-05-03 17:40:58 +02:00