602 Commits

Author SHA1 Message Date
Maksim Malchuk
46bba8eb27 docs: the page 'Editable installs' has moved
Change-Id: I57fe9a6a5037adc341617bd35d3df83c81acc5b0
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2023-12-03 22:05:43 +03:00
Zuul
8e82a6b4a6 Merge "switches: add flag to save configuration on Dell switches" 2023-12-01 02:22:16 +00:00
Will Szumski
bd36b5f018 Adds initial support for vGPUs
Adds support for configuring vGPUs on NVIDIA hardware.

Closes-Bug: #2028843
Change-Id: I4c8481f7429dbf50d51e26bd7acee24e16ee6c79
2023-11-30 14:33:32 +01:00
Zuul
409d85758a Merge "Allow more fine-grained groups for ironic, loadbalancer & network" 2023-11-30 11:20:16 +00:00
Zuul
b31023ea54 Merge "Fix setting kolla_admin_openrc_cacert" 2023-11-09 01:35:47 +00:00
Zuul
79ebd52445 Merge "Fix an issue when user forgot combine custom passwords" 2023-11-08 16:55:53 +00:00
Mark Goddard
35259800aa switches: add flag to save configuration on Dell switches
Currently only supported on Dell OS9 and OS10 switches, and provides no
CLI integration.

Change-Id: Ia9242ed823868cba3a27fb9344a3b01283528d87
2023-11-01 16:57:03 +00:00
Zuul
29f7b3b755 Merge "Add seed_deploy_containers_registry_attempt_login" 2023-11-01 16:16:58 +00:00
Mark Goddard
2071dc9a38 Allow more fine-grained groups for ironic, loadbalancer & network
Kayobe has fairly coarse-grained default groups - controller, compute,
etc, which work well in the majority of cases. Kolla Ansible allows much
more fine-grained placement on a per-service basis, e.g.
ironic-conductor. If the operator has taken advantage of this
fine-grained placement, then it is possible that some of the assumptions
in Kayobe may be incorrect. This is one downside of the split between
Kayobe and Kolla Ansible.

For example, Ironic conductor services may have been moved to a subset
of the top level 'controllers' group. In this case, we would not want
the Ironic networks to be mapped to all hosts in the controllers group -
only those running Ironic conductor services. The same argument can be
made if the loadbalancer services (HAProxy & keepalived) or Neutron
dataplane services (e.g. L3 & DHCP agents) have been separated from the
top level 'network' group.

This change abstracts the placement of Ironic conductor Ironic
inspector, loadbalancer and network services into separate variables,
rather than referencing the top level 'controllers' and 'network' groups
directly. These variables may be updated by the operator to match the
service placement.

Change-Id: Idbf181c795ee98ad653f11ae483f9dab4ef1b599
2023-11-01 16:16:45 +00:00
Maksim Malchuk
73abf0e57e Fix an issue when user forgot combine custom passwords
Fixes an issue when user forgot to combine
'kolla_ansible_custom_passwords',
'kolla_ansible_default_custom_passwords' and own dictionary with
custom passwords in configuration files. Now
'kolla_ansible_extra_custom_passwords' should provide only user
custom passwords to add or override in the passwords.yml.

Change-Id: I4813a1f6ab9cb566596e806bd0ada6dff342d119
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2023-11-01 11:30:45 +00:00
Mark Goddard
95729405a3 Fix setting kolla_admin_openrc_cacert
Kolla Ansible renamed kolla_internal_fqdn_cacert to
kolla_admin_openrc_cacert in Victoria, after which we no longer set the
variable correctly in globals.yml. This would lead to a missing
OS_CACERT in admin-openrc.sh and public-openrc.sh.

This change fixes the issue by renaming the relevant Kayobe variables to
match and passing through the correct variable. Backwards compatibility
is provided until the end of the deprecation period.

kolla_public_openrc_cacert -> kolla_external_fqdn_cacert
kolla_admin_openrc_cacert -> kolla_internal_fqdn_cacert

Story: 2010486
Task: 47054

