We are gleeful to announce the release of: tenks 2.0.0: Deployment of virtual bare metal clusters with Tenks The source is available from: https://opendev.org/openstack/tenks Download the package from: https://tarballs.openstack.org/tenks/ For more details, please see below. Changes in tenks 1.0.0..2.0.0 ----------------------------- 2ca8809 Add Python 3.10 to supported versions 0bb3edc Add retries for get_url and package tasks 2c2c8b9 Fix CI failures d0ded32 Follow ups to venv 3ced4bd Skip more ansible-lint style checks 3b2a730 Use Yoga branch of Kayobe for gating CI job (p2) 84d3147 Use Yoga branch of Kayobe for gating CI job e6166ed [CI] Name the Debian version 7f8b1c7 [CI] Ignore .ansible-lint in the main jobs aa922ad [ansible-lint] Unignore jinja[spacing] 0d2fb5e [ansible-lint] Restore sanity 6ca0bb7 [CI] Optimise ovs setup 75d5ba7 [CI] Remove CentOS 7 support leftovers a76929c [CI] Gate on CentOS Stream 9 and Rocky Linux 9 6c59da3 Use venv instead of virtualenv f34703d Add support for EL9 789f190 Use TOX_CONSTRAINTS_FILE 6af32ae Fix ansible-lint errors 0cd55ea remove unicode from code c13f3c2 Remove py2 unicode markers d92c731 Add Ubuntu 22.04 Jammy support. d7312db [CI] Drop Python 3.7 job. Fix ansible-lint errors. 41577fd Use yoga upper constraints for openstack-tox-py36 3a64cdc Remove Python 2 leftovers 66f0066 Use Yoga upper constraints to avoid Python version conflict 26cec85 CI: Removing tenks job queue e47ff6b Use jinja2.pass_context instead of contextfilter eba6b36 [TrivialFix] Use correct project badge in README d178655 Add Debian support 5cf433e [CI] Stop overriding default python 2474797 docs: linux bridge, supported OS distros e86b46c CI: switch Ubuntu jobs to Focal 20.04 9111328 Use ansible_facts to reference facts d25067d [CI] Optimise irrelevant files fc1b42c Support UEFI boot mode 7c6e87e Explicitly set boot_mode to legacy BIOS 7331ccf Migrate jobs from CentOS 8 to CentOS 8 Stream a6f7b2e Test all supported python version 5746ed2 Fix 'The `libvirt` module is not importable' error 6f304c8 Update pip and setuptools before installing requirements e9c7a79 setup.cfg: Replace dashes with underscores 945a79b Fix ansible lint f34bb77 Fix virtualbmc installation after release of cryptography 3.4 f24d233 Test idempotence of deploy and teardown in CI fd810ed Increase verbosity of ansible lint command c9515e0 CI: Fix ansible-lint failure eea2f5c Fix invalid argument formatting in the exception message 6d1fa48 Add py38 package metadata 2789f9d Remove install unnecessary packages 9ed29ce Use importlib to take place of imp module 996921a Fix ansiblelint 208 4557c98 Use victoria tests 61f45c5 Add skip list to ansible lint d17101a Set min version of tox to 3.2.1 a3518d9 Trust receive filters of baremetal nodes d2cb3e2 Install python setuptools & virtualenv 288d663 Switch to newer openstackdocstheme and reno versions 5abd971 Py2 - Remove six, mock and future ddbec7d Drop CentOS 7 jobs ece9f6e Add pep8 import order check 1b01c94 Fix issue with VirtualBMC client path 5324624 Update master for stable/1.0 ca01a64 Cleanup py27 support 7527330 Refactor virtualbmc-domain tasks into a module eb34860 Ensure veth pairs are uniquely named 8df4a68 Fix node scheduling with pipe in hostvars ced8a4a Support linux bridge in addition to OVS 3cc4283 Stop gzipping logs in get-logs.sh f2560ae CI: Switch to kayobe-overcloud-centos8 042fcb4 CentOS 8 support 512174a Bump ansible version constraints to >=2.7,<2.10 3db82fd Pin virtualbmc to <2 when using Python 2 13de0ed Install virtualbmc to system when SELinux is enabled 29ce8dd Use Python 2 on CentOS 7 91a4508 Enforce running tox with correct python version based on env 6af7c38 Drop python 2.7 support and testing 9dac363 CI: Use python3 in deploy-teardown jobs Diffstat (except docs and test files) ------------------------------------- .ansible-lint | 12 ++ .gitignore | 5 +- README.rst | 2 +- ansible/action_plugins/tenks_update_state.py | 32 ++-- ansible/cleanup_state.yml | 8 +- ansible/deploy.yml | 3 +- ansible/filter_plugins/tenks.py | 110 ++++++++++---- ansible/flavor_registration.yml | 3 +- ansible/group_vars/all | 5 +- ansible/group_vars/hypervisors | 15 +- ansible/group_vars/libvirt | 8 +- ansible/host_setup.yml | 45 +++++- ansible/host_vars/localhost | 4 + ansible/hypervisor_setup.yml | 34 +++-- ansible/library/tenks_update_state.py | 2 + ansible/node_bmc.yml | 3 +- ansible/node_enrolment.yml | 3 +- ansible/node_instantiation.yml | 7 +- ansible/node_networking.yml | 11 +- ansible/physical_network.yml | 89 +++++++++--- ansible/resource_wait.yml | 50 ++++--- ansible/roles/ironic-enrolment/tasks/main.yml | 51 ++++--- ansible/roles/ironic-enrolment/tasks/node.yml | 23 ++- ansible/roles/ironic-enrolment/tasks/port.yml | 10 +- ansible/roles/veth-pair/README.md | 14 +- ansible/roles/veth-pair/tasks/absent.yml | 28 ++-- ansible/roles/veth-pair/tasks/present.yml | 52 +++++-- ansible/roles/virtualbmc-daemon/README.md | 2 +- .../roles/virtualbmc-daemon/files/requirements.txt | 4 - ansible/roles/virtualbmc-daemon/tasks/main.yml | 81 ++++++++--- .../virtualbmc-daemon/templates/vbmcd.service.j2 | 7 +- ansible/roles/virtualbmc-daemon/vars/Debian.yml | 4 +- ansible/roles/virtualbmc-daemon/vars/RedHat.yml | 5 +- ansible/roles/virtualbmc-domain/README.md | 2 +- .../virtualbmc-domain/library/virtualbmc_domain.py | 161 +++++++++++++++++++++ ansible/roles/virtualbmc-domain/tasks/main.yml | 73 ++-------- .../library/wait_for_resources.py | 5 +- ansible/roles/wait-for-resources/tasks/main.yml | 3 +- ansible/schedule.yml | 21 +-- ansible/teardown.yml | 3 +- playbooks/openvswitch.yml | 49 ------- playbooks/tenks-deploy-teardown/pre.yml | 39 ++++- playbooks/tenks-deploy-teardown/run.yml | 32 +++- .../tasks/ensure_openvswitch.yml | 25 ++++ .../tenks-deploy-teardown/templates/ansible.cfg.j2 | 7 + .../templates/requirements-overrides.yml.j2 | 4 - .../templates/tenks-overrides.yml.j2 | 4 + playbooks/tenks-deploy-teardown/vars/Debian.yml | 4 + playbooks/tenks-deploy-teardown/vars/RedHat.yml | 4 + playbooks/tenks-deploy-teardown/vars/common.yml | 12 +- .../notes/ansible-2.7-2.8-63f01fbf5ab9ba08.yaml | 5 + .../notes/drop-py-2-7-d311573543d0e3ba.yaml | 6 + .../fix-schedule-templating-05e4dcee8a1771b7.yaml | 5 + .../fix-veth-uniqueness-05bf5ebfcd5d4929.yaml | 6 + .../notes/jinja-context-54bce72cab955ca0.yaml | 4 + releasenotes/notes/uefi-7a19ff8a549a3e9e.yaml | 6 + .../virtualbmc-cryptography-03d62a3d1e965197.yaml | 6 + .../notes/virtualbmc-module-f9d40eb9198ca8c0.yaml | 4 + .../notes/virtualbmc-selinux-86a667ba27d9a05e.yaml | 6 + releasenotes/source/1.0.rst | 6 + releasenotes/source/conf.py | 22 +-- releasenotes/source/index.rst | 1 + requirements.txt | 4 +- roles/tenks-ci-prep/tasks/main.yml | 14 -- roles/tenks-diagnostics/files/get_logs.sh | 2 - setup.cfg | 14 +- setup.py | 11 +- test-requirements.txt | 6 +- tox.ini | 41 +++--- zuul.d/base.yaml | 28 +++- zuul.d/jobs.yaml | 75 +++++++++- zuul.d/project.yaml | 48 ++++-- 81 files changed, 1174 insertions(+), 592 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index c7393e4..7b2f0dd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,2 +6 @@ pbr>=2.0 # Apache-2.0 -# NOTE(mgoddard): Ansible 2.8.0 breaks ansible-lint. -ansible>=2.6.0,<2.8.0 # GPLv3 +ansible>=2.7.0,<6.0 # GPLv3 @@ -8,0 +8 @@ os-client-config # Apache-2.0 +selinux # MIT diff --git a/test-requirements.txt b/test-requirements.txt index ab67516..0efc2ea 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -5 +5 @@ -ansible-lint>=3.0.0 # MIT +ansible-lint>=3.0.0,<7 # MIT @@ -8,2 +7,0 @@ flake8>=3.5.0 # MIT -# Required for Python 2 -mock>=2.0.0 # BSD @@ -10,0 +9,2 @@ stestr>=1.0.0 # Apache-2.0 +flake8-import-order>=0.17.1 # LGPLv3 +