From 5b8cd3a203ccbfa51b7415f1b0871705a1864566 Mon Sep 17 00:00:00 2001 From: Sorin Sbarnea Date: Thu, 9 Jan 2020 15:38:20 +0100 Subject: [PATCH] Enable molecule placeholder test A follow-up will also add effective testing of the role, as it requires additional changes. Change-Id: I89b41cb0762ba063dc4e2f1d4042d1261fa1e8de --- roles/build-test-packages/meta/main.yml | 19 +++++++++++++++++ .../molecule/default/molecule.yml | 21 +++++++++++++++++++ .../molecule/default/playbook.yml | 3 +++ .../molecule/default/verify.yml | 3 +++ setup.cfg | 6 +++++- tox.ini | 15 +++++++++++++ zuul.d/layout.yaml | 6 ++++++ 7 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 roles/build-test-packages/molecule/default/molecule.yml create mode 100644 roles/build-test-packages/molecule/default/playbook.yml create mode 100644 roles/build-test-packages/molecule/default/verify.yml diff --git a/roles/build-test-packages/meta/main.yml b/roles/build-test-packages/meta/main.yml index 98bfef3b5..bd990ac59 100644 --- a/roles/build-test-packages/meta/main.yml +++ b/roles/build-test-packages/meta/main.yml @@ -1,3 +1,22 @@ --- +galaxy_info: + author: Red Hat + description: | + An Ansible role for generating custom RPMSs from upstream Gerrit changes in + the TripleO project using DLRN. This repo then can be injected in the tested + environment, a repo file created and a yum update should start using the + built RPMs. + license: Apache + platforms: + - name: CentOS + versions: + - 7 + - 8 + - name: EL + versions: + - 7 + - 8 + min_ansible_version: 2.8 + dependencies: - extras-common diff --git a/roles/build-test-packages/molecule/default/molecule.yml b/roles/build-test-packages/molecule/default/molecule.yml new file mode 100644 index 000000000..6392cc40a --- /dev/null +++ b/roles/build-test-packages/molecule/default/molecule.yml @@ -0,0 +1,21 @@ +--- +driver: + name: docker +log: true +lint: + enabled: false +platforms: + - name: instance + image: centos:7 +provisioner: + name: ansible + log: true + env: + # ANSIBLE_STDOUT_CALLBACK: yaml + # hack to make it find 'common' role from tq + ANSIBLE_ROLES_PATH: "${ANSIBLE_ROLES_PATH}:${MOLECULE_SCENARIO_DIRECTORY}/../../../../../tripleo-quickstart/roles" + +verifier: + name: ansible + lint: + name: ansible-lint diff --git a/roles/build-test-packages/molecule/default/playbook.yml b/roles/build-test-packages/molecule/default/playbook.yml new file mode 100644 index 000000000..ed7552752 --- /dev/null +++ b/roles/build-test-packages/molecule/default/playbook.yml @@ -0,0 +1,3 @@ +--- +- name: Converge + hosts: all diff --git a/roles/build-test-packages/molecule/default/verify.yml b/roles/build-test-packages/molecule/default/verify.yml new file mode 100644 index 000000000..e0fbb1198 --- /dev/null +++ b/roles/build-test-packages/molecule/default/verify.yml @@ -0,0 +1,3 @@ +--- +- name: Verify + hosts: all diff --git a/setup.cfg b/setup.cfg index 9278fd116..f97e6b624 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = tripleo-quickstart-extras -summary = Extend tripleo-quickstart's abilities to deploy and test TripleO +summary = "Extend tripleo-quickstart's abilities to deploy and test TripleO" description-file = README.rst author = OpenStack @@ -48,3 +48,7 @@ skip_changelog = True show-source = True ignore = E123,E125,E402,E501,F403,H303,H301,F405 builtins = _ + +[tool:pytest] +# these break pytest collection due to missing imports +norecursedirs = .tox .eggs roles/validate-tempest/files diff --git a/tox.ini b/tox.ini index a8c5fbe35..915b2f81e 100644 --- a/tox.ini +++ b/tox.ini @@ -49,3 +49,18 @@ commands = [testenv:venv] basepython = python3 commands = {posargs} + +[testenv:molecule] +deps = + ansible + ansi2html # GPL (soft-dependency of pytest-html) + docker + paramiko>=2.5.0 # LGPL (soft-dependency of docker that enables ssh protocol) + pytest-cov # MIT + pytest-html # MPL 2.0 + pytest-molecule<=1.2.3 # MIT + selinux # MIT + mock + molecule>=3.0a4 +commands = + python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html -rA --molecule-unavailable-driver=fail {tty:-s} {posargs:-k 'molecule and docker'} diff --git a/zuul.d/layout.yaml b/zuul.d/layout.yaml index edc9da7a2..d6c2e0552 100644 --- a/zuul.d/layout.yaml +++ b/zuul.d/layout.yaml @@ -11,6 +11,9 @@ jobs: - tripleo-ci-centos-7-standalone - openstack-tox-linters + - openstack-tox-molecule: + required-projects: + - openstack/tripleo-quickstart - tripleo-ci-centos-7-containers-undercloud-minion: files: - ^roles/.*minion.*$ @@ -19,3 +22,6 @@ queue: tripleo jobs: - openstack-tox-linters + - openstack-tox-molecule: + required-projects: + - openstack/tripleo-quickstart