Change-Id: I9e1cc20579cf80525d6ef732a1aac99a65bc171b
Co-Authored-By: Maksim Malchuk <maksim.malchuk@gmail.com>
2023-11-01 10:55:19 +00:00
Zuul
bd9043dca0 Merge "Remove unsupported kolla_docker_registry_insecure variable" 2023-10-26 18:48:49 +00:00
Zuul
3a4600081e Merge "Add custom user_data content configuration for Bifrost" 2023-10-26 15:52:30 +00:00
Zuul
6c9957f3c5 Merge "Remove disable-selinux from default DIB elements" 2023-10-26 15:38:50 +00:00
Mark Goddard
1dce99094b Remove unsupported kolla_docker_registry_insecure variable
This variable is not supported since
I61a61ca59652b13687c2247d5881012b51f666a7, but was not removed from
etc/kayobe/kolla.yml in that change.

This change also adds the replacement variable docker_registry_insecure
to etc/kayobe/docker.yml.

TrivialFix
Change-Id: I3fa96f0276e08a6678e5d743399d01bc19a8dd1b
2023-10-25 15:45:31 +00:00
Alex-Welsh
1476b9a68b Add seed_deploy_containers_registry_attempt_login
Follow on to Ie17ef9ce1147cbaec2e42db932c7d59293b49b1b

Adds seed_deploy_containers_registry_attempt_login variable to seed.yml,
which acts as a redirection of deploy_containers_registry_attempt_login
so that the variable is more descriptive, declared in a better location,
and extensible to other groups

Change-Id: I86d8f13062ff8e664919cd5d63bc17bdafb32e0c
2023-10-18 14:56:23 +01:00
Pierre Riteau
d149118449 Remove disable-selinux from default DIB elements
Change-Id: I7ef0c5240585bfdc27fbdf6b32edd5b51ce2d147
2023-10-10 21:04:08 +02:00
Alex-Welsh
57d7764114 Add option to skip kolla docker registry login
This change adds a variable that can be used to disable kolla docker
registry login attempts, even when the registry username and password
are set.

This is required for deployments using a non-standard containerised
registry deployed on the seed during the deploy-container step,
since it takes place after the registry login attempt.

Change-Id: Ie17ef9ce1147cbaec2e42db932c7d59293b49b1b
2023-10-10 09:32:03 +01:00
Alex-Welsh
508bd3fe45 Fix ipa_build_dib_elements_default comments
The default value for ipa_build_dib_elements_default was previously
changed in Iefd2d0b7a3a3e07f5c112d58e2ec0b3da0a747d3. This change
updates the comments to match.

Change-Id: I47e5acb19c806a1067879c9cf5fa5ccb7f07ccd4
2023-09-12 15:16:12 +01:00
Zuul
cf5feb71e2 Merge "Kayobe environment dependencies" 2023-09-01 18:12:25 +00:00
Zuul
a5882071f7 Merge "Use merge_configs and merge_yaml to generate Kolla custom config" 2023-09-01 18:12:17 +00:00
Maksim Malchuk
a9f4689402 Add custom user_data content configuration for Bifrost
Since I2831e58d84f1da03485f8315eccdd2e79231e584 is used by Bifrost
we add custom user_data content configuration for Bifrost.

Story: 2010580
Task: 47336
Change-Id: I989069f3b3b43bc7a7a2e46ef5f046b8ed7cf8d1
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2023-08-18 14:11:11 +00:00
Bartosz Bezak
f1fd127c34 Add STP option for bridge interfaces
For Rocky Linux 9, Kayobe will now disable STP on a bridge by default,
to preserve compatibility with network scripts, as Network Manager
enables STP on all bridges by default.
Enabling STP can lead to port down event if BPDU guard is enabled
on the switch.

Closes-Bug: #2028775

Change-Id: I35eaa92f4243af00697306aa801e5a733885ce4f
2023-08-18 09:44:09 +00:00
Piotr Parczewski
c7b0ffd266 docs: Add a warning on creating network loops
Change-Id: Ie29137fe1ab4d50366b8a000d891db3d256d09f2
2023-07-11 22:59:41 +02:00
Matt Crees
505bb28b8d Correct name for role mrlesmithjr.manage_lvm
The name of ``mrlesmithjr.manage_lvm`` was changed yesterday in release
v0.2.10 to use an underscore, instead of a hyphen. As this changes the
name of the role on Ansible Galaxy, it needs to be updated in
``requirements.yml``.

Closes-Bug: #2024163
Change-Id: I4ea8d8c3a822a7c217bcfcfd5027eecfd21beaed
2023-06-16 11:01:34 +01:00
Will Szumski
0ae9e8d489 Kayobe environment dependencies
Allows you to combine multiple environments by declaring any dependencies.

