The release of pytest-metadata 2.0.0 appears to have broken the molecule tests.
AttributeError: 'Config' object has no attribute '_metadata'
Change-Id: I60cf89ce2f8c236b7febb92d437abf7e21bb7acd
Since I4fb42d376636dc363cd86950ed37de4a3d28df73, kolla-ansible sets
kernel_append_params in ironic.conf, instead of the deprecated
pxe_append_params. Make the same change in the Kayobe ironic.conf
template, to avoid getting shadowed by the kolla-ansible default.
This also fixes the overcloud TLS job, which started failing because it
lost the ipa-insecure kernel option, making the Ironic API callback
invalid.
Change-Id: Id7e4bd7f199ad9dcb21d5db082e7a187cb310df9
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>
Any interface not matching the convention: <interface>.<vlan id> will be
assumed to untagged when generating the config drive. The link type will
be set to `phy` in `network_data.json` instead of `vlan`. This prevents
invalid config drive configuration from being generated.
Change-Id: I00e7615581c7a214e0ee8e8f04cacdbb3ea4131a
Story: 2009910
Task: 44736
Change If483a6a6fb6d5b2c9b6b7dbd22939b0b46599538 which fixed the job
should have included this bit.
Change-Id: I22e2e6d361bc15fe7aa47ff833b3c5a525266221
The molecule job is failing with the following since the release of
ansible-lint 6.0.0:
ModuleNotFoundError: No module named 'ansiblelint.prerun'
Pin ansible-lint to <6.
Also ignore changes to molecule-requirements.txt for jobs that don't use
it.
Change-Id: I00ea1b4cd57a22a1a0939ddc463ef336da2f0902
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
The overcloud job with TLS is failing frequently with the Tenks VM
triggering the OOM killer. Disable until we find a reliable fix.
Change-Id: If42d1f0580d8305a36dd4fd4431680559eb5d68f
These are only neccesary on network and compute nodes.
Co-authored-by: Mark Goddard <mark@stackhpc.com>
Change-Id: Id5af3969da63150e892201f7518f50a3da73e852
Story: 2009911
Task: 44740
The update of MichaelRigart.interfaces to v1.13.0
introduced a regression due to
https://github.com/michaelrigart/ansible-role-interfaces/pull/118.
Configuration for active interfaces could be removed and not recreated,
if not present in the kayobe network interface configuration. This
affects the Kayobe development environment, in which the configuration
does not touch the host's real network interfaces. That would lead to
DHCP leases not being renewed, and consequent loss of access to the
host.
This change fixes the issue by bumping to v1.13.1, which reverts the
change.
Change-Id: I03da729e1d05783af2e290237485f6035d2ddcdc
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
The chrony container removal was performed in the Xena cycle, so we no
longer require this task in the 'overcloud host configure' command.
Change-Id: I86fcc75e844eb922f62c90c45a105519845cc1a7
This reverts commit f00a65ead9f3e7431c7c54c2eb7132c2ff32a089.
Reason for revert: fix for kolla-ansible installation with
openstack.kolla has merged.
Change-Id: I361c68904eb66e9728b4a902a0998e4bc06d2dcd
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
Ansible failure handling is different when executing multiple top-level
playbooks (CLI arguments) vs. multiple plays within a top-level
playbook. If any hosts have failed or are unreachable at the end of a
top-level playbook, then ansible-playbook exits non-zero.
In contrast, execution will continue at the end of a mid-playbook play
if there are hosts that have not failed or become unreachable. This is
documented in [1].
Currently, Kayobe executes multiple top-level playbooks, most notably in
the host configure commands where there is a long list of them. This has
implications when working at scale, where failures are more common. If a
host fails at any point, then execution of the command will stop at the
end of the current playbook. This means that the command must be run
again for all hosts. Additionally, if any hosts are unreachable, then
the command is unable to progress at all without removing them from the
inventory.
This change refactors the host configure and host upgrade commands to
use a single top-level playbook.
[1] https://github.com/markgoddard/ansible-experiments/tree/master/14-error-handling
Story: 2009854
Task: 44482
Change-Id: Ia63d66097b10b6ddda30ad693636143f8b1a85e0
Drop Kayobe jobs until we support installing kolla-ansible with
openstack.kolla collection
(Iac185dd2bbbca128c6cf71b2734e94b3e1c6133b).
Change-Id: Ia6cc7e2f7a9a9fb0a1c3e0fdf07e7cdd1cbd431c
We keep hitting the OOM killer in the TLS job, and the switch to UEFI
mode in bare metal testing seems like the most likely culprit.
This change keeps in place most of the changes of
Id1b4e9775c834b8b97e086241ee8b247977225a2, but removes the override of
ironic_boot_mode in the TLS job.
Change-Id: Id35894be893183b0b84e6dacb81e1b72e4a828f9