Commit Graph

108 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
Pierre Riteau dd8cf81607 Revert "Use OpenStack 2023.2 release"
This reverts commit 99f5b64956.

Reason for revert: 2023.2 has been branched and released

Change-Id: I38fc5dcadda5103d63a11022825e8e167408677d
2023-12-08 11:55:04 +01:00
Pierre Riteau 99f5b64956 Use OpenStack 2023.2 release
Switch all dependencies to use the OpenStack 2023.2 release.

This commit should be reverted on the master branch once the
Kayobe stable/2023.2 branch has been cut and RC1 released.

Change-Id: I749a1ac30fa15cf7faa456fcb90c4ddbbef77cc9
2023-12-01 15:58:47 +01: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
Michal Nasiadka 351e6b3173 Drop not used grafana-conf from reqs
Change-Id: Id80e7d28c20b1f9ecc52473013c78c28d2ab5532
2023-11-15 18:56:02 +01:00
Grzegorz Koper a46b78e594 ipa-images: use changed openstack.cloud output
Updating requirements.yml with latest os-networks role

Following up:
Ia3550644e5fc3e83f792e46d42b4c35d5eec4705

Change-Id: I9cb1b4c5329dc9db8562cf317616101d35f13edb
2023-11-14 12:27:58 +00:00
Grzegorz Koper 80f6db34cd Bump up Ansible supported versions to 7.x/8.x
This change bumps up the maximum supported version of Ansible to 8.x
(ansible-core 2.15.x) and minimum to 7.x (ansible-core 2.14.x).

Depends on:
https://github.com/stackhpc/ansible-role-systemd-networkd/pull/10

https://github.com/stackhpc/ansible-role-dell-powerconnect-switch/pull/13

https://github.com/stackhpc/ansible-role-mellanox-switch/pull/8

gateway_ip was being set to empty string. This was triggering neutron
""Invalid input for gateway_ip. Reason: '' is not a valid IP address."
Omitting by default.

Installing openstack.cloud collection.
Upgrade failed as Ansible in kayobe-venv was not upgraded.

Change-Id: Ia3550644e5fc3e83f792e46d42b4c35d5eec4705
2023-11-07 18:33:06 +01:00
Pierre Riteau d4502e6ea2 Bump MichaelRigart.interfaces to v1.14.4
This release includes the following fixes:

* Remove nmconnection files generated by cloud-init
* Remove ens3 also from NetworkManager config

Closes-Bug: #2039975
Change-Id: Id3e7913f4ba9d05cec332dab560fc42d44dd4130
2023-10-20 14:40:59 +02:00
Piotr Parczewski cf6f12b26d Fix CentOS / Rocky route options
Updates interfaces role to a fixed version.

Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/890198

Change-Id: I6a9c521d43b21ab6b6c01e4688cab697608a667c
2023-08-04 11:27:05 +00:00
Bartosz Bezak d7b648a82e Revert "Use OpenStack 2023.1 release"
This reverts commit 16a61da41a.

Reason for revert: 2023.1 has been branched and released

Change-Id: Ief6b68144dd2d161ca6e98888934888cdfee49a4
2023-06-20 13:22:50 +00: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
Matt Crees 16a61da41a Use OpenStack 2023.1 release
Switch all dependencies to use the OpenStack 2023.1 release.

This commit should be reverted on the master branch once the
Kayobe stable/2023.1 branch has been cut and RC1 released.

Change-Id: Id5e946fd7b0526faea99536f4a055f0f5c2b8176
2023-05-29 10:56:08 +00:00
Will Szumski 3f4010d35a Revert back to MichaelRigart.interfaces
NetworkManager support has now landed in upstream, see:

https://github.com/michaelrigart/ansible-role-interfaces/releases/tag/v1.14.0

This also fixes a couple of bugs in the fork we were using (see linked
bug reports).

Closes-Bug: #2016970
Closes-Bug: #2016971

