We are glad to announce the release of: kayobe 18.0.0 This release is part of the epoxy release series. The source is available from: https://opendev.org/openstack/kayobe Download the package from: https://tarballs.openstack.org/kayobe/ Please report issues through: https://bugs.launchpad.net/kayobe/+bugs For more details, please see below. Changes in kayobe 17.0.0.0rc1..18.0.0 ------------------------------------- 266ff1bf Remove outdated issue from Podman release note 2829bf89 CI: Test kayobe_control_host_become 81affd27 Use 'pip_upper_constraints_file' for openstacksdk installation 73d57e59 Fix authentication failures due to missing system scope 9172c778 Fix execution of kayobe overcloud deprovision 3efadf33 CI: Improve readabiity of ansible output 7fd3f6bd Support running without root privileges b4733da8 Add the ability to override the system's default repositories 2087a51c Fix ipa_kernel_options_default when ipa_collect_lldp is false 2393044b public-openrc: Add OS_CACERT even if admin-openrc lacks it c2ce2825 Rename docker group to container-engine 3c916b3e [release] Use OpenStack 2025.1 release 741511f8 [release] Sync with Kolla Ansible for 2025.1 0205896b Use pause module to prompt for deprovision c11c62be CI: Fix Bifrost log collection 28667735 Add support for `--list-tasks` against `kolla-ansible` 53ece53d CI: Make kayobe-seed-ubuntu-noble-podman voting c508b199 CI: Fix ipaddr invocation in network bootstrap fc232aed CI: Enable SLURP upgrade job for Ubuntu Noble c800db5c CI: Restore upgrade jobs b1eadcaf Revert "CI: Don't use new RabbitMQ features yet" 759db0da tox: Remove basepython aefec669 CI: Migrate RabbitMQ queues before upgrade 8ed9f703 Fix network configure on Rocky hosts d5016e83 Add releasenotes templates and update documentation 5333596a Add ovn-sb-db-relay Ansible group in overcloud ccdfeb76 CI: Don't use new RabbitMQ features yet 7d1061d0 Bump up Ansible supported versions to 11.x/12.x 9f615af7 Bump the mrlesmithjr.chrony role to v0.1.6 42e57b70 Improve release note of netplan fix 34909052 Fix netplan packages do not getting fully removed 62b307c4 Bump MichaelRigart.interfaces to v1.15.4 afafebbe Remove remaining mentions of Ubuntu Jammy 05896059 Bump version of stackhpc.linux collection 006abf6c Revert "CI: Make kayobe-overcloud-upgrade-slurp-rocky9 non-voting" 8131a4a0 CI: Make kayobe-seed-images-rocky9-podman experimental 80494bf7 Bump Michael.Rigart.Interfaces version to 1.15.3 f0bedd89 Remove graphlib-backport requirement e6a748a4 CI: Move CentOS Stream jobs to experimental queue 87d80151 CI: Use libpod/registry as container registry eb09ca93 CI: Make kayobe-overcloud-upgrade-slurp-rocky9 non-voting b7586c8e CI: create ansible.cfg for pre-upgrade deployment 8dd05487 Replace pause with chronyc waitsync in ntp sync fad3b7f1 CI: Add Rocky Linux SLURP upgrade jobs for 2025.1 8f84b596 Ensure hwclock is installed when required 988a8222 Add podman support 3133805e CI: Set previous_release for Epoxy 0b7d8015 Fix Depends-On e804a995 Add dynamic-login to default ipa elements a6ba61f4 Use kayobe_container only when service is enabled 70af189a CI: pin to ansible-compat<25.0.0 447635ac Bump version of MichaelRigart.interfaces 344008d8 Support IPA download with authenticated requests 51b54d54 Fix release note markup b4f63447 Fix release note link febe06c0 ironic-inspector: Add kolla_enable_ironic_inspector 0137015e infra-vm: efficiently handle `hostvars` during deploy and destroy f27755ae Fix overcloud deprovision hosts list in prompt d3c0ff56 CI: Switch to pytest-ansible 50ac65c5 Add nova-metadata group to kolla-ansible inventory 633eae08 Add missing space character to help message 3a926637 CI: Bump size of Swift device 67381c80 reno: Update master for unmaintained/2023.1 eacbe8a0 CI: use quay.io/podman/hello due too dockerhub rate limits 89849c1c Ensure ironic-python-agent matches ironic-lib f96182a2 Revert "[release] Use OpenStack 2024.2 release" 3961c2dd Update master for stable/2024.2 9c6b4477 Support forcing time synchronisation b56e90a8 CI: Generate Octavia certificates when required b10b166a Install setuptools before creating virtualenv Diffstat (except docs and test files) ------------------------------------- ansible/action_plugins/kayobe_container.py | 25 +++++ ansible/action_plugins/kayobe_container_image.py | 28 ++++++ .../action_plugins/kayobe_container_image_info.py | 17 ++++ ansible/action_plugins/kayobe_container_login.py | 24 +++++ ansible/action_plugins/kayobe_container_volume.py | 17 ++++ ansible/container-engine.yml | 37 ++++++++ ansible/container-image-build.yml | 7 +- ansible/docker.yml | 19 ---- ansible/infra-vm-host-configure.yml | 2 +- ansible/inventory/group_vars/all/apt | 2 + ansible/inventory/group_vars/all/compute | 32 ++++++- ansible/inventory/group_vars/all/container-engine | 76 +++++++++++++++ ansible/inventory/group_vars/all/controllers | 27 +++++- ansible/inventory/group_vars/all/docker | 39 -------- ansible/inventory/group_vars/all/globals | 9 +- ansible/inventory/group_vars/all/infra-vms | 27 +++++- ansible/inventory/group_vars/all/inspector | 2 +- ansible/inventory/group_vars/all/ipa | 9 +- ansible/inventory/group_vars/all/kolla | 14 ++- ansible/inventory/group_vars/all/openstack | 8 +- ansible/inventory/group_vars/all/overcloud-dib | 3 +- ansible/inventory/group_vars/all/pip | 2 +- ansible/inventory/group_vars/all/seed | 27 +++++- ansible/inventory/group_vars/all/time | 14 +++ ansible/kayobe-ansible-user.yml | 4 +- ansible/kayobe-target-venv.yml | 20 +++- ansible/kolla-ansible-user.yml | 10 +- ansible/kolla-ansible.yml | 1 + ansible/kolla-bifrost-hostvars.yml | 3 +- ansible/kolla-target-venv.yml | 10 ++ ansible/overcloud-bios-raid.yml | 6 +- ansible/overcloud-deprovision.yml | 37 +++++--- ansible/overcloud-etc-hosts-fixup.yml | 12 ++- ansible/overcloud-hardware-inspect.yml | 12 ++- ansible/overcloud-host-configure.yml | 2 +- ansible/overcloud-host-image-build.yml | 2 +- ansible/overcloud-introspection-data-save.yml | 3 +- ansible/overcloud-introspection-rules.yml | 4 +- ansible/overcloud-inventory-discover.yml | 3 +- ansible/overcloud-provision.yml | 15 ++- ansible/roles/apt/defaults/main.yml | 2 + ansible/roles/apt/tasks/repos.yml | 5 +- ansible/roles/apt/templates/kayobe.sources.j2 | 4 +- ansible/roles/bootstrap/tasks/main.yml | 49 ++++++++-- ansible/roles/bootstrap/vars/RedHat.yml | 4 +- ansible/roles/dell-switch-bmp/handlers/main.yml | 9 +- ansible/roles/docker-registry/defaults/main.yml | 6 +- ansible/roles/docker-registry/handlers/main.yml | 3 +- ansible/roles/docker-registry/tasks/deploy.yml | 3 +- ansible/roles/docker-registry/tasks/destroy.yml | 24 ++--- ansible/roles/docker-registry/tasks/pull.yml | 4 +- ansible/roles/docker-registry/tasks/stop.yml | 3 +- ansible/roles/image-download/defaults/main.yml | 20 ++++ ansible/roles/image-download/tasks/main.yml | 8 ++ ansible/roles/infra-vms/tasks/deploy.yml | 29 +++--- ansible/roles/infra-vms/tasks/destroy.yml | 10 +- ansible/roles/infra-vms/tasks/main.yml | 17 +++- ansible/roles/inspection-store/defaults/main.yml | 5 +- ansible/roles/inspection-store/handlers/main.yml | 6 +- ansible/roles/inspection-store/tasks/destroy.yml | 21 ++--- ansible/roles/inspection-store/tasks/pull.yml | 4 +- ansible/roles/inspection-store/tasks/start.yml | 6 +- ansible/roles/inspection-store/tasks/stop.yml | 3 +- ansible/roles/kolla-ansible/defaults/main.yml | 5 +- ansible/roles/kolla-ansible/tasks/config.yml | 2 +- ansible/roles/kolla-ansible/tasks/install.yml | 62 +++++++++---- .../templates/overcloud-components.j2 | 3 - .../kolla-ansible/templates/overcloud-services.j2 | 19 ++-- ansible/roles/kolla-ansible/vars/main.yml | 9 +- ansible/roles/kolla-build/tasks/main.yml | 5 +- ansible/roles/kolla-openstack/defaults/main.yml | 7 +- .../kolla-openstack/molecule/default/molecule.yml | 4 + .../molecule/enable-everything/molecule.yml | 4 + ansible/roles/kolla/tasks/install.yml | 3 + .../manage-containers/tasks/deploy-container.yml | 7 +- ansible/roles/manage-containers/tasks/deploy.yml | 10 +- .../manage-containers/tasks/destroy-container.yml | 2 +- ansible/roles/network-debian/tasks/main.yml | 2 + ansible/roles/ntp/defaults/main.yml | 5 +- ansible/roles/ntp/tasks/main.yml | 4 + ansible/roles/ntp/tasks/sync.yml | 26 ++++++ ansible/roles/opensm/defaults/main.yml | 2 +- ansible/roles/opensm/tasks/deploy.yml | 6 +- ansible/roles/opensm/tasks/destroy.yml | 23 ++--- ansible/roles/opensm/tasks/pull.yml | 4 +- ansible/roles/opensm/tasks/stop.yml | 3 +- .../public-openrc/templates/public-openrc.sh.j2 | 5 +- ansible/roles/swift-rings/tasks/main.yml | 3 +- ansible/seed-credentials.yml | 6 +- ansible/seed-host-configure.yml | 2 +- ansible/seed-ipa-build.yml | 3 +- ansible/seed-service-upgrade-prep.yml | 5 +- dev/functions | 47 +++++++++- dev/kayobe-control-host-become-sudo-checker | 22 +++++ dev/kolla-control-host-become-sudo-checker | 15 +++ dev/overcloud-test-bounce-interface.sh | 21 +++++ dev/ovs-vsctl | 7 +- dev/playbook-run.sh | 38 ++++++++ .../configuration/reference/docker-registry.rst | 8 +- .../reference/ironic-python-agent.rst | 69 ++++++++++---- etc/kayobe/apt.yml | 2 + etc/kayobe/compute.yml | 19 +++- etc/kayobe/container-engine.yml | 80 ++++++++++++++++ etc/kayobe/docker.yml | 43 --------- etc/kayobe/globals.yml | 5 + etc/kayobe/inventory/groups | 4 +- etc/kayobe/ipa.yml | 5 +- etc/kayobe/kolla.yml | 13 ++- etc/kayobe/openstack.yml | 4 +- etc/kayobe/time.yml | 14 +++ kayobe/ansible.py | 5 +- kayobe/kolla_ansible.py | 2 + molecule-requirements.txt | 4 +- playbooks/kayobe-base/overrides.yml.j2 | 3 + playbooks/kayobe-base/post.yml | 36 ++++++++ playbooks/kayobe-base/pre.yml | 59 ++++++++++++ playbooks/kayobe-infra-vm-base/overrides.yml.j2 | 3 + playbooks/kayobe-infra-vm-base/pre.yml | 7 +- playbooks/kayobe-overcloud-base/overrides.yml.j2 | 6 ++ playbooks/kayobe-overcloud-base/pre.yml | 7 +- .../overrides.yml.j2 | 3 + .../kayobe-overcloud-host-configure-base/pre.yml | 6 +- .../kayobe-overcloud-host-configure-base/run.yml | 10 ++ .../kayobe-overcloud-upgrade-base/overrides.yml.j2 | 3 + playbooks/kayobe-overcloud-upgrade-base/pre.yml | 7 +- playbooks/kayobe-overcloud-upgrade-base/run.yml | 18 +++- playbooks/kayobe-seed-base/overrides.yml.j2 | 8 ++ playbooks/kayobe-seed-base/pre.yml | 7 +- .../kayobe-seed-upgrade-base/overrides.yml.j2 | 5 + playbooks/kayobe-seed-upgrade-base/pre.yml | 7 +- playbooks/kayobe-seed-upgrade-base/run.yml | 7 +- playbooks/kayobe-seed-vm-base/overrides.yml.j2 | 5 + playbooks/kayobe-seed-vm-base/pre.yml | 7 +- ...a-enable-ironic-inspector-5db384e4f94386c3.yaml | 10 ++ .../adds-support-for-podman-8ff158369905c077.yaml | 12 +++ .../ansible-chrony-v0.1.6-68c7616fb7582503.yaml | 4 + .../auth-fix-system-scope-20dadaf18cb43962.yaml | 7 ++ .../notes/bug-2110549-28e47a915331af95.yaml | 6 ++ .../notes/bump-ansible-11-12-0eaf6b997b716ba4.yaml | 6 ++ ...michael-rigart-interfaces-61def9d407e5de3e.yaml | 6 ++ ...lrigart.interfaces-1.15.4-900d2f560c4a19bb.yaml | 5 + ...pa-kernel-options-default-a036666288778fa6.yaml | 5 + ...lan-not-get-fully-removed-b3770cf475569a6c.yaml | 6 ++ ...-openstacksdk-u-c-default-ed0b85cdb9fd6042.yaml | 8 ++ ...ovision-prompt-host-lists-cfb701162c114c60.yaml | 6 ++ ...-rocky-network-templating-d16606de0ea28d2d.yaml | 7 ++ ...es-slave-interface-bounce-81d8dc8e5e474447.yaml | 6 ++ ...-vgpu-boot-race-condition-b51917e32f685221.yaml | 7 ++ .../image-download-auth-e9fd02b71e26dd52.yaml | 12 +++ ...fra-vm-action-performance-5d8a218b75574be2.yaml | 6 ++ .../notes/ipa-dynamic-login-b1574eb8e6638a61.yaml | 6 ++ .../notes/ntp-force-sync-d22bfbd63c7be026.yaml | 5 + ...-deprovision-pause-prompt-2d31b1716116c629.yaml | 6 ++ ...oud-extras-service-absent-2e8a01e1c31f038b.yaml | 7 ++ .../pin-ipa-requirements-f9566011b2400e6c.yaml | 6 ++ .../notes/support-list-tasks-d55a6a54a3c71fcc.yaml | 6 ++ ...hout-root-on-control-host-11e92dcc7477729c.yaml | 8 ++ .../ubuntu-sources-configure-c2aff9915db76d07.yaml | 11 +++ releasenotes/source/2023.1.rst | 2 +- releasenotes/source/2024.2.rst | 6 ++ releasenotes/source/conf.py | 1 + releasenotes/source/index.rst | 1 + releasenotes/templates/feature.yml | 5 + releasenotes/templates/fix.yml | 7 ++ requirements.txt | 4 +- requirements.yml | 8 +- roles/kayobe-ci-prep/tasks/main.yml | 25 ++++- roles/kayobe-diagnostics/files/get_logs.sh | 60 +++++++----- roles/kayobe-diagnostics/tasks/pre.yml | 1 + roles/kayobe-galaxy-requirements/defaults/main.yml | 2 +- roles/kayobe-galaxy-requirements/tasks/main.yml | 7 +- roles/kayobe-network-bootstrap/tasks/main.yml | 2 +- tox.ini | 12 +-- zuul.d/jobs.yaml | 91 ++++++++++++++---- zuul.d/nodesets.yaml | 6 -- zuul.d/project.yaml | 28 ++++-- 189 files changed, 1917 insertions(+), 501 deletions(-) Requirements updates -------------------- diff --git a/molecule-requirements.txt b/molecule-requirements.txt index 794a7bf5..4fd0fcac 100644 --- a/molecule-requirements.txt +++ b/molecule-requirements.txt @@ -6 +6 @@ ansible-lint>=3.0.0,<6.0.0,!=4.3.0 # MIT -ansible-compat # MIT +ansible-compat<25.0.0 # MIT @@ -9,0 +10 @@ molecule-plugins[docker] # MIT +pytest-ansible # MIT @@ -11 +11,0 @@ pytest-metadata # MPL -pytest-molecule # MIT diff --git a/requirements.txt b/requirements.txt index 31a3fdaf..c4141c12 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3 +3 @@ Jinja2>3 # BSD -ansible>=9,<11 # GPLv3 +ansible>=10,<12 # GPLv3 @@ -14,2 +13,0 @@ ansible-cached-lookup<=2.0.0 # MIT -# NOTE(wszusmki): Remove this when min python>=3.9 -graphlib-backport<2.0.0; python_version<"3.9" # PSF