diff --git a/.zuul.yaml b/.zuul.yaml index 136bc63..3beefaf 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -1,33 +1,6 @@ --- -- job: - name: tox-molecule-bookworm - parent: tox-molecule - vars: - tox_envlist: molecule-bookworm - -- job: - name: tox-molecule-jammy - parent: tox-molecule - vars: - tox_envlist: molecule-jammy - -- job: - name: tox-molecule-stream9 - parent: tox-molecule - vars: - tox_envlist: molecule-stream9 - - project: - check: - jobs: - - tox-linters - - tox-molecule-bookworm - - tox-molecule-jammy - - tox-molecule-stream9 - gate: - jobs: - - tox-linters - - tox-molecule-bookworm - - tox-molecule-jammy - - tox-molecule-stream9 + templates: + - openstack-ansible-linters-jobs + - openstack-ansible-molecule diff --git a/examples/playbook.yml b/examples/playbook.yml new file mode 100644 index 0000000..8a5be9f --- /dev/null +++ b/examples/playbook.yml @@ -0,0 +1,6 @@ +--- + +- name: Installing frr + hosts: frr + roles: + - role: "frrouting" diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index d51363f..b3d69f4 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -10,8 +10,8 @@ platforms: - name: primary groups: - frr - image: "${docker_user:-quay.io/gotmax23}/${docker_image_tag:-debian-systemd:buster}" - command: ${docker_command:-""} + image: "${DOCKER_REGISTRY:-quay.io/gotmax23}/${DOCKER_IMAGE_TAG:-debian-systemd:bookworm}" + command: ${DOCKER_COMMAND:-""} privileged: true pre_build_image: true networks: @@ -24,8 +24,8 @@ platforms: - name: secondary groups: - frr - image: "${docker_user:-quay.io/gotmax23}/${docker_image_tag:-debian-systemd:buster}" - command: ${docker_command:-""} + image: "${DOCKER_REGISTRY:-quay.io/gotmax23}/${DOCKER_IMAGE_TAG:-debian-systemd:bookworm}" + command: ${DOCKER_COMMAND:-""} privileged: true pre_build_image: true networks: diff --git a/molecule/default/prepare.yml b/molecule/default/prepare.yml index 2262e37..4d828f9 100644 --- a/molecule/default/prepare.yml +++ b/molecule/default/prepare.yml @@ -19,6 +19,7 @@ - ca-certificates - "{{ iproute_package_name[ansible_facts['os_family'] | lower] }}" - "{{ iputils_package_name[ansible_facts['os_family'] | lower] }}" + - sudo - name: Clear gathered facts meta: clear_facts diff --git a/tox.ini b/tox.ini index 5023097..6af587c 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ [tox] -minversion = 3.1 +minversion = 4.0 skipsdist = True -envlist = linters +envlist = linters, molecule ignore_basepython_conflict = True [testenv] @@ -10,7 +10,8 @@ usedevelop = False commands = /usr/bin/find . -type f -name "*.pyc" -delete deps = - -r{toxinidir}/test-requirements.txt + -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} + -rhttps://opendev.org/openstack/openstack-ansible/raw/branch/{env:TEST_BRANCH:master}/test-requirements.txt passenv = COMMON_TESTS_PATH HOME @@ -27,7 +28,7 @@ allowlist_externals = bash setenv = PYTHONUNBUFFERED=1 - TEST_IDEMPOTENCE=false + TEST_IDEMPOTENCE=true VIRTUAL_ENV={envdir} WORKING_DIR={toxinidir} @@ -37,47 +38,20 @@ setenv = ANSIBLE_ROLES_PATH={envdir} commands = ansible-galaxy role install git+file://{toxinidir} --roles-path {envdir} --force - ansible-lint {toxinidir}/molecule/default/playbook.yml + ansible-lint {toxinidir}/examples/playbook.yml yamllint {toxinidir} -[molecule] -deps = - {[testenv]deps} - docker - molecule - molecule-plugins[docker] +[testenv:molecule] +# You can use DOCKER_REGISTRY and DOCKER_IMAGE_TAG to switch between +# tested distros. I.e: +# DOCKER_IMAGE_TAG=ubuntu-systemd:jammy tox -e molecule commands = molecule test -setenv = - {[testenv]setenv} - -[testenv:molecule-bookworm] -deps = - {[molecule]deps} -commands = - {[molecule]commands} -setenv = - {[molecule]setenv} - docker_image_tag=debian-systemd:bookworm - -[testenv:molecule-jammy] -deps = - {[molecule]deps} -commands = - {[molecule]commands} -setenv = - {[molecule]setenv} - docker_image_tag=ubuntu-systemd:jammy - - -[testenv:molecule-stream9] -deps = - {[molecule]deps} -commands = - {[molecule]commands} -setenv = - {[molecule]setenv} - docker_image_tag=centos-systemd:stream9 +passenv = + {[testenv]passenv} + DOCKER_REGISTRY + DOCKER_IMAGE_TAG + DOCKER_COMMAND