Change-Id: I23584fe76554680251307d75078dec34e3a9d384
2023-04-19 09:47:17 +01:00
Bartosz Bezak 0c11102afe Revert "Use OpenStack Zed release"
This reverts commit 65c59b9f59.

Reason for revert: Zed has been branched and released

Change-Id: I2d87017c27139b5e0154edef006ad61d665ede2a
2023-01-12 10:46:49 +00:00
Bartosz Bezak 65c59b9f59 Use OpenStack Zed release
Switch all dependencies to use the OpenStack Zed release.

This commit should be reverted on the master branch once the
Kayobe stable/zed branch has been cut and RC1 released.

Change-Id: I1ea18a68bb2c1ea6a2a45f6cbd3c48fd30bb1c8a
2022-12-14 20:42:32 +00:00
Bartosz Bezak 2f447f6545 Move to Rocky Linux 9
CentOS Stream 8 support has been dropped. Migration path will be present
in Yoga release - as a followup change.

MichaelRigart.interfaces does not support custom routes for
NetworkManager yet. It has been disabled in CI for Rocky Linux 9
temporarily.

Non-voting CentOS Stream 9 CI overcloud job is using RL9 container
images (as kolla CI is not building CS9 images anymore).

Change-Id: Idf5ee822b03ba40179803c981500a6bad37594bf
2022-12-12 22:24:47 +01:00
Michal Nasiadka b3797d6650 Bump mrlesmithjr.lvm to skip swap resizes
See https://github.com/mrlesmithjr/ansible-manage-lvm/releases/tag/v0.2.7

Change-Id: Id48a63ba5a85d4745b7e0a905a9195ad0dc7a751
2022-10-20 15:03:47 +00:00
Rafal Lewandowski e10f176ce1 Add new DIB upper constraints variables
overcloud-dib: added overcloud_dib_dib_upper_constraints_file
ipa: added ipa_build_dib_upper_constraints_file
added os_images_dib_upper_constraints_file to image build
playbooks

New variables were added to facilitate control over the DIB
upper constraints without changing them for other components.
They are empty by default in order to facilitate Rocky9
image builds.

Change-Id: Ib50dd61685f13c60ace67213ddd1e714a80dece3
2022-09-13 11:23:58 +02:00
Mark Goddard 0e4af118eb Support additional build host packages for IPA & overcloud
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
2022-08-22 15:24:55 +02:00
Will Szumski 1fbb5cb400 Add support for dellos10 switch configuration
Change-Id: I2823016294e7df63f63be9ab26535b3962a71ebe
2022-06-09 21:59:33 +02:00
Pierre Riteau 5d6b9714ff Bump stackhpc.drac role
This new version fixes the evaluation of check_mode, which is causing
`kayobe overcloud bios raid configure` to fail.

Change-Id: I9c6e261dbac067ca3f9218e6ea81813ddc2f6520
2022-04-22 14:18:14 +02:00
Mark Goddard 07f8e41bbb Revert "[release] Use OpenStack Yoga release"
This reverts commit 88dd02dc92.

Reason for revert: Master is now Zed

Change-Id: I9a18c41dbdc369a7a719632d6e41e2373784f29e
2022-04-14 08:09:18 +00:00
Mark Goddard 88dd02dc92 [release] Use OpenStack Yoga release
Switch all dependencies to use the OpenStack Yoga release.

This commit should be reverted on the master branch once the
Kayobe stable/yoga branch has been cut and RC1 released.

Change-Id: Ib7495c1bf79de8b1ea67e4a8652345c22e9d1a3e
2022-04-07 13:51:18 +01:00
Zuul 0cd0f05781 Merge "libvirt: support SASL authentication" 2022-03-29 21:13:19 +00:00
Zuul 4bb2aa8f29 Merge "libvirt: deploy libvirt on the host" 2022-03-29 21:13:12 +00:00
Mark Goddard c9c0019d7e Use jinja2.pass_context instead of contextfilter
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
2022-03-29 13:59:56 +01:00
Mark Goddard f4493e41ff libvirt: support SASL authentication
Adds support for SASL authentication of libvirt TCP and TLS connections
when using a compute host libvirt daemon.

