Disk and container image builds tend to be fairly unreliable.
With 3 voting seed jobs all building images, this can introduce
instability into the CI jobs.
This change adds a non-voting kayobe-seed-images-centos8s job, which
does the following:
* Builds IPA images
* Builds an overcloud host image
* Builds a base container image
Similar Rocky and Ubuntu jobs are added to the experimental pipeline,
and may be run by commenting 'check experimental' in gerrit.
The existing kayobe-seed-* jobs no longer build images.
Change-Id: Idecda342f3ab86733e8d59061458d44af834dbb0
The contextfilter decorator was deprecated in jinja2 3.0.0, and has been
dropped in 3.1.0. This results in the following warning, and failed
attempts to use filters:
[WARNING]: Skipping plugin (networks.py) as it seems to be invalid:
module 'jinja2' has no attribute 'contextfilter'
This change switches to use the pass_context decorator. The minimum
version of Jinja2 is raised to 3 to ensure pass_context is present.
This change also includes some changes to address issues with image
builds in CI, caused by CentOS Scream.
1. disable IPA image builds in seed deploy jobs
IPA image builds will be split out into a separate job. For now, disable
them.
2. disable overcloud host image builds in seed deploy jobs
Overcloud host image builds will be split out into a separate job. For
now, disable them.
Depends-On: https://review.opendev.org/c/openstack/kayobe/+/835279
Change-Id: If657bf5b0117812d3c53942464cc41cf86cc8ad5
This change adds support for configuration of Apt package manager in
/etc/apt/apt.conf.d/. This allows adding arbitrary global configuration
options for Apt. Options can be added in different files, allowing for
different filename-based priorities.
CI tests and documentation are provided.
Story: 2009655
Task: 43987
Change-Id: I9d7d18851359e97cd01b4c2287bf79110796b25a
This change adds support for configuring Apt repositories on Ubuntu
hosts during host configuration.
Repositories are configured in a single file
(/etc/apt/sources.list.d/kayobe.sources), using the modern deb822
format [1]. This format is more flexible and readable than the original
single-line format, particularly if multiple options are used.
Using a single file allows us to more easily keep the set of
repositories in sync, since Ansible doesn't make it easy to clean things
up.
Support is added for marking repositories as signed by a particular GPG
key. This approach is now preferred over the deprecated [2] apt-key
tool, which resulted in a set of globally trusted keys.
It is also possible to disable the repositories in
/etc/apt/sources.list via apt_disable_sources_list. This allows for
replacing the standard repositories with a local mirror.
CI tests and documentation are provided.
[1] https://manpages.ubuntu.com/manpages/focal/en/man5/sources.list.5.html
[2] https://manpages.ubuntu.com/manpages/groovy/man8/apt-key.8.html
Story: 2009655
Task: 43818
Change-Id: I3f821937b0930a0ac9341178de7ae5123d82b957
Sometimes some hosts should be configured with an interface without any
IP address set (e.g. bridged interface) and to achieve that this change
adds the new attribute 'no_ip' for the network configuration. Also the
change contain a test for this.
Change-Id: I2c9dfeca7f0d37a96f9cbd9df51d94098cf07258
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
We build IPA images and a deployment image in the seed jobs, so we don't
need to download Cirros or IPA images. Also, these downloads depend on
external resources which may make jobs less reliable.
For seed upgrade jobs, disable IPA and deployment image downloads.
Change-Id: Ib59c8bc2d8938eca18c943bb2e66ed185152a739
The kayobe-seed-ubuntu-focal job is currently fairly unreliable, often
failing to build the base container image.
We are not using the mirrors provided by OpenDev infra, which may be
making these builds less reliable.
This change disables container image builds in CI on Ubuntu. It should
be reverted if they are made more reliable.
Change-Id: I648fa6423ad9ff43120c7808f080b0359ad8621c
When TLS is enabled, extra RAM usage is causing the OOM killer to
terminate Tenks VMs, which are using large RSS amounts (around 1.5 GB).
Disable Heat and Horizon to free up enough memory to make the job pass.
Change-Id: If483a6a6fb6d5b2c9b6b7dbd22939b0b46599538
Previously we were using the zuul user in the TLS jobs. This was due to
a permissions issue when accessing the CA certificate in kayobe-config
in the zuul user's home directory.
This change reverts to the default of using the stack user for the TLS
jobs. In order to make this work, the generated CA cert chain is added
to the trust store.
Change-Id: I875f8976df75dee68ba00842fe624c29cc1b123c
This change uses the new Galaxy requirements file in Kolla Ansible to
install the openstack.kolla collection.
Cross-project dependencies on ansible-collection-kolla are supported.
Story: 2009854
Task: 44504
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/819430
Change-Id: Iac185dd2bbbca128c6cf71b2734e94b3e1c6133b
This patch adds the openstack.kolla collection to the Galaxy
requirements. It is installed from the OpenDev git repository. The
collection is not yet used by Kayobe.
Zuul cross-project dependencies on the ansible-collection-kolla
repository are supported (and used in this commit).
Story: 2009854
Task: 44503
Depends-On: https://review.opendev.org/c/openstack/ansible-collection-kolla/+/820165/
Change-Id: I91cbac839f816a00ac54bc4a350f44b5ae457cc3
Previously we were seeing issues with ipmitool and virtualbmc on Ubuntu:
Error setting Chassis Boot Parameter 5\nError setting Chassis Boot Parameter 0
The dependent change fixes these issues, and this change enables bare
metal testing in Ubuntu CI.
Depends-On: https://review.opendev.org/c/openstack/kayobe-config-dev/+/829006
Change-Id: I96827fc32c1594ca9a0535e259929c49d3f0e704
Set the Ironic boot mode to legacy BIOS explicitly in Tenks config in
anticipation of an upcoming change to the default boot mode.
Override the boot mode to UEFI in the overcloud TLS job to improve
coverage. This requires enabling iPXE booting.
Depends-On: https://review.opendev.org/c/openstack/tenks/+/827479/
Change-Id: Id1b4e9775c834b8b97e086241ee8b247977225a2
EPEL is no longer required for a default installation. Let's disable it.
Also clean up the install_epel variable from Kolla Ansible globals.yml
template, since it never existed.
Story: 2009757
Task: 44227
Change-Id: I96eb4685f997e85ad2ee5318640d58d0287a016d
As a first step towards supporting multiple overcloud disk images, this
change introduces a new command to build a disk image directly with DIB:
`kayobe overcloud host image build`.
It also disables building a root disk image during Bifrost bootstrap if
overcloud_dib_build_host_images is set to true.
Change-Id: I93d242889e225b4e60254f6b9cc5eeb457294ac8
Story: 2002098
Task: 41693
We see frequent failures of upgrade jobs on stable branches due to lack
of disk space. Disable heat in an attempt to free up extra space, since
we do not need it for our testing.
Change-Id: I20c99ca9dd6e78b041e4662c9b1b54eac904e3c9
Currently, the overcloud host configure test results are only returned
on success, when they are least useful. This is because the zuul_return
task is not reached when the test task fails. This change reorders the
tasks to fix the issue.
Change-Id: Ie572eda567782cc377767bd8d925145e2ad4bd61
This is only supported on CentOS for now due to limitations of the
Ansible role used to configure tuned.
Change-Id: Ie07c5f467975f8da2f720e70c94cea6285981d72
Co-Authored-By: Pierre Riteau <pierre@stackhpc.com>
Story: 2007853
Task: 40155