Adding versions for infra related docker images 34/83634/12
authorTomáš Levora <t.levora@partner.samsung.com>
Thu, 28 Mar 2019 16:45:55 +0000 (17:45 +0100)
committerTomáš Levora <t.levora@partner.samsung.com>
Fri, 5 Apr 2019 11:41:16 +0000 (11:41 +0000)
1. latest tag replaced by version number for vnc server
2. added specific version for own_nginx image
3. version control improved in ansible roles accordingly

Solves OOM-1766

Issue-ID: OOM-1767

Change-Id: I147c56b46a419188099d8ed3e78fed68810893e2
Signed-off-by: Tomáš Levora <t.levora@partner.samsung.com>
15 files changed:
ansible/group_vars/all.yml
ansible/group_vars/infrastructure.yml
ansible/roles/dns/defaults/main.yml [new file with mode: 0644]
ansible/roles/dns/handlers/main.yml
ansible/roles/dns/tasks/main.yml
ansible/roles/nexus/defaults/main.yml
ansible/roles/nexus/tasks/install.yml
ansible/roles/nginx/defaults/main.yml
ansible/roles/nginx/tasks/main.yml
ansible/roles/vncserver/defaults/main.yml [new file with mode: 0644]
ansible/roles/vncserver/tasks/main.yml
build/creating_data/create_nginx_image/01create-image.sh
build/creating_data/create_nginx_image/Dockerfile
build/creating_data/create_nginx_image/VERSION [new file with mode: 0644]
build/data_lists/infra_docker_images.list

index f9d6726..d8fe37d 100755 (executable)
@@ -31,6 +31,9 @@ resources_on_nfs: no
 # e.g. app_data_path: /opt/onap
 app_data_path:
 
+# Path for tarballs with images loaded on infrastructure server
+infra_images_path: "{{ app_data_path }}/offline_data/docker_images_infra"
+
 # Path for auxiliary data in target infra server.
 # Data from resource host defined by aux_resources_filename variable is placed to this directory.
 # Currently docker images in tar format are supported (see runtime_images parameter).
index a248a51..d4df2df 100755 (executable)
@@ -27,3 +27,7 @@ all_simulated_hosts:
 rancher_server_version: v1.6.22
 populate_nexus: false
 helm_bin_dir: /usr/local/bin
+vnc_server_image: consol/centos-icewm-vnc:1.4.0
+nexus3_image: sonatype/nexus3:3.15.2
+dns_server_image: andyshinn/dnsmasq:2.76
+nginx_server_image: own_nginx:2.0.0
diff --git a/ansible/roles/dns/defaults/main.yml b/ansible/roles/dns/defaults/main.yml
new file mode 100644 (file)
index 0000000..f69d965
--- /dev/null
@@ -0,0 +1,3 @@
+---
+# Default rule for tarball naming translation
+dns_server_image_tar: "{{ dns_server_image | regex_replace('(\\/|\\:)', '_') }}.tar"
index ac3209d..9d77893 100644 (file)
@@ -1,8 +1,8 @@
 ---
-- name: Restart dnsmasq container
+- name: Restart dns server container
   docker_container:
-    name: dnsmasq
-    image: andyshinn/dnsmasq:2.76
+    name: dns-server
+    image: "{{ dns_server_image }}"
     command: -H /simulated_hosts --log-facility=-
     capabilities: NET_ADMIN
     volumes:
index 2bc0564..3eba9fd 100644 (file)
@@ -8,21 +8,21 @@
   template:
     src: simulated_hosts.j2
     dest: "{{ app_data_path }}/cfg/simulated_hosts"
-  notify: Restart dnsmasq container
+  notify: Restart dns server container
 
-- name: Load dnsmasq container
+- name: Load dns server container
   docker_image:
-    name: andyshinn/dnsmasq:2.76
-    load_path: "{{ app_data_path }}/offline_data/docker_images_infra/andyshinn_dnsmasq_2.76.tar"
+    name: "{{ dns_server_image }}"
+    load_path: "{{ infra_images_path }}/{{ dns_server_image_tar }}"
     state: present
     timeout: 120
-  notify: Restart dnsmasq container
+  notify: Restart dns server container
 
-- name: Start dnsmasq container
+- name: Start dns server container
   docker_container:
-    name: dnsmasq
+    name: dns-server
     network_mode: host
-    image: andyshinn/dnsmasq:2.76
+    image: "{{ dns_server_image }}"
     command: -H /simulated_hosts --log-facility=-
     capabilities: NET_ADMIN
     dns_servers:
index 3776f44..92089e9 100644 (file)
@@ -4,3 +4,5 @@ populate_nexus: false
 # By dafault no additional docker images pushed to nexus at runtime
 # but all images are pre-populated either at buildtime or at install time (populate_nexus).
 runtime_images: {}
+# Default rule for tarball naming translation
+nexus3_image_tar: "{{ nexus3_image | regex_replace('(\\/|\\:)', '_') }}.tar"
index 99d73dc..f8de5e9 100644 (file)
@@ -8,8 +8,8 @@
 
 - name: Load nexus image
   docker_image:
