490 Commits

Author SHA1 Message Date
Will Szumski
bb9da9fb24 Only create patch links on overcloud hosts
These are only neccesary on network and compute nodes.

Co-authored-by: Mark Goddard <mark@stackhpc.com>

Change-Id: Id5af3969da63150e892201f7518f50a3da73e852
Story: 2009911
Task: 44740
2022-03-10 16:51:38 +00:00
Zuul
f3f4dbb78c Merge "Add support for root filesystem UUID customisation" 2022-03-03 15:49:47 +00:00
Zuul
4004f5d009 Merge "Add the bonding 802.3ad aggregation selection option" 2022-03-03 13:16:22 +00:00
Zuul
0352b098bf Merge "Drop vmtp" 2022-03-03 13:16:16 +00:00
Piotr Parczewski
04d97cda85 Add support for root filesystem UUID customisation
Depends-on: https://review.opendev.org/c/openstack/bifrost/+/819785
Change-Id: I37b9d18f0523c121357c5a37ec6fc458209f8e79
2022-03-03 09:42:03 +01:00
Zuul
b2b013c1cf Merge "Bump up Ansible supported versions" 2022-03-02 17:34:35 +00:00
Pierre Riteau
fb24afca9e Drop vmtp
This was removed from Kolla during the Yoga release cycle.

Change-Id: I0d2fba4e23ba49dec5adc9a822af2afe09111b58
2022-02-25 11:16:47 +01: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
cb48f7e5d2 Refactor host configure commands to use a single playbook
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
2022-02-22 09:22:09 +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
Zuul
e6da84a094 Merge "Support building multiple disk images" 2022-02-09 20:21:57 +00:00
Zuul
112a08a37d Merge "dnf: support exclude and includepkgs arguments" 2022-02-09 16:46:01 +00:00
Zuul
555f865dcd Merge "Disable EPEL by default" 2022-02-09 16:45:55 +00:00
Zuul
ef2196b595 Merge "Remove deprecated kolla_tls_cert variable" 2022-02-09 15:37:44 +00:00
Zuul
ef6de82d6e Merge "Set requirements branch for IPA build" 2022-02-09 13:46:21 +00:00
Mark Goddard
7173a9f731 ntp: Fix service mask when service doesn't exist
The ntp role attempts to mask NTP services that may conflict with
chrony. Currently we are seeing the following failure:

    TASK ntp : Mask alternative NTP clients to prevent conflicts
    Could not find the requested service systemd-timesyncd.service: host

The service_facts module shows that the service is not found:

    "systemd-timesyncd.service": {
        "name": "systemd-timesyncd.service",
        "source": "systemd",
        "state": "stopped",
        "status": "not-found"
    },

According to the Internet, this can happen if there are After/Before
dependencies in one service on another that does not exist.

This change fixes the handling of these not-found services to avoid the
error.

Story: 2009821
Task: 44401

Depends-On: https://review.opendev.org/c/openstack/kayobe/+/827404

Change-Id: I4b8a42704f2b0a145ee9dec433d91df67628cd9d
2022-02-02 16:46:03 +00:00
Will Szumski
156ae2bb8b Set requirements branch for IPA build
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
2022-02-01 11:39:28 +01:00
Zuul
d6e8365867 Merge "Support for untemplated dirs in kolla config" 2022-01-28 13:01:33 +00:00
Zuul
36e9332674 Merge "Set correct gateway for the bifrost provision network" 2022-01-28 13:01:30 +00:00
Mark Goddard
fb5649bd2f Bump up Ansible supported versions
This change bumps up the maximum supported Ansible version to 5.x
(ansible-core 2.12.x) and minimum to 4.x. This synchronises Kayobe with
Kolla Ansible (see change Ia373f9cc3bb69eba0288bbb3e497e8cadb7cc4d3).

ansible 5 / ansible-core 2.12 raises the minimum version of Python to
3.8, so CentOS Stream 8 environments will typically get ansible 4 /
ansible-core 2.11.

Change-Id: If4477e7fa4c022ead6cda4a34a72b342f115936f
2022-01-28 10:44:32 +00:00
Jakub Darmach
35e0d76a96 Support for untemplated dirs in kolla config
Variable untemplated_dirs has been added to allow for
defining directories under kayobe/kolla/config which should be copied
instead of templated by kolla-openstack role.

This is needed to support custom themes for horizon -
change If9982c8e18be31772cb031ef72b7eebd4d768be5

