The group variables originally in ansible/group_vars/ were playbook
group variables, due to being adjacent to the playbooks. Typically they
provided default values for global variables in the all group, as well
as some more specific groups. This has worked fairly well, but results
in (at least) a couple of problems.
1. The default variable precedence rules mean that these playbook group
variables have a higher precedence than inventory group variables
(for a given group). This can make it challenging to override
playbook group variables in the inventory in Kayobe configuration.
2. Any playbook run by Kayobe must be in the same directory as the
playbook group variables in order to use them. Given that they
include variables required for connectivity such as ansible_host and
ansible_user, this is quite critical. For Kayobe custom playbooks, we
work around this by symlinking to the group_vars 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.
Story: 2010280
Task: 46233
Change-Id: Ifea5c7e73f6f410f96a7398bfd349d1f631d9fc0
Adds support for installing additional build host dependencies when
building IPA and overcloud host images via
'ipa_build_dib_host_packages_extra' and
'overcloud_dib_host_packages_extra'.
Support for installing additional host packages was added in
stackhpc.os-images v1.15.0 [1].
[1] https://github.com/stackhpc/ansible-role-os-images/pull/63
Change-Id: I1a05d448031cb415cec4cd601a030abdb8a5eba5
IPA itself is still compatible with Python 3.6, but ipa-builder uses
master upper-constraints which have dropped support for 3.6 and are
pulling importlib-metadata===4.11.4, which requires 3.7.
ERROR: Cannot install ironic-python-agent==8.6.1.dev13 because these package versions have conflicting dependencies.
The conflict is caused by:
ironic-python-agent 8.6.1.dev13 depends on importlib_metadata>=1.7.0
The user requested (constraint) importlib-metadata===4.11.4
Change-Id: I0cc48d0d5ed17400badb081e9117c9351677bb38
Currently we use the HEAD reference for OpenStack requirements. This can
create images that are incompatible with your version of OpenStack.
See:
https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/688911
Change-Id: I42026fafb1be0071f5ec94e81881c4a3bdd34af8
Story: 2009810
Task: 44371
ironic-python-agent-builder has stable branches since Wallaby -
let's use them.
Also as per ipab docs [1] - the env vars for overriding ipa repo
are:
- DIB_REPOREF_ironic_python_agent
- DIB_REPOLOCATION_ironic_python_agent
[1]: https://docs.openstack.org/ironic-python-agent-builder/latest/admin/dib.html#building
Story: 2009755
Task: 44224
Change-Id: I025532156de831a0e7d025d61601a38202de10ff
This reverts commit 3f76d7d134.
The version of IPA images has been pinned to wallaby to ensure they are
compatible with the Wallaby Ironic in current Kolla master images.
Without this, bare metal tests fail with
'Not found: Extension with id iscsi not found.'
Ironic removed the iscsi driver in Xena.
Change-Id: Ia4c70965d9f3f099046591bac7f702ee982fef71
This variable allows to customise the upper constraints file used to
install packages inside the ipa-build-dib virtual environment. This can
be used when we need a newer version of diskimage-builder than the one
available in upper constraints for the current release.
Change-Id: Idbe57e7edc3fae25153f5e24ad6b7847b1c4660c
Switches to use the IPA builder project for building IPA images.
Switches the IPA images used by default to CentOS 8 based image.
Changes the file extension of the IPA kernel image from vmlinuz to
kernel.
Story: 2007070
Task: 37953
Change-Id: I82fc455f41f48dacb453e135870dd776895d7c99
Story: 2006574
Task: 39485
* Always use Python 3
* Drop code paths for CentOS 7
* Drop support for Yum
* Remove support for host NTP daemon, always use chrony
* Switch references from 'yum_install_epel' to 'dnf_install_epel'
* Remove overcloud host image workaround for tagged VLAN admin network
* Remove the kayobe.utils.yum_install function, which is unused
Change-Id: I368f6edafed9779658798fc342116b4c1b3ffd48
Story: 2006574
Task: 39481
Diskimage builder supports specifying a list of packages to install via
-p. We currently support this for the root image, but not IPA images.
This change adds a new configuration option, 'ipa_build_dib_packages',
that should be a list of additional packages to install in locally built
IPA images. This affects the following commands:
kayobe seed deployment image build
kayobe overcloud deployment image build
This depends on
https://github.com/stackhpc/ansible-role-os-images/pull/25.
Also adds an example to the documentation for the equivalent option for
root image.
Change-Id: I04191d9541894b6a264e966c9ecb1056e0edade4
Story: 2006855
Task: 37446
While CoreOS images have a copy with and without the -master suffix,
tinyipa images which kayobe-config-dev has switched to, do not.
This change includes the branch name always.
https://tarballs.openstack.org/ironic-python-agent/coreos/files/
TrivialFix
Change-Id: Iff1504d17ecefd901d1c29c748a776a69a45b304
The project infrastructure is now hosted at opendev.org.
Kayobe projects have been moved from the openstack/ namespace to x/.
Change-Id: I16b523285eb34c1cd0eaf920aa4512d0ae1b4f05
Adds two new variables, 'openstack_release' and 'openstack_branch',
in ${KAYOBE_CONFIG_PATH}/openstack.yml for setting the current OpenStack
release and branch in a single place.
Also uses the master branch for the molecule tox job.
Change-Id: I851a1e6eddc6738005c1813599445b38c0ae0d57
Use master branch of:
* Kolla
* Kolla ansible
* Bifrost
* IPA
* OpenStack services
* Requirements
Also, use the infra docker registry mirror at port 8082 which does not
have any path component in its URL, and so works with Docker CE.
Depends-On: https://review.openstack.org/#/c/651254/
Change-Id: Icdb62aa0083d9272a08421138719cf5f6b52ec5a
Story: 2001864
Task: 14316
Use stable/rocky branch of:
* Kolla
* Kolla ansible
* Bifrost
* IPA
* OpenStack services
* Requirements
Also updates Kolla Ansible inventory template.
The seed deploy job has been made non-voting and non-gating, because we
are waiting for bifrost change https://review.openstack.org/#/c/618740
to merge, be released, and for the kolla bifrost image to use the new
package.
Change-Id: Id5e7fdbd196f96e1e75ffc68bc93aab18fa38aa7
Story: 2001864
Task: 27798
Depends-On: I58e4f951d4a3dd89e0784fd82d8a62dbba374f79
The IPA ramdisk and kernel images may be built or downloaded via a URL.
If the latter option is used, any images previously downloaded to
$KOLLA_CONFIG_PATH/config/ironic/ironic-agent.* would previously not be
updated if the image contents change.
This change introduces variables for setting a URL to a file containing
checksums for the images. The algorithm used to compute the checksum is
also configurable (default sha256). This allows us to ensure we are
using the correct version of the image, while avoiding an expensive few
hundred megabyte image download just to check.
If a checksum is not specified, the image will be downloaded every time
to ensure that it is up to date.
Change-Id: I8120518ed98d61f3652f5205ce7ec9f798ab2aa1
Story: 2001660
Task: 6693
Use queens release of:
* Kolla
* Kolla ansible
* Bifrost
* IPA
* OpenStack services
Changes to kolla inventory files were made by comparing the multinode
inventory in kolla-ansible with the overcloud-services and
overcloud-components templates.
Kolla ansible added the concept of inner-compute and external-compute,
and these groups have been added to the top-level inventory.
We also synchronise globals.yml and kolla enablement flags.
Change-Id: I87b052f777567226e41294b955f736040e55e102
Story: 2001863
Task: 14315
For kolla, kolla-ansible and bifrost, we are now using a stackhpc/<release> branch
naming scheme rather than referencing tags in forked repos. It is recommended to
override these branches to specific tags for repeatable builds.
The Ironic Python Agent source version and tarball URLs have also been updated to
point to the pike release artifacts.
Finally, the kolla_openstack_release has been set to 5.0.0, following the
kolla-ansible second pike release candidate on which the stackhpc/pike branches
are currently based.
Rather than specifying kernel command line arguments directly, configuration of
IPA introspection data collectors and benchmarks is now possible by extending
lists of collector (ipa_collect_extra) and benchmark (ipa_benchmark_extra)
names. LLDP collection is now controlled via a flag, ipa_collect_lldp.
Additional kernel arguments may be passed via ipa_kernel_options_extra.
The CLI command is:
kayobe seed deployment image build
This command will build Ironic Python Agent (IPA) kernel and ramdisk images
using the Diskimage Builder (DIB) ironic-agent element. The built images will
be copied to the appropriate location in the bifrost_deploy container on the
seed.
This allows us to build a customised image with site- or hardware- specific
extensions.