In line with the dependent Kolla Ansible patch, we enable SASL by
default, and use DIGEST-MD5 with TCP and SCRAM-SHA-256 with TLS.

Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/833022
Depends-On: https://github.com/stackhpc/ansible-role-libvirt-host/pull/52

Story: 2009858
Task: 44735

Change-Id: Id3972c24022aeb6421494c3cccdc8e7cbce802e6
2022-03-24 13:44:48 +00:00
Mark Goddard c4b74f4801 libvirt: deploy libvirt on the host
In some cases it may be desirable to run libvirt daemon on the host. For
example, when mixing host and container OS distributions.

This change makes it possible to disable the nova_libvirt container, by
setting kolla_enable_nova_libvirt_container to false.

The stackhpc.libvirt-host role is used in order to install and configure
a libvirt daemon on compute hosts when
kolla_enable_nova_libvirt_container is false.

Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/825357
Depends-On: https://review.opendev.org/c/openstack/kayobe-config-dev/+/829225
Depends-On: https://github.com/stackhpc/ansible-role-libvirt-host/pull/51

Story: 2009858
Task: 44495

Change-Id: I73fef63fb886a9d543d2f4231fb009523495edb3
2022-03-24 13:44:48 +00:00
Mark Goddard a786ef20f7 Bump MichaelRigart.interfaces to v1.13.1
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
2022-03-10 09:18:15 +00:00
Maksim Malchuk 8e36626e3e Add the bonding 802.3ad aggregation selection option
Change-Id: I863e18841924e88c8943c1df0c6753fd90c90ef3
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2022-02-22 17:42:39 +03:00
Mark Goddard 06c6191799 Install openstack.kolla collection
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
2022-02-22 09:23:14 +00:00
Piotr Parczewski 84284946d7 Enable rtcsync in chrony by default
Story: 2007872
Task: 44139

Change-Id: I1a161a4f241cccac3f39ab7a3e11bccac02f9a07
Co-Authored-By: Pierre Riteau <pierre@stackhpc.com>
2022-02-17 09:19:52 +01:00
Michal Nasiadka 0ce066ca36 Bump up manage-lvm role version to v0.2.6
This fixes a bug that caused the role to fail on NVMe only hosts.

Change-Id: I697e83fbc6b1bd044b0e7e42e7c3c6c7468ccfb2
2022-02-09 06:32:46 +00:00
Zuul 6828184ab1 Merge "Fix seed VM configdrive when admin network is a VLAN" 2022-01-07 01:54:54 +00:00
Piotr Parczewski 774d01c1ef Add dependencies for EFI and LVM based overcloud images
Change-Id: I2c2378ebd99ac02586518e80e4b86a9d765476e6
2021-11-30 15:40:52 +01:00
Michał Nasiadka 769c2efb97 Add support for configuring tuned profile
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
2021-10-06 17:49:24 +02:00
Mark Goddard bc0885f539 Fix seed VM configdrive when admin network is a VLAN
The jriguera.configdrive role does not add VLAN=yes to the ifcfg script
of a VLAN interface on the seed VM, unless type=vlan is passed in the
network device list. This change passes this field for VLAN interfaces.

Depends on https://github.com/jriguera/ansible-role-configdrive/pull/11

Change-Id: I6946b578f23843dd3cbafcb185b8d8cfbb00c080
Story: 2008089
Task: 40790
2021-10-05 15:45:00 +01:00
Mark Goddard 5535832c10 Support Ansible collections
This change adds support for installing Ansible collections via
requirements.yml in Kayobe or Kayobe config.

Story: 2008391
Task: 41315