Change-Id: I350f58c8a82f0f31608b34054e804c5c198d6806
2022-01-27 19:46:45 +00:00
LiZekun
13dbe7435f remove unicode from code
Change-Id: If002d845347b2e215d36df3ff73b743745e46131
2022-01-11 21:51:28 +08:00
Zuul
74d50525e6 Merge "Allow enable SNAT service on the seed hypervisor" 2022-01-07 12:45:44 +00:00
Zuul
f8ec18fe43 Merge "dnf: Add support for state parameter in custom repos" 2022-01-07 12:35:50 +00:00
Pierre Riteau
81758d14c3 Support building multiple disk images
Change-Id: I366fbe98d27fa70b1aeb398c129f626fe042b5df
Story: 2002098
Task: 19776
2022-01-07 12:25:18 +01:00
Zuul
6828184ab1 Merge "Fix seed VM configdrive when admin network is a VLAN" 2022-01-07 01:54:54 +00:00
Zuul
30efba2b0a Merge "Generate kolla config when running database commands" 2022-01-06 17:02:12 +00:00
Zuul
616ed9d44b Merge "Adds support for custom Placement configuration." 2022-01-06 16:15:27 +00:00
Pierre Riteau
3c8ce468a8 dnf: support exclude and includepkgs arguments
Change-Id: I58f7259a956b721052d9adfc935b669ff201b299
2022-01-05 18:06:03 +01:00
Will Szumski
73cb007ab9 Do not fail when admin openrc file does not exist
Change-Id: If89bb28fa2e8cc615da21893201cc438d5b6ff05
Story: 2009323
Task: 43745
2022-01-05 09:53:19 +01:00
Zuul
4028a56fac Merge "Add support for configuring proxy settings" 2022-01-04 17:22:48 +00:00
Kayobe deployment user
4321471a13 Generate kolla config when running database commands
Change-Id: Ief9adfcff28d269fc80a073cdde536e8e803ca37
Story: 2009648
Task: 43807
2022-01-04 15:58:14 +00:00
Zuul
9e4ce6c76b Merge "ipa: Use openstack_branch instead of master" 2022-01-04 10:36:19 +00:00
Zuul
2b24853862 Merge "Build neutron-sriov-agent image when enabled" 2022-01-03 13:56:16 +00:00
Zuul
16bfc27c46 Merge "Deploy Grafana when Monasca is enabled" 2021-12-30 13:40:20 +00:00
Mark Goddard
e0dec91689 Disable EPEL by default
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
2021-12-23 13:04:12 +00:00
Michal Nasiadka
b62a9aaefc ipa: Use openstack_branch instead of master
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
2021-12-22 18:16:49 +00:00
Mark Goddard
9d11a21928 dnf: Add support for state parameter in custom repos
This allows us to remove repo files if necessary.

Change-Id: I113ed858fb87d3ace093a92bf52bb772f5142219
2021-12-22 17:50:23 +00:00
Maksim Malchuk
e87fbf37a8 Adds support for custom Placement configuration.
Change-Id: Icb02cffe04d84c6d29f3f0c3b4af540a4ffe631d
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2021-12-19 17:37:27 +03:00
Pierre Riteau
336d6382a6 Remove deprecated kolla_tls_cert variable
Change-Id: If1671ac19dac4c36dd3a47bf2b8e2ae8dea5abdd
2021-12-13 17:31:22 +01:00
Maksim Malchuk
e10b52c588 Allow enable SNAT service on the seed hypervisor
Adds an ability to enable SNAT service on the seed hypervisor.

Depends-On: Ie42ab7a0dc9dd1ed1925b3a17134b3770ae8ba98
Change-Id: I0a2ff5caa01d54b1532d30d501b55ef23a6deff8
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2021-12-10 07:47:30 +03:00
Zuul
56a01a4178 Merge "Add dependencies for EFI and LVM based overcloud images" 2021-12-06 23:50:15 +00:00
Pierre Riteau
e438189a19 Fix installation prefix detection
When multiple 'lib' components are present in the installation path,
Kayobe fails to detect the right installation prefix which causes
various commands to raise an error.

Rewrite logic to detect the last 'lib' component in path instead. This
should work as long as this function is not stored under a lib directory
inside the Kayobe source tree.

Change-Id: Ie9b15db6563546ede9ce9735292ec566d540432a
Story: 2009721
Task: 44109
2021-12-02 22:41:53 +01:00
Piotr Parczewski
774d01c1ef Add dependencies for EFI and LVM based overcloud images
Change-Id: I2c2378ebd99ac02586518e80e4b86a9d765476e6
2021-11-30 15:40:52 +01:00
Piotr Parczewski
8897ea6d35 Update CentOS Stream base image
Change-Id: I4857e170ad75d2824701df583d1312b3398b93f4
2021-11-30 15:30:08 +01:00
Pierre Riteau
8ab4530f26 Deploy Grafana when Monasca is enabled
This is necessary to deploy grafana as a replacement for the retired
monasca-grafana image.

Change-Id: I7b719aeb20cc63f41280e20063785d77b0334d64
Story: 2009717
Task: 44091
2021-11-30 11:21:00 +01:00
Zuul
a9aa8c7f7c Merge "Add support for Ironic inspection through DHCP-relay" 2021-11-25 23:25:57 +00:00
Zuul
97a7dc6b22 Merge "Fix --check argument for overcloud host configure" 2021-10-28 15:27:04 +00:00
Zuul
f1ea2b7d4d Merge "Drop become in stackhpc.libvirt-vm for seed vm provision" 2021-10-27 17:37:43 +00:00
Mark Goddard
50e04bb06f Drop become in stackhpc.libvirt-vm for seed vm provision
Prior to this change, the seed VM was provisioned using the
stackhpc.livirt-vm role with become=true. This resulted in the cached
image being owned by root. The infra VM provisioning uses
stackhpc.libvirt-vm without become=true. If an infra VM uses the same
image as the seed, this can lead to permission denied errors when
downloading a new image of the same name.

This change adds a workaround to fix up the ownership of the cached
image during infra VM provisioning to avoid this issue.

This change also drops become=true from stackhpc.libvirt-vm during seed
VM provisioning, and adds the same workaround there.

Story: 2009277
Task: 43534

Change-Id: Iade0d74cdb398365a567dbdc4b23de2416f3726d
2021-10-27 10:00:03 +01:00