Story: 2002009
Task: 42911
Change-Id: I4d9f96ec4cf3c6cd0d28dfe5ddb239d863498a72
2023-05-30 20:20:41 +01:00
Mark Goddard
428ef10fa4 Use merge_configs and merge_yaml to generate Kolla custom config
This patch adds new functionality - merging base & environment specific
kolla config. This allows you to place common settings in the base
configuration and only keep environment specific settings in the
environment directories.

Change-Id: Id4588f4529a4522e68e22ce58711cb927fa68a9d
Story: 2002009
Task: 42903
2023-05-30 16:47:14 +00:00
Will Szumski
c75a32e72f Pass through kolla inventories as is
Previously, we only supported passing through group_vars. Passing
through the inventory as is allows you to use other features of ansible
inventory such as host vars. It also simplifies the logic of merging
multiple inventories as we can just pass the inventory to ansible and
let ansible take care of the rest. This is useful for the multiple
environments feature.

Change-Id: I28f5d73d414d405d67f5fc92ab371aa2e28a4ce3
Story: 2002009
Task: 42910
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/802863
2023-05-30 18:42:24 +02:00
Zuul
2dc17631cb Merge "Allow to use own repos.y[a]ml file to build containers" 2023-04-20 08:53:11 +00:00
Zuul
cf04864825 Merge "Adds support for custom Multipathd configuration." 2023-04-19 18:48:44 +00:00
Zuul
3fde908247 Merge "Fix an issue when 'acl' package can be forgotten" 2023-04-19 16:29:47 +00:00
Maksim Malchuk
070621a45d Allow to use own repos.y[a]ml file to build containers
Followup the I0b07da22fea27e0ff4e90aaad19e50d84ff9a121 from Kolla.
This change allow to use own repos.y[a]ml file to build containers.
Multiple Environments supported.

Change-Id: I0d7ab0d8ff5b16ac5de8e50e63400bd455996555
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2023-04-19 16:06:46 +00:00
Zuul
cb50b0cbc0 Merge "Stop using kolla-ansible bootstrap-servers" 2023-04-18 15:49:59 +00:00
Maksim Malchuk
25fe761e62 Adds support for custom Multipathd configuration.
Change-Id: Ia956cfea7e7bfe47bf1e73c9edcac602caf45579
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2023-04-13 23:56:01 +03:00
Mark Goddard
c9f8d80ba6 Stop using kolla-ansible bootstrap-servers
The 'kayobe * host configure' commands no longer use the 'kolla-ansible
bootstrap-servers' command, and associated 'baremetal' role in Kolla
Ansible. The functionality provided by the 'baremetal' role has been
extracted into the openstack.kolla Ansible collection, and split
into separate roles. This allows Kayobe to use it directly, and only the
necessary parts.

This change improves failure handling in these Kayobe commands, and aims
to reduce confusion over which '--limit' and '--tags' arguments to
provide.  This ensures that if a host fails during a host configuration
command, other hosts are able to continue to completion. Previously, if
any host failed during the Kayobe playbooks, the 'kolla-ansible
bootstrap-servers' command would not run. This is useful at scale, where
host failures occur more frequently.

This change has implications for configuration of Kayobe, since some
variables that were previously in Kolla Ansible are now in Kayobe.

Several parts of the baremetal role have been split out and used here:

* apparmor-libvirt: disable AppArmor rules for libvirt on Ubuntu.
* docker: Docker installation & configuration. The docker role in
  openstack.kolla combines functionality from kolla-ansible and kayobe.
* etc-hosts: it proved difficult to generalise this, so we have some
  almost duplicated the code from kolla-ansible here. Requires delegated
  fact gathering for the case when --limit is used.
* firewall: support to disable UFW, for feature parity.
* kolla-packages: miscellaneous package installs & removals.

The addition of the stack user to the docker group has been moved to the
user bootstrapping playbook, and the docker SDK installation has been
moved to the virtualenv setup playbook.

Depends-On: https://review.opendev.org/c/openstack/ansible-collection-kolla/+/829587

Story: 2009854
Task: 44505