Change-Id: I764ff019a18266b593add7ab80ee095d7d07a869
2021-09-27 09:10:50 +00:00
Mark Goddard f639ad0b35 Use ansible_facts to reference facts
By default, Ansible injects a variable for every fact, prefixed with
ansible_. This can result in a large number of variables for each host,
which at scale can incur a performance penalty. Ansible provides a
configuration option [0] that can be set to False to prevent this
injection of facts. In this case, facts should be referenced via
ansible_facts.<fact>.

This change updates all references to Ansible facts within Kayobe
from using individual fact variables to using the items in the
ansible_facts dictionary. This allows users to disable fact variable
injection in their Ansible configuration, which may provide some
performance improvement.

This change disables fact variable injection in the ansible
configuration used in CI, to catch any attempts to use the injected
variables.

[0] https://docs.ansible.com/ansible/latest/reference_appendices/config.html#inject-facts-as-vars

Story: 2007993
Task: 42464
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/791276

Change-Id: I14db53ed6e57d37bbd28dd5819e432e3fe6628b2
2021-08-21 09:57:29 +02:00
Zuul 736c8c210b Merge "Fix overcloud post configure Python interpreter issues" 2021-06-09 11:23:27 +00:00
Mark Goddard 4a59ea483b Fix overcloud post configure Python interpreter issues
Some time ago in Kayobe we switched from using set_fact to override the
ansible_python_interpreter variable to using a task variable. However,
not all of the galaxy roles were updated to match. This can lead to an
issue where a fact set by the os_networks role overrides the task
variable set in Kayobe.

Note that we haven't seen this in CI since the code path requires the
use of a VLAN provisioning network, and CI uses a flat network.

Change-Id: I14289df5e248b5b47fb8e60c6eea1ac845f50fd3
Story: 2008284
Task: 41158
2021-05-12 08:11:08 +00:00
Will Szumski 085cf7d175 Adds support for configuring chrony
Some hosts in the kayobe inventory might not be in the kolla-ansible
inventory so it makes sense for kayobe to manage NTP.

Change-Id: Iacb579a46b0e9769a4c404a858d17968f74dd7e0
Depends-On: https://review.opendev.org/c/openstack/kayobe-config-dev/+/786040
Story: 2007872
Task: 40240
2021-05-07 18:27:50 +02:00
Mark Goddard f2cca07c7f Ubuntu: install qemu-img on seed-hypervisor
On systems without qemu-img installed, seed VM provisioning will fail
when creating qcow2 disk images. This is the case with some Ubuntu
images. This change updates the stackhpc.libvirt-vm role to v1.14.1,
which installs qemu-img.

Change-Id: I205b40c142adcbe0deb2ea6296c246533fd49def
Story: 2004960
Task: 42330
2021-04-28 09:55:29 +01:00
Pierre Riteau 7411e624de Use released version of mrlesmithjr.mdadm
An initial version of the mrlesmithjr.mdadm role was released 2 days
ago. There are only minimal changes compared to the commit we were
using. This should avoid the following issue seen in CI:

[WARNING]: - mrlesmithjr.mdadm was NOT installed successfully: - the specified
version (5be3ee7d330aa17317897bd104dc87ff0df11915) of mrlesmithjr.mdadm was not
found in the list of available versions ([{'id': 152374, 'url': '', 'related':
{}, 'summary_fields': {}, 'created': '2021-04-24T02:51:30.453954Z', 'modified':
'2021-04-24T02:51:30.453980Z', 'name': 'v0.1.0', 'version': '0.1.0',
'commit_date': '2021-04-23T22:50:00-04:00', 'commit_sha':
'b8a9853b7eafa9afc62bbb7728f64fd5dc9f54de', 'download_url':
'https://github.com/mrlesmithjr/ansible-mdadm/archive/v0.1.0.tar.gz', 'active':
None}]).
ERROR! - you can use --ignore-errors to skip failed roles and finish processing the list.