-    name: sonatype/nexus3
-    load_path: "{{ app_data_path }}/offline_data/docker_images_infra/sonatype_nexus3_latest.tar"
+    name: "{{ nexus3_image }}"
+    load_path: "{{ infra_images_path }}/{{ nexus3_image_tar }}"
     state: present
     timeout: 120
 
     name: nexus_network
     state: present
 
-- name: Run nexus container
+- name: Start nexus server container
   docker_container:
     name: nexus
-    image: sonatype/nexus3
+    image: "{{ nexus3_image }}"
     networks:
       - name: nexus_network
     volumes:
index 7c9fa0b..260de9b 100644 (file)
@@ -19,3 +19,5 @@ nginx:
     - "{{ app_data_path }}/pkg/rhel:/srv/http/repo.infra-server/rhel:rw"
     - "{{ app_data_path }}/pkg/ubuntu/xenial:/srv/http/repo.infra-server/ubuntu/xenial:rw"
     - /var/log/nginx:/var/log/nginx:rw
+# Default rule for tarball naming translation
+nginx_server_image_tar: "{{ nginx_server_image | regex_replace('(\\/|\\:)', '_') }}.tar"
index 1ec0adb..54a0c81 100644 (file)
@@ -9,10 +9,10 @@
     src: nginx.conf.j2
     dest: "{{ app_data_path }}/cfg/nginx.conf"
 
-- name: Load nginx image
+- name: Load nginx server image
   docker_image:
-    name: own_nginx
-    load_path: "{{ app_data_path }}/offline_data/docker_images_infra/own_nginx_latest.tar"
+    name: "{{ nginx_server_image }}"
+    load_path: "{{ infra_images_path }}/{{ nginx_server_image_tar }}"
     state: present
     timeout: 120
 
     name: nexus_network
     state: present
 
-- name: Start nginx
+- name: Start nginx server container
   docker_container:
-    name: own_nginx
-    image: own_nginx
+    name: nginx-server
+    image: "{{ nginx_server_image }}"
     networks:
       - name: nexus_network
     ports: "{{ nginx.ports }}"
diff --git a/ansible/roles/vncserver/defaults/main.yml b/ansible/roles/vncserver/defaults/main.yml
new file mode 100644 (file)
index 0000000..e74ccb7
--- /dev/null
@@ -0,0 +1,3 @@
+---
+# Default rule for tarball naming translation
+vnc_server_image_tar: "{{ vnc_server_image | regex_replace('(\\/|\\:)', '_') }}.tar"
index 56ae707..b1aaed9 100644 (file)
@@ -1,15 +1,15 @@
 ---
 - name: Load VNC server image
   docker_image:
-    name: consol/centos-icewm-vnc:latest
-    load_path: '{{ app_data_path }}/offline_data/docker_images_infra/consol_centos_icewm_vnc_latest.tar'
+    name: "{{ vnc_server_image }}"
+    load_path: "{{ infra_images_path }}/{{ vnc_server_image_tar }}"
     state: present
     timeout: 120
 
-- name: Run VNC server
+- name: Start VNC server container
   docker_container:
-    name: vnc_server
-    image: consol/centos-icewm-vnc
+    name: vnc-server
+    image: "{{ vnc_server_image }}"
     state: started
     restart_policy: unless-stopped
     ports:
index aa62e40..4ca382a 100755 (executable)
@@ -18,6 +18,8 @@
 #
 #   COPYRIGHT NOTICE ENDS HERE
 
+VERSION="$(cat $(dirname ${0})/VERSION)"
+
 IMG_DIR="${1}"
 
 if [[ ! -e $IMG_DIR ]]; then
@@ -26,5 +28,5 @@ fi
 
 script_dir="$(dirname ${BASH_SOURCE[0]})"
 cd "$script_dir"
-docker build -t own_nginx .
-docker -l error save -o "$IMG_DIR/own_nginx_latest.tar" "own_nginx:latest"
+docker build -t own_nginx:${VERSION} .
+docker -l error save -o "$IMG_DIR/own_nginx_${VERSION}.tar" "own_nginx:${VERSION}"
index 6a14f22..27249ae 100644 (file)
@@ -20,6 +20,8 @@ FROM nginx:alpine
 
 RUN apk add --no-cache --update fcgiwrap git git-daemon spawn-fcgi
 
+ADD VERSION .
+
 COPY gitconfig /etc/
 
 CMD spawn-fcgi -M 666 -s /var/run/fcgiwrap.socket /usr/bin/fcgiwrap && \
diff --git a/build/creating_data/create_nginx_image/VERSION b/build/creating_data/create_nginx_image/VERSION
new file mode 100644 (file)
index 0000000..227cea2
--- /dev/null
@@ -0,0 +1 @@
+2.0.0
index af156cf..83374b8 100644 (file)
@@ -1,3 +1,3 @@
 andyshinn/dnsmasq:2.76
-consol/centos-icewm-vnc:latest
+consol/centos-icewm-vnc:1.4.0
 sonatype/nexus3:3.15.2