summaryrefslogtreecommitdiffstats
path: root/ansible
diff options
context:
space:
mode:
Diffstat (limited to 'ansible')
-rw-r--r--ansible/roles/nfs/molecule/default/cleanup.yml1
-rwxr-xr-xansible/test/bin/ci-molecule.sh2
-rwxr-xr-xansible/test/bin/install-molecule.sh2
-rw-r--r--ansible/test/molecule-docker/Dockerfile2
-rw-r--r--ansible/test/play-resources/.yamllint11
-rw-r--r--ansible/test/play-resources/molecule/default/cleanup.yml23
-rw-r--r--ansible/test/play-resources/molecule/default/group_vars/all.yml7
-rw-r--r--ansible/test/play-resources/molecule/default/molecule.yml41
-rw-r--r--ansible/test/play-resources/molecule/default/playbook.yml6
-rw-r--r--ansible/test/play-resources/molecule/default/prepare.yml5
-rw-r--r--ansible/test/play-resources/molecule/nfs/molecule.yml47
-rw-r--r--ansible/test/play-resources/molecule/nfs/playbook.yml8
-rw-r--r--ansible/test/play-resources/molecule/nfs/prepare.yml7
-rw-r--r--ansible/test/roles/cleanup-directories/tasks/main.yml7
14 files changed, 166 insertions, 3 deletions
diff --git a/ansible/roles/nfs/molecule/default/cleanup.yml b/ansible/roles/nfs/molecule/default/cleanup.yml
index af47ed82..477b9dca 100644
--- a/ansible/roles/nfs/molecule/default/cleanup.yml
+++ b/ansible/roles/nfs/molecule/default/cleanup.yml
@@ -1,5 +1,6 @@
---
- name: Cleanup
hosts: all:!nfs-server
+ ignore_unreachable: true
roles:
- cleanup-nfs
diff --git a/ansible/test/bin/ci-molecule.sh b/ansible/test/bin/ci-molecule.sh
index be598a48..7859c8dc 100755
--- a/ansible/test/bin/ci-molecule.sh
+++ b/ansible/test/bin/ci-molecule.sh
@@ -30,7 +30,7 @@ SCRIPT_DIR=$(dirname "${0}")
LOCAL_PATH=$(readlink -f "$SCRIPT_DIR")
ROLE_PATH=$1
-MOLECULE_CONTAINER=${MOLECULE_CONTAINER:-true}
+MOLECULE_CONTAINER=${MOLECULE_CONTAINER:-false}
echo "Build all pre-build images"
${LOCAL_PATH}/../images/docker/build-all.sh
diff --git a/ansible/test/bin/install-molecule.sh b/ansible/test/bin/install-molecule.sh
index f5350df6..72b07937 100755
--- a/ansible/test/bin/install-molecule.sh
+++ b/ansible/test/bin/install-molecule.sh
@@ -33,7 +33,7 @@
VENV_PATH=${VENV_PATH:-~/molecule_venv}
# Create virtual env
-python3 -m venv ${VENV_PATH}
+python3.6 -m venv ${VENV_PATH}
# Activate virtual env
source ${VENV_PATH}/bin/activate
diff --git a/ansible/test/molecule-docker/Dockerfile b/ansible/test/molecule-docker/Dockerfile
index 61817317..5c2343c9 100644
--- a/ansible/test/molecule-docker/Dockerfile
+++ b/ansible/test/molecule-docker/Dockerfile
@@ -14,7 +14,7 @@ RUN if [ ${USER_ID:-0} -ne 0 ] && [ ${GROUP_ID:-0} -ne 0 ]; then \
addgroup -g ${GROUP_ID} ${DOCKER_USER} && \
adduser -D -u ${USER_ID} -G ${DOCKER_USER} ${DOCKER_USER} && \
# Add user to same docker group as in docker_host to be able to use docker driver as sudo
- groupadd docker-host -g ${DOCKER_GROUP_ID} && \
+ groupadd docker-host -f -g ${DOCKER_GROUP_ID} && \
usermod -aG ${DOCKER_GROUP_ID} ${DOCKER_USER} \
;fi
diff --git a/ansible/test/play-resources/.yamllint b/ansible/test/play-resources/.yamllint
new file mode 100644
index 00000000..ad0be760
--- /dev/null
+++ b/ansible/test/play-resources/.yamllint
@@ -0,0 +1,11 @@
+extends: default
+
+rules:
+ braces:
+ max-spaces-inside: 1
+ level: error
+ brackets:
+ max-spaces-inside: 1
+ level: error
+ line-length: disable
+ truthy: disable
diff --git a/ansible/test/play-resources/molecule/default/cleanup.yml b/ansible/test/play-resources/molecule/default/cleanup.yml
new file mode 100644
index 00000000..e0c0b624
--- /dev/null
+++ b/ansible/test/play-resources/molecule/default/cleanup.yml
@@ -0,0 +1,23 @@
+---
+- name: Cleanup data from instance (doing it from hosts requires root access).
+ hosts: resources
+ gather_facts: false
+ ignore_unreachable: true
+ pre_tasks:
+ - name: Find files and dirs to delete
+ find:
+ paths: /data/ # Only deleting content not dir itself as we get "Device or resource busy" error as it's mounted to container doing the deletion
+ patterns: "*"
+ recurse: true
+ file_type: any
+ register: files_to_delete
+ - name: Make file/dir path list
+ set_fact:
+ to_delete_paths: "{{ to_delete_paths | default([]) + [item.path] }}"
+ loop: "{{ files_to_delete.files }}"
+ when: files_to_delete.files is defined
+ roles:
+ - role: cleanup-directories
+ vars:
+ directories_files_list_to_remove: "{{ to_delete_paths }}"
+ when: to_delete_paths is defined
diff --git a/ansible/test/play-resources/molecule/default/group_vars/all.yml b/ansible/test/play-resources/molecule/default/group_vars/all.yml
new file mode 100644
index 00000000..558eacb2
--- /dev/null
+++ b/ansible/test/play-resources/molecule/default/group_vars/all.yml
@@ -0,0 +1,7 @@
+---
+app_data_path: /opt/myleculeapp
+aux_data_path: "{{ app_data_path }}/runtime_images_source_dir"
+resources_dir: /data
+resources_filename: resources_package.tar
+aux_resources_filename: aux_resources_package.tar
+ansible_ssh_private_key_file: ~/.ssh/offline_ssh_key
diff --git a/ansible/test/play-resources/molecule/default/molecule.yml b/ansible/test/play-resources/molecule/default/molecule.yml
new file mode 100644
index 00000000..9ac1aaca
--- /dev/null
+++ b/ansible/test/play-resources/molecule/default/molecule.yml
@@ -0,0 +1,41 @@
+---
+dependency:
+ name: galaxy
+driver:
+ name: docker
+lint:
+ name: yamllint
+platforms:
+ - name: resource-host
+ image: molecule-${PREBUILD_PLATFORM_DISTRO:-centos}:${PREBUILD_DISTRO_VERSION:-centos7.6}
+ pre_build_image: true
+ privileged: true
+ override_command: false
+ volumes:
+ - /sys/fs/cgroup:/sys/fs/cgroup:ro
+ groups:
+ - resources
+ networks:
+ - name: resource-data
+
+ - name: infrastructure-server
+ image: molecule-${PREBUILD_PLATFORM_DISTRO:-centos}:${PREBUILD_DISTRO_VERSION:-centos7.6}
+ pre_build_image: true
+ privileged: true
+ override_command: false
+ volumes:
+ - /sys/fs/cgroup:/sys/fs/cgroup:ro
+ groups:
+ - infrastructure
+ networks:
+ - name: resource-data
+provisioner:
+ name: ansible
+ env:
+ ANSIBLE_ROLES_PATH: ../../../../roles:../../../roles
+ lint:
+ name: ansible-lint
+verifier:
+ name: testinfra
+ lint:
+ name: flake8
diff --git a/ansible/test/play-resources/molecule/default/playbook.yml b/ansible/test/play-resources/molecule/default/playbook.yml
new file mode 100644
index 00000000..50ba233a
--- /dev/null
+++ b/ansible/test/play-resources/molecule/default/playbook.yml
@@ -0,0 +1,6 @@
+---
+- name: Test resource transfer with ssh
+ hosts: all
+ roles:
+ - setup
+ - resource-data
diff --git a/ansible/test/play-resources/molecule/default/prepare.yml b/ansible/test/play-resources/molecule/default/prepare.yml
new file mode 100644
index 00000000..a4436001
--- /dev/null
+++ b/ansible/test/play-resources/molecule/default/prepare.yml
@@ -0,0 +1,5 @@
+---
+- name: Prepare resource-data
+ hosts: all
+ roles:
+ - prepare-resource-data
diff --git a/ansible/test/play-resources/molecule/nfs/molecule.yml b/ansible/test/play-resources/molecule/nfs/molecule.yml
new file mode 100644
index 00000000..ffaabb07
--- /dev/null
+++ b/ansible/test/play-resources/molecule/nfs/molecule.yml
@@ -0,0 +1,47 @@
+---
+dependency:
+ name: galaxy
+driver:
+ name: docker
+lint:
+ name: yamllint
+platforms:
+ - name: resource-host
+ image: molecule-${PREBUILD_PLATFORM_DISTRO:-centos}:${PREBUILD_DISTRO_VERSION:-centos7.6}
+ pre_build_image: true
+ privileged: true
+ override_command: false
+ volumes:
+ - /sys/fs/cgroup:/sys/fs/cgroup:ro
+ - ${HOME}/data:/data:rw # mount fs from host to get nfs exportfs task working
+ groups:
+ - resources
+ networks:
+ - name: resource-data
+
+ - name: infrastructure-server
+ image: molecule-${PREBUILD_PLATFORM_DISTRO:-centos}:${PREBUILD_DISTRO_VERSION:-centos7.6}
+ pre_build_image: true
+ privileged: true
+ override_command: false
+ volumes:
+ - /sys/fs/cgroup:/sys/fs/cgroup:ro
+ groups:
+ - infrastructure
+ networks:
+ - name: resource-data
+provisioner:
+ name: ansible
+ playbooks:
+ cleanup: ../default/cleanup.yml
+ env:
+ ANSIBLE_ROLES_PATH: ../../../../roles:../../../roles
+ inventory:
+ links:
+ group_vars: ../default/group_vars
+ lint:
+ name: ansible-lint
+verifier:
+ name: testinfra
+ lint:
+ name: flake8
diff --git a/ansible/test/play-resources/molecule/nfs/playbook.yml b/ansible/test/play-resources/molecule/nfs/playbook.yml
new file mode 100644
index 00000000..88440116
--- /dev/null
+++ b/ansible/test/play-resources/molecule/nfs/playbook.yml
@@ -0,0 +1,8 @@
+---
+- name: Test resource transfer with nfs
+ hosts: all
+ roles:
+ - setup
+ - role: resource-data
+ vars:
+ resources_on_nfs: true
diff --git a/ansible/test/play-resources/molecule/nfs/prepare.yml b/ansible/test/play-resources/molecule/nfs/prepare.yml
new file mode 100644
index 00000000..d381ba77
--- /dev/null
+++ b/ansible/test/play-resources/molecule/nfs/prepare.yml
@@ -0,0 +1,7 @@
+---
+- name: Prepare resource-data
+ hosts: all
+ roles:
+ - role: prepare-resource-data
+ vars:
+ resources_on_nfs: true
diff --git a/ansible/test/roles/cleanup-directories/tasks/main.yml b/ansible/test/roles/cleanup-directories/tasks/main.yml
new file mode 100644
index 00000000..8e79ea0c
--- /dev/null
+++ b/ansible/test/roles/cleanup-directories/tasks/main.yml
@@ -0,0 +1,7 @@
+---
+- name: Remove directories/files
+ file:
+ path: "{{ item }}"
+ state: absent
+ become: true
+ loop: "{{ directories_files_list_to_remove }}"