Merge "Convert tox to native zuul"
This commit is contained in:
commit
a7ce79fda2
|
@ -14,34 +14,8 @@ From with the project root, creating a skeleton for the new role.
|
||||||
|
|
||||||
$ ansible-galaxy init --role-skeleton=_skeleton_role_ --init-path=tripleo_ansible/roles ${NEWROLENAME}
|
$ ansible-galaxy init --role-skeleton=_skeleton_role_ --init-path=tripleo_ansible/roles ${NEWROLENAME}
|
||||||
|
|
||||||
|
When the role is ready for CI, add a **job** entry into the
|
||||||
Once the new role has been created, and is ready for testing add the role into
|
`zuul.d/molecule.yaml`.
|
||||||
the `tox.ini` file as an test scenario.
|
|
||||||
|
|
||||||
.. code-block:: ini
|
|
||||||
|
|
||||||
[testenv:mol-${NEWROLENAME}]
|
|
||||||
basepython={[testenv:mol]basepython}
|
|
||||||
deps={[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/${NEWROLENAME}
|
|
||||||
envdir = {toxworkdir}/mol
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py
|
|
||||||
|
|
||||||
|
|
||||||
If a given role has more than one scenario to test, the `--scenario` argument
|
|
||||||
can be used to set the scenario accordingly.
|
|
||||||
|
|
||||||
.. code-block:: ini
|
|
||||||
|
|
||||||
[testenv:mol-${NEWROLENAME}-${SCENARIO_2}]
|
|
||||||
basepython={[testenv:mol-${NEWROLENAME}]basepython}
|
|
||||||
deps={[testenv:mol-${NEWROLENAME}]deps}
|
|
||||||
changedir = {[testenv:mol-${NEWROLENAME}]changedir}
|
|
||||||
envdir = {[testenv:mol-${NEWROLENAME}]envdir}
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=${SCENARIO_2}
|
|
||||||
|
|
||||||
|
|
||||||
When the role is ready for CI, add a **job** entry into the `zuul.d/molecule.yaml`.
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
@ -54,8 +28,8 @@ When the role is ready for CI, add a **job** entry into the `zuul.d/molecule.yam
|
||||||
tox_envlist: mol-${NEWROLENAME}
|
tox_envlist: mol-${NEWROLENAME}
|
||||||
|
|
||||||
|
|
||||||
Make sure to add the **job** name into the check and gate section at the top of
|
Make sure to add the **job** name into the check and gate section at the top
|
||||||
the `molecule.yaml` file.
|
of the `molecule.yaml` file.
|
||||||
|
|
||||||
.. code-block:: yaml
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
@ -88,8 +62,8 @@ will perform the basic tasks noted above.
|
||||||
$ ansible-playbook -i localhost, role-addition.yml -e role_name=${NEWROLENAME}
|
$ ansible-playbook -i localhost, role-addition.yml -e role_name=${NEWROLENAME}
|
||||||
|
|
||||||
|
|
||||||
If this playbook is being executed from a virtual-environment be sure to activate
|
If this playbook is being executed from a virtual-environment be sure to
|
||||||
the virtual environment before running the playbook.
|
activate the virtual environment before running the playbook.
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
|
|
|
@ -34,22 +34,6 @@
|
||||||
args:
|
args:
|
||||||
creates: "tripleo_ansible/roles/{{ role_name }}"
|
creates: "tripleo_ansible/roles/{{ role_name }}"
|
||||||
|
|
||||||
- name: Add tox config
|
|
||||||
ini_file:
|
|
||||||
path: tox.ini
|
|
||||||
section: "testenv:mol-{{ role_name }}"
|
|
||||||
option: "{{ item.key }}"
|
|
||||||
value: "{{ item.value }}"
|
|
||||||
with_items:
|
|
||||||
- key: "basepython"
|
|
||||||
value: "{[testenv:mol]basepython}"
|
|
||||||
- key: "deps"
|
|
||||||
value: "{[testenv:mol]deps}"
|
|
||||||
- key: "changedir"
|
|
||||||
value: "{toxinidir}/tripleo_ansible/roles/{{ role_name }}"
|
|
||||||
- key: "commands"
|
|
||||||
value: "python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py"
|
|
||||||
|
|
||||||
- name: Read zuul molecule file
|
- name: Read zuul molecule file
|
||||||
slurp:
|
slurp:
|
||||||
src: zuul.d/molecule.yaml
|
src: zuul.d/molecule.yaml
|
||||||
|
@ -86,7 +70,7 @@
|
||||||
"^tripleo_ansible/roles/" ~ role_name ~ "/.*"
|
"^tripleo_ansible/roles/" ~ role_name ~ "/.*"
|
||||||
],
|
],
|
||||||
"vars": {
|
"vars": {
|
||||||
"tox_envlist": "mol-" ~ role_name
|
"tripleo_role_name": role_name
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
%}
|
%}
|
||||||
|
|
|
@ -54,12 +54,11 @@ PS1="[\u@\h \W]\$" source "${HOME}/test-python/bin/activate"
|
||||||
|
|
||||||
# Run local test
|
# Run local test
|
||||||
source "${PROJECT_DIR}/ansible-test-env.rc"
|
source "${PROJECT_DIR}/ansible-test-env.rc"
|
||||||
|
export ANSIBLE_ROLES_PATH="${ANSIBLE_ROLES_PATH}:${HOME}/zuul-jobs/roles"
|
||||||
ansible-playbook -i "${PROJECT_DIR}/tests/hosts.ini" \
|
ansible-playbook -i "${PROJECT_DIR}/tests/hosts.ini" \
|
||||||
|
-e "tripleo_src=$(realpath --relative-to="${HOME}" "${PROJECT_DIR}")" \
|
||||||
|
-e "tripleo_role_name=${ROLE_NAME}" \
|
||||||
-e "ansible_user=${USER}" \
|
-e "ansible_user=${USER}" \
|
||||||
-e "ansible_user_dir=${HOME}" \
|
-e "ansible_user_dir=${HOME}" \
|
||||||
"${PROJECT_DIR}/tripleo_ansible/playbooks/prepare-test-host.yml"
|
"${PROJECT_DIR}/tripleo_ansible/playbooks/prepare-test-host.yml" \
|
||||||
|
"${PROJECT_DIR}/zuul.d/playbooks/run-local.yml"
|
||||||
# Run test
|
|
||||||
pushd "${PROJECT_DIR}/tripleo_ansible/roles/${ROLE_NAME}"
|
|
||||||
molecule test --all
|
|
||||||
popd
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
test ansible_connection=local
|
test ansible_connection=local ansible_host=localhost
|
||||||
|
|
216
tox.ini
216
tox.ini
|
@ -44,7 +44,8 @@ commands =
|
||||||
|
|
||||||
[testenv:ansible-lint]
|
[testenv:ansible-lint]
|
||||||
envdir = {toxworkdir}/linters
|
envdir = {toxworkdir}/linters
|
||||||
deps = {[testenv:linters]deps}
|
deps =
|
||||||
|
{[testenv:linters]deps}
|
||||||
commands =
|
commands =
|
||||||
bash -c "ansible-galaxy install -fr {toxinidir}/tripleo_ansible/ansible-role-requirements.yml"
|
bash -c "ansible-galaxy install -fr {toxinidir}/tripleo_ansible/ansible-role-requirements.yml"
|
||||||
python -m pre_commit run ansible-lint -a
|
python -m pre_commit run ansible-lint -a
|
||||||
|
@ -75,9 +76,9 @@ commands =
|
||||||
|
|
||||||
[testenv:linters]
|
[testenv:linters]
|
||||||
deps =
|
deps =
|
||||||
{[testenv:mol]deps}
|
|
||||||
-r {toxinidir}/test-requirements.txt
|
|
||||||
-r {toxinidir}/requirements.txt
|
-r {toxinidir}/requirements.txt
|
||||||
|
-r {toxinidir}/test-requirements.txt
|
||||||
|
-r {toxinidir}/molecule-requirements.txt
|
||||||
commands =
|
commands =
|
||||||
{[testenv:pep8]commands}
|
{[testenv:pep8]commands}
|
||||||
{[testenv:ansible-lint]commands}
|
{[testenv:ansible-lint]commands}
|
||||||
|
@ -108,218 +109,9 @@ ignore = D001
|
||||||
commands = {posargs}
|
commands = {posargs}
|
||||||
|
|
||||||
[testenv:role-addition]
|
[testenv:role-addition]
|
||||||
basepython={[testenv:mol]basepython}
|
|
||||||
deps=
|
deps=
|
||||||
{[testenv:mol]deps}
|
|
||||||
{[testenv:linters]deps}
|
{[testenv:linters]deps}
|
||||||
commands =
|
commands =
|
||||||
bash -c "ansible-playbook -i localhost, role-addition.yml -e role_name=skeleton_test"
|
bash -c "ansible-playbook -i localhost, role-addition.yml -e role_name=skeleton_test"
|
||||||
bash -c "pushd {toxinidir}/tripleo_ansible/roles/skeleton_test; molecule test --all; popd"
|
bash -c "pushd {toxinidir}/tripleo_ansible/roles/skeleton_test; molecule test --all; popd"
|
||||||
{[testenv:linters]commands}
|
{[testenv:linters]commands}
|
||||||
|
|
||||||
[testenv:mol] # environment naming scheme "mol-$ROLE_NAME"
|
|
||||||
# basepython forces tox to use system python and avoid other
|
|
||||||
# python versions like pyenv ones
|
|
||||||
basepython=python
|
|
||||||
deps =
|
|
||||||
-r {toxinidir}/molecule-requirements.txt
|
|
||||||
|
|
||||||
[testenv:mol-aide]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/aide
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py
|
|
||||||
|
|
||||||
[testenv:mol-test_deps]
|
|
||||||
basepython={[testenv:mol]basepython}
|
|
||||||
deps={[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/test_deps
|
|
||||||
envdir = {toxworkdir}/mol
|
|
||||||
commands =
|
|
||||||
python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py
|
|
||||||
|
|
||||||
[testenv:mol-test_json_error_callback]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/test_json_error_callback
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py
|
|
||||||
|
|
||||||
[testenv:mol-test_package_action]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/test_package_action
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py
|
|
||||||
|
|
||||||
[testenv:mol-test_package_action-default]
|
|
||||||
basepython = {[testenv:mol-test_package_action]basepython}
|
|
||||||
deps = {[testenv:mol-test_package_action]deps}
|
|
||||||
changedir = {[testenv:mol-test_package_action]changedir}
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=default
|
|
||||||
|
|
||||||
[testenv:mol-test_package_action-negative]
|
|
||||||
basepython = {[testenv:mol-test_package_action]basepython}
|
|
||||||
deps = {[testenv:mol-test_package_action]deps}
|
|
||||||
changedir = {[testenv:mol-test_package_action]changedir}
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=negative
|
|
||||||
|
|
||||||
[testenv:mol-test_package_action-positive]
|
|
||||||
basepython = {[testenv:mol-test_package_action]basepython}
|
|
||||||
deps = {[testenv:mol-test_package_action]deps}
|
|
||||||
changedir = {[testenv:mol-test_package_action]changedir}
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=positive
|
|
||||||
|
|
||||||
[testenv:mol-tuned]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tuned
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-bootstrap]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-bootstrap
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-create-admin]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-create-admin
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-create-admin-default]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-create-admin
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=default
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-create-admin-keyadd]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-create-admin
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=keyadd
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-create-admin-keygen]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-create-admin
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=keygen
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-module-load]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-module-load
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-module-load-default]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-module-load
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=default
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-module-load-remove_module]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-module-load
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=remove_module
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-module-load-legacy_vars]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-module-load
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=legacy_vars
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-ssh-known-hosts]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-ssh-known-hosts
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-ssh-known-hosts-default]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-ssh-known-hosts
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=default
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-ssh-known-hosts-legacy_vars]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-ssh-known-hosts
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=legacy_vars
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-container-tag]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-container-tag
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-container-tag-default]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-container-tag
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=default
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-container-tag-podman]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-container-tag
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=podman
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-container-tag-legacy_vars]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-container-tag
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=legacy_vars
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-container-rm]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-container-rm
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-container-rm-default]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-container-rm
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=default
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-container-rm-docker]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-container-rm
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=docker
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-container-rm-docker_rm]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-container-rm
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=docker_rm
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-container-rm-legacy_vars]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-container-rm
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=legacy_vars
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-image-serve]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-image-serve
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-image-serve-default]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-image-serve
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=default
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-image-serve-legacy_vars]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-image-serve
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py --scenario=legacy_vars
|
|
||||||
|
|
||||||
[testenv:mol-tripleo-transfer]
|
|
||||||
basepython = {[testenv:mol]basepython}
|
|
||||||
deps = {[testenv:mol]deps}
|
|
||||||
changedir = {toxinidir}/tripleo_ansible/roles/tripleo-transfer
|
|
||||||
commands = python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {toxinidir}/tests/test_molecule.py
|
|
||||||
|
|
|
@ -1,21 +1,19 @@
|
||||||
---
|
---
|
||||||
- job:
|
- job:
|
||||||
name: tripleo-ansible-centos
|
description: Base tripleo-ansible job
|
||||||
parent: tox-molecule
|
name: tripleo-ansible-centos-7-base
|
||||||
description: Basic tripleo-ansible tox job
|
|
||||||
timeout: 900
|
|
||||||
nodeset: centos-7
|
nodeset: centos-7
|
||||||
|
parent: base
|
||||||
|
pre-run:
|
||||||
|
- tripleo_ansible/playbooks/prepare-test-host.yml
|
||||||
|
- zuul.d/playbooks/pre.yml
|
||||||
|
run:
|
||||||
|
- zuul.d/playbooks/run.yml
|
||||||
|
timeout: 1800
|
||||||
voting: true
|
voting: true
|
||||||
- job:
|
- job:
|
||||||
name: tripleo-ansible-centos-sudo
|
|
||||||
parent: openstack-tox-with-sudo
|
|
||||||
description: Basic tripleo-ansible tox job with sudo
|
|
||||||
timeout: 900
|
|
||||||
nodeset: centos-7
|
|
||||||
voting: true
|
|
||||||
- job:
|
|
||||||
name: tripleo-ansible-docs
|
|
||||||
parent: openstack-tox-docs
|
|
||||||
files:
|
files:
|
||||||
- ^doc/.*
|
- ^doc/.*
|
||||||
- ^README.rst
|
- ^README.rst
|
||||||
|
name: tripleo-ansible-docs
|
||||||
|
parent: openstack-tox-docs
|
||||||
|
|
|
@ -37,106 +37,101 @@
|
||||||
files:
|
files:
|
||||||
- ^tripleo_ansible/roles/aide/.*
|
- ^tripleo_ansible/roles/aide/.*
|
||||||
name: tripleo-ansible-centos-7-molecule-aide
|
name: tripleo-ansible-centos-7-molecule-aide
|
||||||
parent: tripleo-ansible-centos
|
parent: tripleo-ansible-centos-7-base
|
||||||
vars:
|
vars:
|
||||||
tox_envlist: mol-aide
|
tripleo_role_name: aide
|
||||||
- job:
|
- job:
|
||||||
files:
|
files:
|
||||||
- ^tripleo_ansible/roles/test_deps/.*
|
- ^tripleo_ansible/roles/test_deps/.*
|
||||||
name: tripleo-ansible-centos-7-molecule-test_deps
|
name: tripleo-ansible-centos-7-molecule-test_deps
|
||||||
parent: tripleo-ansible-centos
|
parent: tripleo-ansible-centos-7-base
|
||||||
vars:
|
vars:
|
||||||
tox_envlist: mol-test_deps
|
tripleo_role_name: test_deps
|
||||||
- job:
|
- job:
|
||||||
files:
|
files:
|
||||||
- ^tripleo_ansible/roles/test_json_error_callback/.*
|
- ^tripleo_ansible/roles/test_json_error_callback/.*
|
||||||
name: tripleo-ansible-centos-7-molecule-test_json_error_callback
|
name: tripleo-ansible-centos-7-molecule-test_json_error_callback
|
||||||
parent: tripleo-ansible-centos
|
parent: tripleo-ansible-centos-7-base
|
||||||
vars:
|
vars:
|
||||||
tox_envlist: mol-test_json_error_callback
|
tripleo_role_name: test_json_error_callback
|
||||||
- job:
|
- job:
|
||||||
files:
|
files:
|
||||||
- ^tripleo_ansible/ansible_plugins/action/package.py
|
- ^tripleo_ansible/ansible_plugins/action/package.py
|
||||||
- ^tripleo_ansible/roles/test_package_action/.*
|
- ^tripleo_ansible/roles/test_package_action/.*
|
||||||
name: tripleo-ansible-centos-7-molecule-test_package_action
|
name: tripleo-ansible-centos-7-molecule-test_package_action
|
||||||
parent: tripleo-ansible-centos
|
parent: tripleo-ansible-centos-7-base
|
||||||
vars:
|
vars:
|
||||||
tox_envlist: mol-test_package_action
|
tripleo_role_name: test_package_action
|
||||||
- job:
|
- job:
|
||||||
files:
|
files:
|
||||||
- ^tripleo_ansible/roles/tripleo-bootstrap/.*
|
- ^tripleo_ansible/roles/tripleo-bootstrap/.*
|
||||||
name: tripleo-ansible-centos-7-molecule-tripleo-bootstrap
|
name: tripleo-ansible-centos-7-molecule-tripleo-bootstrap
|
||||||
parent: tripleo-ansible-centos
|
parent: tripleo-ansible-centos-7-base
|
||||||
timeout: 1800
|
|
||||||
vars:
|
vars:
|
||||||
tox_envlist: mol-tripleo-bootstrap
|
tripleo_role_name: tripleo-bootstrap
|
||||||
- job:
|
- job:
|
||||||
files:
|
files:
|
||||||
- ^tripleo_ansible/roles/tuned/.*
|
- ^tripleo_ansible/roles/tuned/.*
|
||||||
name: tripleo-ansible-centos-7-molecule-tuned
|
name: tripleo-ansible-centos-7-molecule-tuned
|
||||||
parent: tripleo-ansible-centos
|
parent: tripleo-ansible-centos-7-base
|
||||||
vars:
|
vars:
|
||||||
tox_envlist: mol-tuned
|
tripleo_role_name: tuned
|
||||||
- job:
|
- job:
|
||||||
files:
|
files:
|
||||||
- ^_skeleton_role_/.*
|
- ^_skeleton_role_/.*
|
||||||
- ^role-addition.yml
|
- ^role-addition.yml
|
||||||
name: tripleo-ansible-centos-7-role-addition
|
name: tripleo-ansible-centos-7-role-addition
|
||||||
parent: tripleo-ansible-centos
|
nodeset: centos-7
|
||||||
|
parent: openstack-tox
|
||||||
|
timeout: 1800
|
||||||
vars:
|
vars:
|
||||||
tox_envlist: role-addition
|
tox_envlist: role-addition
|
||||||
- job:
|
- job:
|
||||||
files:
|
files:
|
||||||
- ^tripleo_ansible/roles/tripleo-create-admin/.*
|
- ^tripleo_ansible/roles/tripleo-create-admin/.*
|
||||||
name: tripleo-ansible-centos-7-molecule-tripleo-create-admin
|
name: tripleo-ansible-centos-7-molecule-tripleo-create-admin
|
||||||
parent: tripleo-ansible-centos
|
parent: tripleo-ansible-centos-7-base
|
||||||
timeout: 1800
|
|
||||||
vars:
|
vars:
|
||||||
tox_envlist: mol-tripleo-create-admin
|
tripleo_role_name: tripleo-create-admin
|
||||||
- job:
|
- job:
|
||||||
files:
|
files:
|
||||||
- ^tripleo_ansible/roles/tripleo-module-load/.*
|
- ^tripleo_ansible/roles/tripleo-module-load/.*
|
||||||
name: tripleo-ansible-centos-7-molecule-tripleo-module-load
|
name: tripleo-ansible-centos-7-molecule-tripleo-module-load
|
||||||
parent: tripleo-ansible-centos
|
parent: tripleo-ansible-centos-7-base
|
||||||
timeout: 1800
|
|
||||||
vars:
|
vars:
|
||||||
tox_envlist: mol-tripleo-module-load
|
tripleo_role_name: tripleo-module-load
|
||||||
- job:
|
- job:
|
||||||
files:
|
files:
|
||||||
- ^tripleo_ansible/roles/tripleo-ssh-known-hosts/.*
|
- ^tripleo_ansible/roles/tripleo-ssh-known-hosts/.*
|
||||||
name: tripleo-ansible-centos-7-molecule-tripleo-ssh-known-hosts
|
name: tripleo-ansible-centos-7-molecule-tripleo-ssh-known-hosts
|
||||||
parent: tripleo-ansible-centos
|
parent: tripleo-ansible-centos-7-base
|
||||||
vars:
|
vars:
|
||||||
tox_envlist: mol-tripleo-ssh-known-hosts
|
tripleo_role_name: tripleo-ssh-known-hosts
|
||||||
- job:
|
- job:
|
||||||
files:
|
files:
|
||||||
- ^tripleo_ansible/roles/tripleo-container-tag/.*
|
- ^tripleo_ansible/roles/tripleo-container-tag/.*
|
||||||
name: tripleo-ansible-centos-7-molecule-tripleo-container-tag
|
name: tripleo-ansible-centos-7-molecule-tripleo-container-tag
|
||||||
parent: tripleo-ansible-centos-sudo
|
parent: tripleo-ansible-centos-7-base
|
||||||
pre-run:
|
|
||||||
- tripleo_ansible/playbooks/prepare-test-host.yml
|
|
||||||
vars:
|
vars:
|
||||||
tox_envlist: mol-tripleo-container-tag
|
tripleo_role_name: tripleo-container-tag
|
||||||
- job:
|
- job:
|
||||||
files:
|
files:
|
||||||
- ^tripleo_ansible/roles/tripleo-container-rm/.*
|
- ^tripleo_ansible/roles/tripleo-container-rm/.*
|
||||||
name: tripleo-ansible-centos-7-molecule-tripleo-container-rm
|
name: tripleo-ansible-centos-7-molecule-tripleo-container-rm
|
||||||
parent: tripleo-ansible-centos-sudo
|
parent: tripleo-ansible-centos-7-base
|
||||||
pre-run:
|
|
||||||
- tripleo_ansible/playbooks/prepare-test-host.yml
|
|
||||||
vars:
|
vars:
|
||||||
tox_envlist: mol-tripleo-container-rm
|
tripleo_role_name: tripleo-container-rm
|
||||||
- job:
|
- job:
|
||||||
files:
|
files:
|
||||||
- ^tripleo_ansible/roles/tripleo-image-serve/.*
|
- ^tripleo_ansible/roles/tripleo-image-serve/.*
|
||||||
name: tripleo-ansible-centos-7-molecule-tripleo-image-serve
|
name: tripleo-ansible-centos-7-molecule-tripleo-image-serve
|
||||||
parent: tripleo-ansible-centos
|
parent: tripleo-ansible-centos-7-base
|
||||||
vars:
|
vars:
|
||||||
tox_envlist: mol-tripleo-image-serve
|
tripleo_role_name: tripleo-image-serve
|
||||||
- job:
|
- job:
|
||||||
files:
|
files:
|
||||||
- ^tripleo_ansible/roles/tripleo-transfer/.*
|
- ^tripleo_ansible/roles/tripleo-transfer/.*
|
||||||
name: tripleo-ansible-centos-7-molecule-tripleo-transfer
|
name: tripleo-ansible-centos-7-molecule-tripleo-transfer
|
||||||
parent: tripleo-ansible-centos
|
parent: tripleo-ansible-centos-7-base
|
||||||
vars:
|
vars:
|
||||||
tox_envlist: mol-tripleo-transfer
|
tripleo_role_name: tripleo-transfer
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- hosts: all
|
||||||
|
pre_tasks:
|
||||||
|
- name: Ensure output dirs
|
||||||
|
file:
|
||||||
|
path: "{{ ansible_user_dir }}/zuul-output/logs"
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Setup bindep
|
||||||
|
pip:
|
||||||
|
name: "bindep"
|
||||||
|
virtualenv: "{{ ansible_user_dir }}/test-python"
|
||||||
|
virtualenv_site_packages: true
|
||||||
|
|
||||||
|
- name: Run bindep
|
||||||
|
shell: |-
|
||||||
|
. {{ ansible_user_dir }}/test-python/bin/activate
|
||||||
|
{{ ansible_user_dir }}/{{ zuul.project.src_dir }}/scripts/bindep-install
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Setup test-python
|
||||||
|
pip:
|
||||||
|
requirements: "{{ ansible_user_dir }}/{{ zuul.project.src_dir }}/molecule-requirements.txt"
|
||||||
|
virtualenv: "{{ ansible_user_dir }}/test-python"
|
||||||
|
virtualenv_site_packages: true
|
||||||
|
roles:
|
||||||
|
- role: install-docker
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- hosts: all
|
||||||
|
tasks:
|
||||||
|
- name: set basic zuul fact
|
||||||
|
set_fact:
|
||||||
|
zuul:
|
||||||
|
project:
|
||||||
|
src_dir: "{{ tripleo_src }}"
|
||||||
|
ansible_connection: ssh
|
||||||
|
|
||||||
|
- import_playbook: pre.yml
|
||||||
|
|
||||||
|
- import_playbook: run.yml
|
|
@ -0,0 +1,18 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- hosts: all
|
||||||
|
environment:
|
||||||
|
ANSIBLE_LOG_PATH: "{{ ansible_user_dir }}/zuul-output/logs/ansible-execution.log"
|
||||||
|
tasks:
|
||||||
|
- name: Run role test job
|
||||||
|
shell: |-
|
||||||
|
. {{ ansible_user_dir }}/test-python/bin/activate
|
||||||
|
. {{ ansible_user_dir }}/{{ zuul.project.src_dir }}/ansible-test-env.rc
|
||||||
|
pytest --color=no \
|
||||||
|
--html={{ ansible_user_dir }}/zuul-output/logs/reports.html \
|
||||||
|
--self-contained-html \
|
||||||
|
-s \
|
||||||
|
{{ ansible_user_dir }}/{{ zuul.project.src_dir }}/tests/test_molecule.py
|
||||||
|
args:
|
||||||
|
chdir: "{{ ansible_user_dir }}/{{ zuul.project.src_dir }}/tripleo_ansible/roles/{{ tripleo_role_name }}"
|
||||||
|
executable: /bin/bash
|
Loading…
Reference in New Issue