We are overjoyed to announce the release of: tripleo-validations 14.2.0: A collection of Ansible playbooks to detect and report potential issues during TripleO deployments This release is part of the wallaby stable release series. The source is available from: https://opendev.org/openstack/tripleo-validations Download the package from: https://tarballs.openstack.org/tripleo-validations/ Please report issues through: https://bugs.launchpad.net/tripleo/+bugs For more details, please see below. 14.2.0 ^^^^^^ New Features * RHEL-8.3 kernel disabled the Intel “TSX” (Transactional Synchronization Extensions) feature by default as a preemptive security measure, but it breaks live migration from RHEL-7.9 (or even RHEL-8.1 or RHEL-8.2) to RHEL-8.3. Operators are expected to explicitly define the TSX flag in their KernelArgs for the compute role to prevent live-migration issues during the upgrade process. This also impacts upstream CentOS systems. Changes in tripleo-validations 14.1.1..14.2.0 --------------------------------------------- cc29577 Sort jobs in molecule.yaml file when adding new role f798c56 Add zuul.d/molecule.yaml file back in the yamllint ignore list 253a16d Migrate back haproxy validation to tripleo-validations d2571bc Enabling indentation rule for yamllint. 1d166b0 Use OS_CLOUD environment variable fab6429 Introducing the oslo_config_validator role 4584764 Allow comments in variable files to be rendered in docs f76cfcf Use and ownership info for the ip_range module. 149b72e Use and ownership info for the check_flavors module d21830f Use and ownership info for the pacemaker module af65fae Use and ownership info for the node_disk module. 7db51a0 Use and ownership info for the icmp_ping module. 51185ee Use and ownership info for the ovs_dpdk_pmd_cpus_check module. 785219e Use and ownership info for the ceph_pools_pg_protection module 3ab651d Use and ownership info for the verify_profiles module 8c1a983 Use and ownership info for the network_environment module ad9c8b3 Use and ownership info for the switch_vlans module 74c30cf Compute TSX validation 9923eda Remove the post-update groups. 99acc1c Add Validation Development Workflow Documentation 19bb19e Introduce new Ansible validation_init role. f3cba82 Remove workaround for tox-ansible and global molecule config 98cdbd0 Quick documentation content reorganization bdae1d3 Update TOX_CONSTRAINTS_FILE for stable/wallaby eda796e Use validation_component for Standalone CI jobs e50c193 Bump molecule to 3.3.1 d619eff requirements-check enabled 46ee49a Trigger molecule jobs when modifying molecule-requirements.txt file 6a3081b Add shared configuration for all molecule test 8821e60 Removing python-tripleoclient 37b8a4b Update .gitreview for stable/wallaby 306d4ff [overcloud-service-status] Removing pre-upgrade Diffstat (except docs and test files) ------------------------------------- .config/molecule/Dockerfile | 35 + .config/molecule/config.yml | 70 ++ .gitreview | 1 + .yamllint | 7 +- CONTRIBUTING.rst | 57 +- README.rst | 10 +- _skeleton_role_/molecule/default/Dockerfile | 37 - _skeleton_role_/molecule/default/molecule.yml | 49 -- ci/playbooks/pre.yml | 19 - ci/playbooks/run.yml | 2 +- .../developer_guide.rst} | 365 ++++++--- .../modules/modules-tripleo_haproxy_conf.rst | 14 + .../roles/role-check_for_dangling_images.rst | 8 +- library/ceph_pools_pg_protection.py | 38 +- library/check_flavors.py | 6 +- library/icmp_ping.py | 6 +- library/ip_range.py | 6 +- library/network_environment.py | 11 +- library/node_disks.py | 5 +- library/ovs_dpdk_pmd_cpus_check.py | 6 +- library/pacemaker.py | 6 +- library/switch_vlans.py | 6 +- library/tripleo_haproxy_conf.py | 108 +++ library/verify_profiles.py | 6 +- molecule-requirements.txt | 5 +- playbooks/check-uc-hostname.yaml | 1 - playbooks/compute-tsx.yaml | 31 + playbooks/oslo-config-validator.yaml | 61 ++ playbooks/overcloud-service-status.yaml | 1 - playbooks/tripleo-haproxy.yaml | 26 + .../compute-tsx-validation-5d976a3fc5166536.yaml | 13 + requirements.txt | 1 - role-addition.yml | 141 +--- .../molecule/ceph-ansible-installed/Dockerfile | 37 - .../molecule/ceph-ansible-installed/molecule.yml | 53 +- roles/ceph/molecule/default/Dockerfile | 37 - roles/ceph/molecule/default/molecule.yml | 50 +- .../molecule/default/Dockerfile | 35 - .../molecule/default/molecule.yml | 48 +- .../molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 50 +- .../molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 35 +- .../check_rhsm_version/molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 51 +- .../molecule/rhsm_mismatch/Dockerfile | 37 - .../molecule/rhsm_mismatch/molecule.yml | 53 +- .../check_uc_hostname/molecule/default/Dockerfile | 35 - .../molecule/default/molecule.yml | 50 +- .../molecule/config_OK/Dockerfile | 37 - .../molecule/config_OK/molecule.yml | 53 +- .../molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 53 +- .../molecule/deprecated_drivers/Dockerfile | 37 - .../molecule/deprecated_drivers/molecule.yml | 53 +- .../molecule/deprecated_params/Dockerfile | 37 - .../molecule/deprecated_params/molecule.yml | 53 +- .../molecule/required_missing/Dockerfile | 37 - .../molecule/required_missing/molecule.yml | 53 +- .../molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 50 +- roles/compute_tsx/README.md | 64 ++ roles/compute_tsx/defaults/main.yml | 26 + roles/compute_tsx/molecule/default/converge.yml | 79 ++ roles/compute_tsx/molecule/default/molecule.yml | 3 + roles/compute_tsx/tasks/main.yml | 82 ++ roles/compute_tsx/vars/main.yml | 23 + roles/container_status/molecule/default/Dockerfile | 37 - .../container_status/molecule/default/molecule.yml | 50 +- roles/controller_token/molecule/default/Dockerfile | 37 - .../controller_token/molecule/default/molecule.yml | 50 +- .../controller_ulimits/molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 50 +- .../ctlplane_ip_range/molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 50 +- roles/dhcp_validations/molecule/default/Dockerfile | 37 - .../dhcp_validations/molecule/default/molecule.yml | 50 +- roles/frr_status/molecule/default/Dockerfile | 37 - roles/frr_status/molecule/default/molecule.yml | 50 +- roles/frr_status/molecule/faulty/Dockerfile | 37 - roles/frr_status/molecule/faulty/molecule.yml | 50 +- .../molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 50 +- roles/image_serve/molecule/default/Dockerfile | 37 - roles/image_serve/molecule/default/molecule.yml | 38 +- .../molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 50 +- .../molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 50 +- .../molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 50 +- .../molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 50 +- roles/node_disks/molecule/default/Dockerfile | 37 - roles/node_disks/molecule/default/molecule.yml | 50 +- roles/node_health/molecule/default/Dockerfile | 37 - roles/node_health/molecule/default/molecule.yml | 50 +- .../molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 50 +- roles/nova_status/molecule/default/Dockerfile | 37 - roles/nova_status/molecule/default/molecule.yml | 50 +- roles/nova_svirt/molecule/default/Dockerfile | 37 - roles/nova_svirt/molecule/default/molecule.yml | 50 +- .../molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 50 +- .../molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 50 +- roles/oslo_config_validator/defaults/main.yml | 387 +++++++++ .../molecule/default/molecule.yml | 35 + .../molecule/mocked_failure/molecule.yml | 25 + .../resources/library/podman_container.py | 903 +++++++++++++++++++++ .../resources/library/podman_container_info.py | 71 ++ .../resources/playbooks/converge.yml | 35 + .../resources/playbooks/prepare.yml | 30 + .../tasks/build_validation_config.yml | 166 ++++ .../oslo_config_validator/tasks/container_run.yml | 121 +++ .../tasks/invalidate_config.yml | 76 ++ roles/oslo_config_validator/tasks/main.yml | 72 ++ .../tasks/opt_data_format.yml | 66 ++ .../tasks/report_generation.yml | 90 ++ .../tasks/validate_config.yml | 68 ++ .../tasks/validation_command.yml | 97 +++ roles/oslo_config_validator/vars/main.yml | 44 + .../molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 38 +- .../molecule/deprecated_services/Dockerfile | 37 - .../molecule/deprecated_services/molecule.yml | 38 +- .../molecule/down_services/Dockerfile | 37 - .../molecule/down_services/molecule.yml | 38 +- roles/overcloud_service_status/vars/main.yml | 1 - roles/ovs_dpdk_pmd/molecule/default/Dockerfile | 37 - roles/ovs_dpdk_pmd/molecule/default/molecule.yml | 50 +- roles/pacemaker_status/molecule/default/Dockerfile | 37 - .../pacemaker_status/molecule/default/molecule.yml | 50 +- roles/package_version/molecule/default/Dockerfile | 37 - .../package_version/molecule/default/molecule.yml | 50 +- roles/rabbitmq_limits/molecule/default/Dockerfile | 37 - .../rabbitmq_limits/molecule/default/molecule.yml | 50 +- roles/repos/molecule/default/Dockerfile | 37 - roles/repos/molecule/default/molecule.yml | 50 +- roles/stack_health/molecule/default/Dockerfile | 37 - roles/stack_health/molecule/default/molecule.yml | 50 +- roles/stonith_exists/molecule/default/Dockerfile | 37 - roles/stonith_exists/molecule/default/molecule.yml | 50 +- roles/switch_vlans/molecule/default/Dockerfile | 37 - roles/switch_vlans/molecule/default/molecule.yml | 50 +- roles/system_encoding/molecule/default/Dockerfile | 37 - .../system_encoding/molecule/default/molecule.yml | 50 +- roles/tls_everywhere/molecule/default/Dockerfile | 37 - roles/tls_everywhere/molecule/default/molecule.yml | 35 +- roles/tripleo_haproxy/defaults/main.yml | 21 + .../tripleo_haproxy/molecule/default/converge.yml | 71 ++ .../tripleo_haproxy/molecule/default/molecule.yml | 3 + roles/tripleo_haproxy/tasks/main.yml | 56 ++ roles/undercloud_debug/molecule/default/Dockerfile | 37 - .../undercloud_debug/molecule/default/molecule.yml | 50 +- .../molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 50 +- .../molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 50 +- .../molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 50 +- .../molecule/default/Dockerfile | 37 - .../molecule/default/molecule.yml | 50 +- .../non-persistent-token-format/Dockerfile | 37 - .../non-persistent-token-format/molecule.yml | 50 +- roles/validation_init/README.md | 47 ++ roles/validation_init/defaults/main.yml | 28 + .../files/_skeleton_role_}/defaults/main.yml.j2 | 2 +- .../files/_skeleton_role_}/handlers/main.yml | 2 +- .../molecule/default/converge.yml.j2 | 2 +- .../_skeleton_role_/molecule/default/molecule.yml | 3 + .../_skeleton_role_/molecule/default/prepare.yml | 25 + .../_skeleton_role_/molecule/default/verify.yml | 24 + .../files/_skeleton_role_}/tasks/main.yml.j2 | 2 +- .../files/_skeleton_role_}/vars/main.yml.j2 | 2 +- .../validation_init/molecule/default/converge.yml | 62 ++ .../validation_init/molecule/default/molecule.yml | 3 + roles/validation_init/molecule/default/prepare.yml | 96 +++ roles/validation_init/molecule/default/verify.yml | 137 ++++ roles/validation_init/tasks/main.yml | 185 +++++ roles/validation_init/templates/README.md.j2 | 39 + scripts/tripleo-ansible-inventory | 4 +- test-requirements.txt | 1 - tox.ini | 8 +- zuul.d/base.yaml | 2 +- zuul.d/layout.yaml | 1 + zuul.d/molecule.yaml | 364 ++++++--- 207 files changed, 4939 insertions(+), 5085 deletions(-) Requirements updates -------------------- diff --git a/molecule-requirements.txt b/molecule-requirements.txt index ebd0bdd..c5a69f4 100644 --- a/molecule-requirements.txt +++ b/molecule-requirements.txt @@ -4,2 +4,3 @@ ansible>=2.8,!=2.8.9,!=2.9.12,<2.10.0 -jinja2>=2.8.0,<3 -molecule>=3.0,<3.1 +jinja2>=2.8.0 +molecule>=3.3.1,<4 # MIT +molecule-podman # MIT diff --git a/requirements.txt b/requirements.txt index 7c0b81b..4acdf4e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13 +12,0 @@ python-ironic-inspector-client>=3.1.1 # Apache-2.0 -python-tripleoclient>=15.0.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index fa524d1..fbb1c7e 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -20 +19,0 @@ requests-mock>=1.8.0 # Apache-2.0 -python-tripleoclient>=15.0.0 # Apache-2.0