We are excited to announce the release of: kayobe 11.0.0: Deployment of OpenStack to bare metal using OpenStack kolla and bifrost This release is part of the xena 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://storyboard.openstack.org/#!/project/openstack/kayobe For more details, please see below. 11.0.0 ^^^^^^ Bug Fixes * Fixes some issues seen when using the "--check" argument with "kayobe overcloud host configure". See story 2004798. * Fixes an issue where cached seed VM images are unnecessarily owned by root. See story 2009277 for details. Changes in kayobe 10.0.0..11.0.0 -------------------------------- a79601b5 Infra VMs: fix some playbook host patterns 1dbf0ba5 CI: add Infra VM jobs 98e7817e Ubuntu: add upgrade jobs to gate 3a071757 infra VMs: use wait_for rather than wait_for_connection b207c1a3 Fix --check argument for overcloud host configure 25e0ac30 Drop become in stackhpc.libvirt-vm for seed vm provision 577cd0c8 CI: Disable heat in upgrade jobs to save disk space 698d79e4 Fix link syntax in release note 9c80fa08 Update .gitreview for stable/xena 9c2565a6 Support Ansible diff mode 8710a776 Add the missing documentation for mariadb recovery 49218b34 Remove stale config dump from seed hypervisor host configure bdba7a92 Add missing hook support for environment-create 9f6c912b Prevent Bifrost from using firewalld 2e2c96e3 Allow Docker to use insecure registry when deployed by Kayobe 1af6ea5c Add reno about chrony removal c5a3efaf [release] Sync Kolla Ansible inventory for Xena e0c42ea9 Use OpenStack Xena release 8fb9f57f [release] Sync Kolla Ansible feature flags for Xena e58a1253 Add missing apt playbook for infrastructure VMs 67126eb5 CI: add host configure tests for firewalld e318cada Use merge_configs and merge_yaml to generate Kolla configs b1b6358f Update Kolla images namespace to openstack.kolla 8afd68ca Infra VMs: follow up 769c2efb Add support for configuring tuned profile 717600e1 Fix wrong filename in bifrost docs 4bfe9e27 Fix IPA builder version typo 4b31079f firewalld: support infra VMs 29d73eed Set proxy option in early dnf invocation 79be93ba Enable consistent network device naming 1b647aca Ubuntu systemd-networkd: VLAN ifname heuristics c583922c Add support for infrastructure VMs 7d15aa16 Support configuration of firewalld 69c4bd98 CI: enable DNF tests on all CentOS versions 6a69a4f4 CI: enable DNF tests on CentOS Stream 8 3b901641 Ubuntu: add upgrade jobs in CI b8abf706 Build and deploy source type images by default f50e9b02 Revert to installing Docker SDK with upper constraints 0f2b1042 Bump up Ansible supported versions 53f37da1 seed: Disable SNAT configuration by default a04b5d6a Import merge_configs and merge_yaml from Kolla Ansible f09faa43 CI: Disable libvirt debug logs 2648f487 Make setup module arguments configurable 5535832c Support Ansible collections 9dd7ed03 Remove haproxy and keepalived groups f24b3176 Add support for apt proxy setting ae853182 CI: Fix bashate ignores aecaac7b Revert to Xena IPA images 81d6fa9a CI: Avoid molecule 3.5.x 4ef6e59e CI: Remove IPA images from saved /etc/kolla 1c173aeb Add missing quotes to Docker registry TLS example 545f3610 CI: Log disk usage details cc6ccba2 Fix typo in inspector.yml 080e7203 Sync documentation with kolla_openstack_custom_config 923813ac CI: Fix get_logs.sh docker logs output 7b16300c Allow passing arguments to dev/environment-setup.sh e1ba8421 Allow to configure name of root disk image to provision e8769373 Fix typo in IP allocation filename 74eff837 CI: Fix multiple failures c2b9dd81 docs: fix heading styles in upgrading page 3947997e Fix overcloud introspection data save f639ad0b Use ansible_facts to reference facts 3c56f32f Fix configuration check without public API network 91b2dddc Add twentyFiveGigE to port descriptions in inspector rules a48cc249 dnf: add metalink argument to custom dnf repository acc8cd78 Fix documentation links for routed control plane networks 0a55c834 Add Arista switch support for the Neutron ML2 genericswitch driver 769ec55d Remove references to resolv.conf workaround 6ea22874 Update ntp role to match code style 5a0206ae Ubuntu: Set MTU for veth in the network files 5815f0ba Fix capitalisation of Ansible task name fb36029b kolla: Set neutron_plugin_agent to OVN when it's enabled b8ff8fa8 Add missing font for PDF generation cf60ba0d Use stream8 images with molecule d4bbdada Remove stale DIB_DISABLE_KERNEL_CLEANUP references f0aae6b8 Remove iscsi deploy interface d0263e65 Support setting docker registry credentials to the empty string f575f4b7 Prevent matching unrelated images bca23698 Remove outdated upgrade step 15d20154 Fix url to ansible site in kolla-ansible.rst 034d4360 docs: Stop setting os_distribution in development all-in-one c9cc6f40 docs: add variable for current branch 66e143ad Revert "CI: Fix libvirt errors caused by latest edk2-ovmf" c6c1cde3 CI: test base container image build in seed jobs 9c8f7499 Fix container image builds 1dc6d98b Revert "Use OpenStack Wallaby release" 82def9a5 Ubuntu: ensure /usr/bin/python is python3 a52b3b27 Optimise order of inspector_processing_hooks 9883726b docs: Update Freenode to OFTC 9d3045db ntp: check for ntp group in inventory d2e3f6f1 docs: improve automated seed development info 1e14fa3a CI: Fix libvirt errors caused by latest edk2-ovmf dc53d29e chrony: cleanup during overcloud host upgrade b398e28d Add kayobe overcloud service prechecks command 223e310b Remove default time sources from customisable configuration 0ce6ea2e docs: add reno and upgrade info for CentOS Stream 4a59ea48 Fix overcloud post configure Python interpreter issues ece41b7a CentOS Stream: update DNF repo file names e187ad79 Make docker registry network mode configurable c44f4815 Fixes for Ansible 2.10 93a8baca CI: Remove unused Docker images after overcloud upgrade 085cf7d1 Adds support for configuring chrony 8e825118 [release] Set previous_release to wallaby dfdff656 Ubuntu: add documentation & release note 83155423 setup.cfg: Replace dashes with underscores 1cac2ccb Add os_release variable, build CentOS stream images 7abf6360 Add Python3 xena unit tests 872d874e Update master for stable/wallaby c355935c Ubuntu: avoid shadowing of networkd config files 111375fb Ubuntu: CI: rely on os_distribution, remove interfaces pause 9033d284 Replace custom serial loop with throttle 0fad6c1e Revert to binary images for nova f2cca07c Ubuntu: install qemu-img on seed-hypervisor 4d886ff1 docs: aio: add note with link to automated setup 45a79638 Support additional pass through host variables Diffstat (except docs and test files) ------------------------------------- .gitreview | 2 +- ansible/action_plugins/merge_configs.py | 19 ++ ansible/action_plugins/merge_yaml.py | 19 ++ ansible/apt.yml | 12 + ansible/compute-node-discovery.yml | 4 +- ansible/container-image-build.yml | 9 +- ansible/dev-tools.yml | 2 +- ansible/disable-cloud-init.yml | 2 +- ansible/disable-glean.yml | 2 +- ansible/disable-selinux.yml | 6 +- ansible/dnf.yml | 4 +- ansible/firewall.yml | 12 + ansible/group_vars/all/apt | 6 + ansible/group_vars/all/bifrost | 11 + ansible/group_vars/all/compute | 28 +++ ansible/group_vars/all/controllers | 28 +++ ansible/group_vars/all/globals | 11 + ansible/group_vars/all/infra-vms | 201 ++++++++++++++++ ansible/group_vars/all/inspector | 4 + ansible/group_vars/all/ironic | 3 +- ansible/group_vars/all/kolla | 143 ++++++----- ansible/group_vars/all/monitoring | 28 +++ ansible/group_vars/all/openstack | 6 +- ansible/group_vars/all/seed | 31 +++ ansible/group_vars/all/seed-hypervisor | 28 +++ ansible/group_vars/all/storage | 28 +++ ansible/group_vars/all/time | 2 +- ansible/group_vars/compute/firewall | 21 ++ ansible/group_vars/compute/tuned | 7 + ansible/group_vars/controllers/firewall | 21 ++ ansible/group_vars/controllers/tuned | 7 + ansible/group_vars/infra-vms/ansible-host | 3 + ansible/group_vars/infra-vms/ansible-user | 7 + ansible/group_vars/infra-vms/firewall | 21 ++ ansible/group_vars/infra-vms/luks | 6 + ansible/group_vars/infra-vms/lvm | 6 + ansible/group_vars/infra-vms/mdadm | 6 + ansible/group_vars/infra-vms/network | 6 + ansible/group_vars/infra-vms/sysctl | 3 + ansible/group_vars/infra-vms/tuned | 7 + ansible/group_vars/infra-vms/users | 4 + ansible/group_vars/monitoring/firewall | 33 +++ ansible/group_vars/monitoring/tuned | 10 + ansible/group_vars/seed-hypervisor/firewall | 21 ++ ansible/group_vars/seed-hypervisor/tuned | 7 + ansible/group_vars/seed/firewall | 21 ++ ansible/group_vars/seed/tuned | 7 + ansible/group_vars/storage/firewall | 21 ++ ansible/group_vars/storage/tuned | 7 + ansible/host-command-run.yml | 2 +- ansible/host-package-update.yml | 4 +- ansible/idrac-bootstrap.yml | 4 +- ansible/infra-vm-deprovision.yml | 38 +++ ansible/infra-vm-provision.yml | 40 ++++ ansible/ip-allocation.yml | 2 +- ansible/ip-routing.yml | 1 + ansible/kayobe-ansible-user.yml | 11 +- ansible/kayobe-target-venv.yml | 24 +- ansible/kolla-ansible.yml | 20 +- ansible/kolla-bifrost-hostvars.yml | 1 + ansible/kolla-bifrost.yml | 20 +- ansible/kolla-build.yml | 4 +- ansible/kolla-openstack.yml | 1 + ansible/kolla-target-venv.yml | 12 +- ansible/luks.yml | 2 +- ansible/lvm.yml | 2 +- ansible/mdadm.yml | 2 +- ansible/network-connectivity.yml | 2 +- ansible/network.yml | 4 +- ansible/overcloud-etc-hosts-fixup.yml | 4 +- ansible/overcloud-facts-gather.yml | 10 + ansible/overcloud-introspection-data-save.yml | 2 +- ansible/overcloud-ipa-build.yml | 2 +- ansible/overcloud-ipa-images.yml | 4 +- ansible/pip.yml | 2 +- ansible/public-openrc.yml | 2 +- ansible/roles/apt/defaults/main.yml | 12 + ansible/roles/apt/tasks/main.yml | 17 ++ ansible/roles/apt/templates/01proxy.j2 | 8 + ansible/roles/bootstrap/tasks/main.yml | 8 +- ansible/roles/dev-tools/tasks/main.yml | 4 +- ansible/roles/disable-glean/tasks/main.yml | 1 + ansible/roles/disable-selinux/tasks/main.yml | 6 +- ansible/roles/dnf/tasks/custom-repo.yml | 3 +- ansible/roles/docker-registry/tasks/config.yml | 16 +- ansible/roles/docker-registry/tasks/pull.yml | 1 + ansible/roles/docker/tasks/main.yml | 2 +- ansible/roles/firewall-redhat/defaults/main.yml | 18 ++ ansible/roles/firewall-redhat/handlers/main.yml | 10 + ansible/roles/firewall-redhat/tasks/disabled.yml | 18 ++ ansible/roles/firewall-redhat/tasks/enabled.yml | 71 ++++++ ansible/roles/firewall-redhat/tasks/main.yml | 3 + ansible/roles/infra-vms/defaults/main.yml | 7 + ansible/roles/infra-vms/tasks/deploy.yml | 93 +++++++ ansible/roles/infra-vms/tasks/destroy.yml | 16 ++ ansible/roles/infra-vms/tasks/main.yml | 18 ++ ansible/roles/infra-vms/tasks/prerequisites.yml | 18 ++ ansible/roles/inspection-store/tasks/config.yml | 4 +- ansible/roles/inspection-store/tasks/pull.yml | 1 + ansible/roles/ipa-images/tasks/main.yml | 4 +- .../kolla-ansible-host-vars/templates/host-vars.j2 | 2 + ansible/roles/kolla-ansible/defaults/main.yml | 25 +- ansible/roles/kolla-ansible/tasks/config.yml | 8 +- ansible/roles/kolla-ansible/tasks/install.yml | 48 +++- .../{globals.yml.j2 => kolla/globals.yml} | 33 +-- .../templates/overcloud-components.j2 | 22 +- .../kolla-ansible/templates/overcloud-services.j2 | 6 +- ansible/roles/kolla-ansible/vars/main.yml | 10 +- ansible/roles/kolla-bifrost/defaults/main.yml | 12 + ansible/roles/kolla-bifrost/tasks/main.yml | 12 +- .../config/bifrost/bifrost.yml} | 3 + .../{dib.yml.j2 => kolla/config/bifrost/dib.yml} | 0 .../config/bifrost/servers.yml} | 0 ansible/roles/kolla-build/defaults/main.yml | 11 +- ansible/roles/kolla-build/tasks/main.yml | 27 +-- .../kolla-build.conf} | 2 - .../kolla-openstack/molecule/default/create.yml | 11 +- .../kolla-openstack/molecule/default/molecule.yml | 4 +- .../molecule/enable-everything/create.yml | 11 +- .../molecule/enable-everything/molecule.yml | 4 +- .../roles/kolla-openstack/templates/ironic.conf.j2 | 2 +- ansible/roles/kolla/defaults/main.yml | 2 +- ansible/roles/kolla/tasks/config.yml | 4 +- ansible/roles/kolla/tasks/install.yml | 18 +- ansible/roles/network-redhat/tasks/main.yml | 2 + ansible/roles/ntp/tasks/prepare.yml | 7 +- ansible/roles/opensm/tasks/pull.yml | 1 + ansible/roles/pip/tasks/pip_conf.yml | 4 +- ansible/roles/snat/tasks/main.yml | 4 +- ansible/roles/ssh-known-host/tasks/main.yml | 2 +- ansible/roles/swift-block-devices/tasks/main.yml | 4 +- ansible/roles/veth/tasks/main.yml | 2 +- ansible/roles/wipe-disks/tasks/main.yml | 4 +- ansible/seed-deploy-containers.yml | 2 +- ansible/seed-ipa-build.yml | 2 +- ansible/seed-service-upgrade-prep.yml | 2 +- ansible/seed-vm-provision.yml | 29 ++- ansible/snat.yml | 5 +- ansible/sysctl.yml | 2 +- ansible/time.yml | 6 +- ansible/tuned.yml | 11 + ansible/users.yml | 2 +- ansible/wipe-disks.yml | 2 +- bindep.txt | 3 + dev/environment-setup.sh | 7 +- dev/functions | 37 ++- dev/infra-vm-deploy.sh | 19 ++ dev/tenks-deploy-config-compute.yml | 2 +- .../configuration/reference/docker-registry.rst | 4 +- .../configuration/reference/kolla-ansible.rst | 12 +- .../reference/routed-control-plane-networks.rst | 8 +- .../scenarios/all-in-one/overcloud.rst | 6 + etc/kayobe/apt.yml | 6 + etc/kayobe/bifrost.yml | 16 +- etc/kayobe/compute.yml | 28 +++ etc/kayobe/controllers.yml | 28 +++ etc/kayobe/globals.yml | 11 + etc/kayobe/infra-vms.yml | 174 ++++++++++++++ etc/kayobe/inspector.yml | 2 +- .../infra-vms/ansible-python-interpreter | 3 + .../group_vars/infra-vms/network-interfaces | 12 + etc/kayobe/inventory/groups | 10 + etc/kayobe/ipa.yml | 2 +- etc/kayobe/kolla.yml | 17 +- etc/kayobe/monitoring.yml | 28 +++ etc/kayobe/openstack.yml | 4 +- etc/kayobe/seed-hypervisor.yml | 28 +++ etc/kayobe/seed.yml | 31 +++ etc/kayobe/storage.yml | 28 +++ kayobe/ansible.py | 64 ++++- kayobe/cli/commands.py | 221 +++++++++++++++-- kayobe/kolla_ansible.py | 8 + kayobe/plugins/action/merge_configs.py | 225 +++++++++++++++++ kayobe/plugins/action/merge_yaml.py | 181 ++++++++++++++ kayobe/plugins/filter/networkd.py | 22 +- kayobe/plugins/filter/networks.py | 14 ++ kayobe/utils.py | 25 +- molecule-requirements.txt | 10 + playbooks/kayobe-base/pre.yml | 14 ++ .../kayobe-infra-vm-base/infra-vms-group-vars.j2 | 5 + playbooks/kayobe-infra-vm-base/overrides.yml.j2 | 55 +++++ playbooks/kayobe-infra-vm-base/pre.yml | 57 +++++ playbooks/kayobe-infra-vm-base/run.yml | 17 ++ playbooks/kayobe-overcloud-base/globals.yml.j2 | 3 + playbooks/kayobe-overcloud-base/overrides.yml.j2 | 8 - .../overrides.yml.j2 | 23 ++ .../kayobe-overcloud-upgrade-base/globals.yml.j2 | 3 + .../kayobe-overcloud-upgrade-base/overrides.yml.j2 | 10 + playbooks/kayobe-overcloud-upgrade-base/run.yml | 41 +++- playbooks/kayobe-seed-base/overrides.yml.j2 | 5 +- .../kayobe-seed-upgrade-base/overrides.yml.j2 | 7 +- playbooks/kayobe-seed-upgrade-base/run.yml | 3 + playbooks/kayobe-seed-vm-base/overrides.yml.j2 | 6 - .../add-apt-proxy-support-f688702868095ed0.yaml | 6 + ...pport-for-custom-seed-vms-a938ffdbedcd7b14.yaml | 8 + .../notes/ansible-facts-2b3389a2534d47a2.yaml | 10 + .../notes/ansible-max-4-f0666c5decc440f1.yaml | 21 ++ .../notes/arista-ngs-3efc3eecb498071e.yaml | 4 + ...ost-deploy-image-filename-716c12e71c769a27.yaml | 6 + .../bifrost-use-firewalld-90b69e2ac6eead67.yaml | 16 ++ .../notes/bugfix-2009080-4c3a5a8acb9de39c.yaml | 7 + .../notes/collections-b1b9a017c843dc1c.yaml | 5 + .../default-source-type-b379b0f1562537dd.yaml | 14 ++ ...ent-network-device-naming-e0edec5d5fdf83e2.yaml | 11 + releasenotes/notes/diff-mode-468e09bbb9185b50.yaml | 11 + releasenotes/notes/dnf-proxy-22a6eb457c06a223.yaml | 6 + .../docker-registry-insecure-b0f529b9eb85737e.yaml | 14 ++ .../environment-create-hooks-b4850b1bd9b13c7c.yaml | 4 + releasenotes/notes/firewalld-48dd2efd52c79252.yaml | 5 + .../notes/fix-check-mode-c0f8e1fcb09f730b.yaml | 6 + ...x-introspection-data-save-51001baa37d97084.yaml | 6 + .../fix-networkd-vlan-netdev-1668f8e0f9647ef8.yaml | 5 + ...ix-precheck-no-public-net-c0db9168063b6203.yaml | 6 + .../inspector-25gbe-port-9bdc3bb354e3dfb6.yaml | 5 + .../notes/merge-configs-1f8fb3672e9be404.yaml | 22 ++ .../notes/remove-chrony-b535ca7f1f4c9e57.yaml | 5 + .../remove-ironic-iscsi-cb15bec4e494b62c.yaml | 11 + .../notes/seed-disable-snat-4d1e7899456f7561.yaml | 5 + .../notes/setup-module-args-2c36e56bf78ab5f0.yaml | 11 + .../notes/story-2009072-57e5d079e182e763.yaml | 6 + .../notes/story-2009277-84c381a562244fab.yaml | 6 + releasenotes/notes/tuned-86e2a6519b644985.yaml | 5 + .../tuned-default-profiles-7c795b9599856aee.yaml | 9 + ...espace_to_openstack.kolla-fb74a8cd58942a54.yaml | 5 + .../yum-repository-metalink-26afa7c9f7026539.yaml | 5 + releasenotes/source/index.rst | 1 + releasenotes/source/wallaby.rst | 6 + requirements.txt | 4 +- requirements.yml | 93 +++---- roles/kayobe-diagnostics/files/get_logs.sh | 6 +- setup.cfg | 26 ++ test-requirements.txt | 6 - tools/run-bashate.sh | 2 +- tools/test-ansible.sh | 1 + tox.ini | 14 +- zuul.d/jobs.yaml | 46 +++- zuul.d/project.yaml | 10 +- 267 files changed, 5180 insertions(+), 627 deletions(-) Requirements updates -------------------- diff --git a/molecule-requirements.txt b/molecule-requirements.txt new file mode 100644 index 00000000..e2e59cc2 --- /dev/null +++ b/molecule-requirements.txt @@ -0,0 +1,10 @@ +# The order of packages is significant, because pip processes them in the order +# of appearance. Changing the order has an impact on the overall integration +# process, which may cause wedges in the gate later. + +docker # Apache-2.0 +molecule<3.5.0 # MIT +molecule-docker # MIT +pytest-molecule # MIT +pytest-testinfra +yamllint # GPLv3 diff --git a/requirements.txt b/requirements.txt index ed81d1d1..8cfd1a87 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2 +2 @@ pbr>=2.0 # Apache-2.0 -ansible>=2.9.0,<2.11.0,!=2.9.8,!=2.9.12 # GPLv3 +ansible>=2.10.0,<5.0 # GPLv3 @@ -6,0 +7,2 @@ selinux # MIT +# INI parsing +oslo.config>=5.2.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index f3184134..934a4b18 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -9 +8,0 @@ doc8 # Apache-2.0 -docker # Apache-2.0 @@ -11,2 +9,0 @@ hacking>=3.0.1,<3.1.0 # Apache-2.0 -molecule # MIT -molecule-docker # MIT @@ -14,3 +10,0 @@ oslotest>=1.10.0 # Apache-2.0 -paramiko -pytest-molecule # MIT -pytest-testinfra