Add cleanup stage to 'nexus' role test 88/89788/6
authorBartek Grzybowski <b.grzybowski@partner.samsung.com>
Thu, 13 Jun 2019 09:41:24 +0000 (11:41 +0200)
committerBartek Grzybowski <b.grzybowski@partner.samsung.com>
Mon, 24 Jun 2019 12:57:29 +0000 (14:57 +0200)
List of docker images to download/cleanup by the
prepare and cleanup stages is now defined in one
place (prepare-nexus role defaults) for clarity and
ease of management.

Change-Id: I4c18912fd8c5eadc4d68e1bc10f5c2251d58634e
Issue-ID: OOM-1915
Signed-off-by: Bartek Grzybowski <b.grzybowski@partner.samsung.com>
ansible/roles/nexus/molecule/default/cleanup.yml [new file with mode: 0644]
ansible/test/play-infrastructure/molecule/default/cleanup.yml
ansible/test/roles/cleanup-nexus/defaults [new symlink]
ansible/test/roles/cleanup-nexus/tasks/main.yml [new file with mode: 0644]
ansible/test/roles/prepare-nexus/defaults/main.yml [new file with mode: 0644]
ansible/test/roles/prepare-nexus/tasks/main.yml

diff --git a/ansible/roles/nexus/molecule/default/cleanup.yml b/ansible/roles/nexus/molecule/default/cleanup.yml
new file mode 100644 (file)
index 0000000..1517e53
--- /dev/null
@@ -0,0 +1,8 @@
+---
+- name: Cleanup
+  hosts: all
+  ignore_unreachable: true
+  vars_files:
+    - ../../defaults/main.yml
+  roles:
+    - cleanup-nexus
index 107ec8c..008543b 100644 (file)
@@ -1,7 +1,10 @@
 ---
 - name: Cleanup
-  hosts: all
+  hosts: infrastructure
   ignore_unreachable: true
+  vars_files:
+    - ../../../../roles/nexus/defaults/main.yml
   roles:
     - cleanup-nginx
+    - cleanup-nexus
     - cleanup-vncserver
diff --git a/ansible/test/roles/cleanup-nexus/defaults b/ansible/test/roles/cleanup-nexus/defaults
new file mode 120000 (symlink)
index 0000000..d9144aa
--- /dev/null
@@ -0,0 +1 @@
+../prepare-nexus/defaults/
\ No newline at end of file
diff --git a/ansible/test/roles/cleanup-nexus/tasks/main.yml b/ansible/test/roles/cleanup-nexus/tasks/main.yml
new file mode 100644 (file)
index 0000000..1d1e811
--- /dev/null
@@ -0,0 +1,7 @@
+---
+- name: Remove saved docker images
+  delegate_to: localhost
+  file:
+    path: "{{ item.archive_path }}"
+    state: absent
+  loop: "{{ prepare_nexus_images }}"
diff --git a/ansible/test/roles/prepare-nexus/defaults/main.yml b/ansible/test/roles/prepare-nexus/defaults/main.yml
new file mode 100644 (file)
index 0000000..be6bd52
--- /dev/null
@@ -0,0 +1,13 @@
+---
+prepare_nexus_images:
+  - name: "{{ nexus3_image }}"  # name already contains tag so it's ommited in this list element
+    archive_path: /tmp/nexus.tar
+    dest: "{{ infra_images_path }}/{{ nexus3_image_tar }}"
+  - name: nexus3.onap.org:10001/busybox
+    tag: latest
+    archive_path: /tmp/busybox.tar
+    dest: "{{ aux_data_path }}/busybox.tar"
+  - name: nexus3.onap.org:10001/aaionap/haproxy
+    tag: 1.2.4
+    archive_path: /tmp/haproxy.tar
+    dest: "{{ aux_data_path }}/aaionap-haproxy.tar"
index 5eb1b7d..951bc28 100644 (file)
     - "{{ infra_images_path }}"
     - "{{ aux_data_path }}"
 
-- name: Download and archive nexus docker image for the nexus role to use
+- name: Download and archive docker images for the nexus role to use
   delegate_to: localhost
   docker_image:
-    name: "{{ nexus3_image }}"
-    archive_path: /tmp/nexus.tar
+    name: "{{ item.name }}"
+    tag: "{{ item.tag | default('latest') }}"  # Tag given in 'name' has precedence over the one declared here
+    archive_path: "{{ item.archive_path }}"
+  loop: "{{ prepare_nexus_images }}"
 
-- name: Download and tag additional (busybox) docker image for the nexus role to populate into
-  delegate_to: localhost
-  docker_image:
-    name: busybox
-    tag: latest
-    repository: nexus3.onap.org:10001/busybox
-
-- name: Save busybox image
-  delegate_to: localhost
-  docker_image:
-    name: nexus3.onap.org:10001/busybox
-    tag: latest
-    pull: false
-    archive_path: /tmp/busybox.tar
-
-- name: Download and tag additional (aaionap/haproxy) docker image for the nexus role to populate into nexus
-  delegate_to: localhost
-  docker_image:
-    name: aaionap/haproxy
-    tag: 1.2.4
-    repository: nexus3.onap.org:10001/aaionap/haproxy
-
-- name: Save haproxy image
-  delegate_to: localhost
-  docker_image:
-    name: nexus3.onap.org:10001/aaionap/haproxy
-    tag: 1.2.4
-    pull: false
-    archive_path: /tmp/haproxy.tar
-
-- name: Copy nexus image to node
-  copy:
-    src: /tmp/nexus.tar
-    dest: "{{ infra_images_path }}/{{ nexus3_image_tar }}"
-
-- name: Copy busybox image to node
-  copy:
-    src: /tmp/busybox.tar
-    dest: "{{ aux_data_path }}/busybox.tar"
-
-- name: Copy haproxy image to node
+- name: Copy docker images to node
   copy:
-    src: /tmp/haproxy.tar
-    dest: "{{ aux_data_path }}/aaionap-haproxy.tar"
+    src: "{{ item.archive_path }}"
+    dest: "{{ item.dest }}"
+  loop: "{{ prepare_nexus_images }}"