Commit Graph

614 Commits

Author SHA1 Message Date
Jakub Darmach dbcc3f4ae3 Use new collections in Kayobe
Refactored the code to switch the distribution source of the roles
to new collections for the roles that have already been migrated into
collections.

Updated:

 - requirements
 - role invocations
 - documentation
 - release notes
 - minor whitespace fixes

Change-Id: I8dbb88aa2061b3afcab07caeb30f45b3a5c939af
2024-03-27 15:07:08 +00:00
Matt Crees 6552df2b51 docs: Add note on SLURP upgrades
Change-Id: I48126b77254a74a030aabf5db0c68c04ecf41847
2024-03-14 14:46:31 +00:00
Zuul 684a440bae Merge "Make hooks environment-aware" 2024-03-01 14:28:02 +00:00
Zuul 5244733d75 Merge "Make OVS container build regex independent to OVN" 2024-02-19 17:13:44 +00:00
Seunghun Lee ec5bbf398c Make OVS container build regex independent to OVN
Currently building OVN container images and OVS container images are
mutually exclusive.

This becomes problem when all container images are needed to be built
at the same time.

``kolla_build_neutron_ovs`` is added to let user to build OVS even if
OVN is enabled when it's explictly set to true.

Default value ensures regex mapping behaves normally when
``kolla_build_neutron_ovs`` is not given.

Release note is also added.

Change-Id: I7efe883fce4117a5167b6db4a711004d77a44f81
2024-02-13 11:53:26 +00:00
Mark Goddard db3f22d42d Support auth configuration for Apt repositories
This allows use of repositories and proxies protected with HTTP basic
authentication.

Change-Id: I0ec4ec3e9d60bb1431b44dd6718415214ad80025
2024-02-11 12:49:16 +01:00
Zuul e469e99eba Merge "Ask for confirmation during overcloud deprovision" 2024-02-05 10:50:10 +00:00
Zuul 691454965f Merge "Use dummy1 as bridge port instead of eth1" 2024-02-02 11:53:16 +00:00
Will Szumski 280e84be82 Remove docker devicemapper support
This has now been removed from upstream docker-ce packages.

```
the devicemapper storage-driver has been deprecated and removed
```

and has shown deprecation warnings for some time.

This change also includes some fixes necessary for CI to pass:

* update the Zuul previous_release variable to 2023.2

Closes-Bug: #2051233
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/906858
Change-Id: I263f59ea77e39accffe4febe0d47e56b35d9800e
2024-02-01 14:10:09 +00:00
Matt Crees 74f1bf7eff Ask for confirmation during overcloud deprovision
Prompts the user to confirm before deprovisioning any overcloud hosts.
The user is given a list of hosts which will be deprovisioned. Automatic
confirmation can be achieved by setting ``confirm_deprovison`` to
``yes``.

Change-Id: I6eea5bb7c268912e6f39627f64c92715877311a3
2024-01-22 11:56:17 +00:00
Mark Goddard 0055d384a6 Make hooks environment-aware
Previously it was only possible to define custom playbook hooks in the
base configuration, and not in environments. This could be limiting in
cases where different environments require different hooks.

With this change it is now possible to define hooks both in the base
configuration and in environments.

Change-Id: Ic003c18402177318ac1aa4c2d851263893bd4e9f
2023-12-21 14:45:30 +00:00
Pierre Riteau 06f405dcdf Use dummy1 as bridge port instead of eth1
The MichaelRigart.interfaces role only creates an interface with the
dummy type if it is called dummy*, otherwise it is created as ethernet.

The default dev configuration was using eth1 for the bridge port, which
was causing issues on Rocky Linux 9 when following the automated setup
instructions. Switch to dummy1 to ensure a dummy port is created.

Depends-On: https://review.opendev.org/c/openstack/kayobe-config-dev/+/904044

Change-Id: I64b6180194fd94c691e5ca75b815b6cb3f1d7d3c
2023-12-19 23:52:48 +01:00
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