diff --git a/_skeleton_role_/defaults/main.yml.j2 b/_skeleton_role_/defaults/main.yml.j2 index 686551500..7e0e13ce7 100644 --- a/_skeleton_role_/defaults/main.yml.j2 +++ b/_skeleton_role_/defaults/main.yml.j2 @@ -19,3 +19,4 @@ # All variables within this role should have a prefix of "{{ role_name }}" {{ role_name }}_debug: false + diff --git a/_skeleton_role_/meta/main.yml.j2 b/_skeleton_role_/meta/main.yml.j2 index 5d53d3bba..b8233a2f4 100644 --- a/_skeleton_role_/meta/main.yml.j2 +++ b/_skeleton_role_/meta/main.yml.j2 @@ -42,3 +42,4 @@ galaxy_info: # List your role dependencies here, one per line. Be sure to remove the '[]' above, # if you add dependencies to this list. dependencies: [] + diff --git a/_skeleton_role_/molecule/default/Dockerfile.j2 b/_skeleton_role_/molecule/default/Dockerfile.j2 index 4475353b9..d18ed1764 100644 --- a/_skeleton_role_/molecule/default/Dockerfile.j2 +++ b/_skeleton_role_/molecule/default/Dockerfile.j2 @@ -35,3 +35,4 @@ RUN easy_install {{ pkg }} {% endraw %} CMD ["sh", "-c", "while true; do sleep 10000; done"] + diff --git a/_skeleton_role_/molecule/default/playbook.yml.j2 b/_skeleton_role_/molecule/default/playbook.yml.j2 index 8d823ecb6..0a22b2a1b 100644 --- a/_skeleton_role_/molecule/default/playbook.yml.j2 +++ b/_skeleton_role_/molecule/default/playbook.yml.j2 @@ -19,3 +19,4 @@ hosts: all roles: - role: "{{ role_name }}" + diff --git a/_skeleton_role_/tasks/main.yml b/_skeleton_role_/tasks/main.yml.j2 similarity index 98% rename from _skeleton_role_/tasks/main.yml rename to _skeleton_role_/tasks/main.yml.j2 index 749bfdfe4..dff12fc30 100644 --- a/_skeleton_role_/tasks/main.yml +++ b/_skeleton_role_/tasks/main.yml.j2 @@ -16,6 +16,7 @@ # "{{ role_name }}" will search for and load any operating system variable file +{% raw %} # found within the "vars/" path. If no OS files are found the task will skip. - name: Gather variables for each operating system include_vars: "{{ item }}" @@ -30,3 +31,4 @@ - "{{ ansible_os_family | lower }}.yml" tags: - always +{% endraw %} diff --git a/tox.ini b/tox.ini index b413d98bc..354a23c2f 100644 --- a/tox.ini +++ b/tox.ini @@ -104,6 +104,16 @@ ignore = D001 [testenv:venv] commands = {posargs} +[testenv:role-addition] +basepython={[testenv:mol]basepython} +deps= + {[testenv:mol]deps} + {[testenv:linters]deps} +commands = + 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" + {[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 diff --git a/zuul.d/molecule.yaml b/zuul.d/molecule.yaml index 4c2de6068..83d346550 100644 --- a/zuul.d/molecule.yaml +++ b/zuul.d/molecule.yaml @@ -6,12 +6,14 @@ - tripleo-ansible-centos-7-molecule-test_deps - tripleo-ansible-centos-7-molecule-test_package_action - tripleo-ansible-centos-7-molecule-tuned + - tripleo-ansible-centos-7-role-addition gate: jobs: - tripleo-ansible-centos-7-molecule-aide - tripleo-ansible-centos-7-molecule-test_deps - tripleo-ansible-centos-7-molecule-test_package_action - tripleo-ansible-centos-7-molecule-tuned + - tripleo-ansible-centos-7-role-addition name: tripleo-ansible-molecule-jobs - job: files: @@ -42,3 +44,11 @@ parent: tripleo-ansible-centos vars: tox_envlist: mol-tuned +- job: + files: + - ^_skeleton_role_/.* + - ^role-addition.yml + name: tripleo-ansible-centos-7-role-addition + parent: tripleo-ansible-centos + vars: + tox_envlist: role-addition