We enthusiastically announce the release of: tripleo-validations 11.5.0: A collection of Ansible playbooks to detect and report potential issues during TripleO deployments This release is part of the train 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. 11.5.0 ^^^^^^ New Features * Introducing the overcloud_service_status role. This role will hit the overcloud API for nova and cinder, retrieve the services and will trig a failure if one of these services are either down or deprecated. The original intent was to validate that nova- consoleauth was deleted after an update to RHOSP16. Changes in tripleo-validations 11.4.0..11.5.0 --------------------------------------------- 1a73733 Introduce tox-ansible to tripleo-validations c21e1df Remove linters dependency from content-provider in gate 24de593 Use the UBI8 image for testing 0e39ac0 Fix molecule jobs after release of cryptography3.4 46cee61 Optionally fail ceph-health if HEALTH_WARN 3eec83e Introducing the overcloud-service-status role 4d847f6 [autodoc] guessing converge playbook e96b939 [train-only]Tox now checks proper upper constraints file f79d6f7 Generate inventory without any overcloud 2467f84 Restore layout.yaml file 8274f9c Remove useless __init__.py file in library Diffstat (except docs and test files) ------------------------------------- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 _skeleton_role_/molecule/default/molecule.yml | 37 ++--- ansible-test-env.rc | 7 +- bindep.txt | 11 ++ library/__init__.py | 0 molecule-requirements.txt | 1 - playbooks/overcloud-service-status.yaml | 18 +++ ...-overcloud-service-status-128bf74993d035fa.yaml | 8 + role-addition.yml | 4 +- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../molecule/default/molecule.yml | 36 +++-- roles/ceph/defaults/main.yml | 1 + .../molecule/ceph-ansible-installed/molecule.yml | 39 ++--- .../molecule/ceph-ansible-installed/prepare.yml | 2 +- roles/ceph/molecule/default/molecule.yml | 37 +++-- roles/ceph/tasks/ceph-health.yaml | 7 + .../molecule/default/Dockerfile | 2 +- .../molecule/default/molecule.yml | 37 +++-- .../molecule/default/molecule.yml | 28 +++- .../molecule/rhsm_mismatch/molecule.yml | 30 +++- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../container_status/molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../controller_token/molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../molecule/default/converge.yml | 24 ++- .../molecule/default/molecule.yml | 41 ++--- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../molecule/default/molecule.yml | 37 +++-- .../ctlplane_ip_range/molecule/default/prepare.yml | 5 + .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../dhcp_validations/molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 roles/image_serve/molecule/default/molecule.yml | 43 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../molecule/default/molecule.yml | 38 ++--- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 roles/node_disks/molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 roles/node_health/molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 roles/nova_status/molecule/default/molecule.yml | 37 +++-- roles/nova_svirt/molecule/default/molecule.yml | 37 ++--- roles/nova_svirt/molecule/default/prepare.yml | 5 + .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../molecule/default/molecule.yml | 37 +++-- roles/overcloud_service_status/README.md | 47 ++++++ .../overcloud_service_status/defaults/main.yml | 12 ++ .../molecule/default/Dockerfile | 37 +++++ .../molecule/default/molecule.yml | 54 +++++++ .../molecule/deprecated_services/Dockerfile | 37 +++++ .../molecule/deprecated_services/molecule.yml | 54 +++++++ .../molecule/down_services/Dockerfile | 37 +++++ .../molecule/down_services/molecule.yml | 54 +++++++ roles/overcloud_service_status/resources/README.md | 1 + .../resources/playbooks/converge.yml} | 20 ++- .../resources/playbooks/prepare.yml | 12 ++ .../resources/scripts/http_server.py | 175 +++++++++++++++++++++ roles/overcloud_service_status/tasks/main.yml | 48 ++++++ .../overcloud_service_status/tasks/os_service.yml | 82 ++++++++++ roles/overcloud_service_status/vars/main.yml | 32 ++++ .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 roles/ovs_dpdk_pmd/molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../pacemaker_status/molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../rabbitmq_limits/molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 roles/repos/molecule/default/molecule.yml | 36 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 roles/stack_health/molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 roles/stonith_exists/molecule/default/molecule.yml | 36 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 roles/switch_vlans/molecule/default/molecule.yml | 37 +++-- .../system_encoding/molecule/default/molecule.yml | 37 ++--- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 roles/tls_everywhere/molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../undercloud_debug/molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../molecule/default/molecule.yml | 36 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../molecule/default/molecule.yml | 41 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../molecule/default/molecule.yml | 37 +++-- .../molecule/default/{Dockerfile.j2 => Dockerfile} | 0 .../molecule/default/molecule.yml | 41 +++-- .../{Dockerfile.j2 => Dockerfile} | 0 .../non-persistent-token-format/molecule.yml | 41 +++-- scripts/run-local-test | 11 +- scripts/tripleo-ansible-inventory | 47 ++++-- tools/test-setup.sh | 8 - tox.ini | 9 +- tripleo_validations/constants.py | 18 +++ tripleo_validations/utils.py | 29 +++- zuul.d/layout.yaml | 16 +- zuul.d/layout.yaml.bak | 36 ----- zuul.d/molecule.yaml | 8 + zuul.d/playbooks/pre.yml | 102 ++++++++++-- zuul.d/playbooks/run-local.yml | 5 +- 120 files changed, 1954 insertions(+), 813 deletions(-) Requirements updates -------------------- diff --git a/molecule-requirements.txt b/molecule-requirements.txt index 06f6ca8..8f2ec10 100644 --- a/molecule-requirements.txt +++ b/molecule-requirements.txt @@ -4 +3,0 @@ ansible -docker