Change-Id: I61a61ca59652b13687c2247d5881012b51f666a7
2023-03-30 13:52:54 +00:00
Bartosz Bezak
e5815017b5 Move to Launchpad for project management
Change-Id: I777579bb92041a0e9f7975e5820bda53deabe930
2023-03-28 16:51:49 +02:00
Stig Telfer
f5529e6133 Add details of physical net configure --display
The --display parameter is very helpful but apparently undocumented.
Add it here.

Change-Id: I0e0e5ab8c2ca549d3278d7319ca6988c8790aef1
2023-03-06 17:22:58 +00:00
Maksim Malchuk
5e8a8233da Fix an issue when 'acl' package can be forgotten
This is folllowup on I69bf810632d09eddaa3983ae56e833debe9fd03b to
avoid user accidentely forgot the 'acl' package when override the
dev_tools_packages_default in their custom configuration. Also this
adds an ability to customise list of packages installed in addition
to the default list.

Change-Id: I03a826e98a18b158774ba100cfa2987299eb6c25
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2023-02-21 20:49:56 +00:00
Zuul
db9ce40e81 Merge "docs: add information about enabling TLS to automated guide" 2023-02-21 17:44:46 +00:00
Matt Crees
4af5fd172b Add command to run config validation
Adds the command ``kayobe overcloud service configuration validate`` to
run the ``oslo-config-validator`` on all hosts via Kolla-Ansible. The
output directory of the results is specified with the flag
``--output-dir``.

Change-Id: I5d5d16eeabe69e8659e33722165928df096b3559
2023-01-10 16:08:25 +00:00
Pierre Riteau
6e78aa8914 Replace references to Docker Hub by Quay.io
Kolla Ansible uses Quay.io as its default registry.

Change-Id: Ie1a56ebd6fe3283a2b5b077f658ff1cf3e006784
2023-01-06 11:11:46 +01:00
Pierre Riteau
ee25470b01 docs: add missing word
Change-Id: I0289a0868b916a14c69fbab414335e7de6b17380
2023-01-05 06:48:34 +01:00
Zuul
f23ce83a12 Merge "Support configuring VLANs with systemd-networkd syntax" 2023-01-03 13:08:12 +00:00
Pierre Riteau
5c1cdf889b Add note about Zed upgrade using Rocky Linux 9
This replaces the note about upgrading to CentOS Stream 8.

Change-Id: If550a604403fa67e3b6062428cd82032217e545c
2022-12-24 16:11:19 +01:00
Zuul
1ba4e9cf97 Merge "Some Rocky Linux 9 cleanups" 2022-12-15 09:35:29 +00:00
Mark Goddard
5846d81c53 Some Rocky Linux 9 cleanups
* Fix description of kolla_base_distro
* Update support matrix notes

Change-Id: Ibc2b9b647766231029fdc2c0e3671e872b1ae366
2022-12-15 10:14:40 +01:00
Mark Goddard
73df27677c Use environment variables for plugin paths
Kayobe provides various roles and plugins in the ansible directory.
These are accessible to Kayobe playbooks in the same directory.

In some cases it can be useful to use these items from Kayobe custom
playbooks, however they cannot since they reside in a different
directory. Typically we work around this by symlinking to the relevant
directory from the directory containing the custom playbook. This is not
an elegant workaround, and has assumptions about the relative paths of
the Kayobe configuration and virtual environment in which Kayobe is
installed.

This change adds the Kayobe role, collection, and plugin paths to the
relevant Ansible lookup paths using environment variables. This allows
custom playbooks to use these items. Also added to the lookup paths are
roles, collections and plugins in Kayobe configuration in the
etc/kayobe/ansible/ directory. This removes the limitation of playbooks
needing to reside in the same directory as those items in order to use
them.

We import the Ansible configuration settings module directly, since it
avoids replicating the configuration logic.

Story: 2010280
Task: 46234

Change-Id: I2fb2b4d7ed937e0184a62b0f119659569448f8df
2022-12-14 22:52:41 +01:00
Pierre Riteau
5207d88145 docs: Use recent dependencies update change
We need to change the version of ansible-collection-kolla used for each
release. Use a more recent patch including this change.

Change-Id: I3e7bcbaca442f7aa01f43df9209a80f7e176c548
2022-12-14 12:27:08 +01:00
Zuul
4fa3165fad Merge "docs: fix virsh command" 2022-12-13 16:08:14 +00:00
Zuul
170e836af0 Merge "docs: explain how to enable Ironic in the automated setup" 2022-12-13 16:08:13 +00:00