Change-Id: I3d85b341cf541cfb9b486021e66b316833fe9130
2021-04-26 10:04:45 +02:00
Zuul 833728e2bb Merge "Ubuntu: support systemd-networkd" 2021-04-23 11:50:20 +00:00
Mark Goddard 3bbf736d8d Ubuntu: support systemd-networkd
This change adds support for network configuration via systemd-networkd
on Ubuntu systems.

This is implemented via an Ansible Galaxy role,
stackhpc.systemd_networkd which was forked from
aruhier.systemd_networkd. Several improvements were made in
https://github.com/stackhpc/ansible-role-systemd-networkd/pull/1,
including:

* Add support for removing unexpected config files
* Use become where necessary
* Refactor config generation into a single task to improve performance

The systemd_networkd role does not add much abstraction on top of the
systemd-networkd configuration file format, which provides a lot of
flexibility at the expense of additional code in Kayobe. This code is
implemented as filter plugins, similarly to the existing
MichaelRigart.interfaces role.

This patch includes support for:

* Ethernet interfaces
* bridges
* bonds
* VLANs
* virtual Ethernet pairs (to connect Linux bridges and OVS bridges)
* static IP addresses
* static routes
* MTU

Some network attributes are currently not supported for
systemd-networkd:

* rules
* route options
* ethtool_opts
* zone
* allowed addresses

Story: 2004960
Task: 41881

Change-Id: I248b5bb9ce5a80a07a2a311cb3aca6daca920720
2021-04-21 08:23:44 +00:00
Mark Goddard eaabd7ef30 Ubuntu: AppArmor config for seed VM provisioning
The stackhpc.libvirt-host 1.8.2 release includes support for modifying
the libvirt QEMU AppArmor template to include the path of directory
backed pools. This allows the 'kayobe seed vm provision' command to
succeed with AppArmor enabled.

Story: 2004960
Task: 42091

Change-Id: I20d8ee783cdf158bbb469e831518e36d3c8ed73f
2021-03-24 10:41:12 +00:00
Zuul d42e3229c9 Merge "Ubuntu: fix deployment image build" 2021-03-05 12:13:15 +00:00
Mark Goddard 9c29d7d76c CI: Ubuntu host configure job
Issues:

* bond configuration not working on Ubuntu - disabled in CI test

Story: 2004960
Task: 41560

Change-Id: Ib124dc6f313a2a13fa509b10702c6141f102f2f9
2021-03-01 17:58:16 +00:00
Mark Goddard 9f41cefc15 CI: add Ubuntu overcloud deploy job
* Use source images
* Need to specify bash for &> syntax

Issues worked around:

* Manually configuring bridge via ip commands makes ifup fail to bring
  up the link. Adds a kayobe-network-bootstrap Zuul CI role that adds
  persistent configuration for the all-in-one network.

* bridge not active after interfaces role bounce. Added a pause, similar
  to https://github.com/michaelrigart/ansible-role-interfaces/pull/31

* fails installing docker python module for kolla user. WARNING: The
  repository located at mirror-int.ord.rax.opendev.org is not a trusted
  or secure host and is being ignored ERROR: No matching distribution
  found for docker===4.4.0 Adding trusted host for PyPI mirror.

* Tenks fails to create block devices - missing qemu-img (in qemu-utils)

* Tenks qemu emulator is different on Ubuntu

Remaining issues:

* Bare metal testing is unreliable on Ubuntu - some jobs see IPMI
  failures such as the following:

    ipmitool chassis bootdev pxe

    Error setting Chassis Boot Parameter 5\nError setting Chassis Boot
    Parameter 0\n

  Bare metal testing is disabled on Ubuntu for now.

Depends-On: https://review.opendev.org/766984
Depends-On: https://review.opendev.org/766958

Story: 2004960
Task: 29393

Change-Id: I1985efae7c18f55c3ff7c27c17d6242523904f3e
2021-03-01 17:57:51 +00:00