Change ``ipa_build_dib_elements_default`` and
``ipa_build_dib_env_default`` to use ``os_distribution`` and
``os_release`` by default. This allows for Ubuntu images to be built
when running on Ubuntu.
Rocky will still build CentOS images, as Rocky IPA images have not been
tested yet.
Change-Id: Iefd2d0b7a3a3e07f5c112d58e2ec0b3da0a747d3
Fixes an issue where generation of passwords.yml for Kolla Ansible
could fail if the directory containing the file does not exist. This is
typical in a multiple environment setup, when creating a new
environment.
Story: 2010293
Task: 46275
Closes-Bug: #2015093
Change-Id: I9dce73a8a205c0c0ad02eba3a10e02b82f5b191d
The dib_env_vars variable in the Bifrost's dib.yml file can contain
the DIB_BLOCK_DEVICE_CONFIG environment variable which is always the
Multiline-YAML data. By default, the format of the data is not
preserved while the configuration is merged and saved for the
bifrost-deploy container.
This is because Ansible uses the PyYAML library which has a default
80 symbol string length limit. The official Ansible documentation [1]
recommends using to_yaml or to_nice_yaml filters with width parameter.
This change adds the same ability to the merge_yaml Ansible plugin.
1. https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#formatting-data-yaml-and-json
The related change for the diskimage-builder to solve the issue with
incorrect data provided by Kolla-Ansible is also provided:
I3b74ede69eb064ad813a9108ec68a228e549e8bb
The related change for Kolla-Ansible is also provided:
Id79445c0311916ac6c1beb3986e14f652ee5a63c
Closes-Bug: #2014981
Related-Bug: #2014980
Change-Id: I339042d9ce405f59aba936dd98df7d89a88bb41e
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
This change fixes the description accidently copied from the
'kayobe_env_config_path' description.
TrivialFix
Change-Id: I7b9ced54ad886b3f92f7c757adc2efafa4cbfa4e
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
This change fixes the output 'module_args' information of the plugins
'merge_configs' and 'merge_yaml' when Ansible is executed in maximum
verbose mode. Now all the plugin options are displayed instead of
standard 'copy' plugin options only.
Change-Id: Ie2d9a0501fe29bfd854eb31258f282b197855948
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
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
Distributions moved to lowercase names with RHEL 9 release.
This patch also removes previously created uppercase files.
Story: 2010637
Task: 47604
Change-Id: I8bf75ce44b9ec1fdd477fcddf2deebf2929d9fc1
Currently kayobe creates kolla-ansible venv using kayobe venv
python3. There are corner cases when creation k-a venv fails
while using kayobe venv created with python 3.6 buggy setuptools/
virtualenv command. Using OS python to create venv solves those
corner cases issues and preserves compatibilty.
Story: 2010634
Task: 47599
Change-Id: Ie0d9bf895f6714cbb8b0bd31a008eb388f4c51c2
This build takes time and can fail due to lack of disk space. It got
enabled when we changed overcloud_dib_build_host_images to true.
Also fix bifrost overrides which was wrongly applied, we need to use
dib.yml instead of bifrost.yml, like in kayobe-seed-base.
Change-Id: I1edafbb41a26587a5ef794b3b9886fdf189a0a1a
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>
This test seems to have a fault, where the variable/list
kolla_ironic_enabled_console_interfaces could be undefined, the
test would not fail.
Anyway, using assert shows what we're testing, and doesn't list the
task as skipped when we meet the requirements.
Change-Id: Id9c4abc285be0240f9bdc21d21537d3a2d9bfd57
Not only TLS jobs need that treatment, Rocky9/CentOS
Stream 9 jobs have the same issue - let's disable
Heat and Horizon in all overcloud jobs.
Change-Id: Iecab44969cea015b363ec6884ef6a7c9960a6b3f
assert will also fail when we're not meeting the conditions, makes
clear what we're actually testing, and isn't listed as a skipped task
when the condition is ok.
Change-Id: I640207dd9e987cb6d5743e22cae6039a65d10566
It's more informative to describe the tasks we are skipping by
adding a name section to the include_tasks. Otherwise it just
shows;
TASK [dnf : include_tasks] *
skipping: [controller-1]
The other include_tasks doesn't have a name section or a when clause
so switching to import_tasks.
Change-Id: Ie8d34a45aa4ebd0e2ea635208970acf18741aee5
This reverts commit 65c59b9f5939f19f5fb914dbcb0fc64cde99771b.
Reason for revert: Zed has been branched and released
Change-Id: I2d87017c27139b5e0154edef006ad61d665ede2a
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
Without this change, Kayobe was tagging container images with `zed` when
kolla-ansible was expecting something like `zed-ubuntu-jammy`.
Change-Id: I23c409900db2c37105e7b218bbaedcfacb235787