diff options
Diffstat (limited to 'ansible/roles/docker/molecule/default')
4 files changed, 83 insertions, 0 deletions
diff --git a/ansible/roles/docker/molecule/default/molecule.yml b/ansible/roles/docker/molecule/default/molecule.yml new file mode 100644 index 00000000..9a87184f --- /dev/null +++ b/ansible/roles/docker/molecule/default/molecule.yml @@ -0,0 +1,38 @@ +--- +dependency: + name: galaxy +driver: + name: docker +lint: + name: yamllint +platforms: + - name: infrastructure-server + image: molecule-${PREBUILD_PLATFORM_DISTRO:-centos}:${PREBUILD_DISTRO_VERSION:-centos7.6} + pre_build_image: true + privileged: true + command: ${MOLECULE_DOCKER_COMMAND:-""} + groups: + - infrastructure + env: + container: docker + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro +provisioner: + name: ansible + lint: + name: ansible-lint + env: + ANSIBLE_ROLES_PATH: ../../../../test/roles + ANSIBLE_LIBRARY: ../../../../library + inventory: + host_vars: + infrastructure-server: + cluster_ip: 1.2.3.4 +verifier: + name: testinfra + options: + verbose: true + lint: + name: flake8 + options: + ignore: W291 # trailing whitespace diff --git a/ansible/roles/docker/molecule/default/playbook.yml b/ansible/roles/docker/molecule/default/playbook.yml new file mode 100644 index 00000000..7384ae27 --- /dev/null +++ b/ansible/roles/docker/molecule/default/playbook.yml @@ -0,0 +1,5 @@ +--- +- name: Converge + hosts: all + roles: + - role: docker diff --git a/ansible/roles/docker/molecule/default/prepare.yml b/ansible/roles/docker/molecule/default/prepare.yml new file mode 100644 index 00000000..8df759c9 --- /dev/null +++ b/ansible/roles/docker/molecule/default/prepare.yml @@ -0,0 +1,5 @@ +--- +- name: Prepare infra + hosts: all + roles: + - prepare-docker diff --git a/ansible/roles/docker/molecule/default/tests/test_default.py b/ansible/roles/docker/molecule/default/tests/test_default.py new file mode 100644 index 00000000..a8adeb65 --- /dev/null +++ b/ansible/roles/docker/molecule/default/tests/test_default.py @@ -0,0 +1,35 @@ +import os +import pytest + +import testinfra.utils.ansible_runner + +testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( + os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all') + + +@pytest.mark.parametrize('svc', [ + 'docker' +]) +def test_service(host, svc): + service = host.service(svc) + + assert service.is_running + assert service.is_enabled + + +def test_docker_daemon_file(host): + f = host.file('/etc/docker/daemon.json') + + assert f.exists + assert f.user == 'root' + assert f.group == 'root' + assert f.content_string == """{ + "log-opts": { + "max-size": "100m", + "max-file": "3" + }, + "dns": [ + "1.2.3.4" + ], + "log-driver": "json-file" +}""" |