From cb38433e4c3d5a1dd51146692e7992fd9c8ae05c Mon Sep 17 00:00:00 2001
From: Dobroslaw Zybort <dobroslaw.zybort@ts.fujitsu.com>
Date: Mon, 21 Jan 2019 14:16:33 +0100
Subject: [PATCH] Prepare one zuul docker job for all services

We want to have one flow for building Docker images of all Monasca
components. Every component should have `docker` folder and in this
folder file with name `build_image.sh` should be placed. By having one
global Zuul we could force this convention. Also this is good for
avoiding code duplication. Remove timeouts. They was unnecessary big.

Story: 2001694
Task: 28994
Change-Id: Iee7de1d8e873817a3b6f72e7ecc815bd8d6eb705
---
 .zuul.yaml                                   | 15 ++++++++++++---
 playbooks/{run.yml => docker_build_base.yml} |  0
 playbooks/docker_build_service.yml           | 19 +++++++++++++++++++
 3 files changed, 31 insertions(+), 3 deletions(-)
 rename playbooks/{run.yml => docker_build_base.yml} (100%)
 create mode 100644 playbooks/docker_build_service.yml

diff --git a/.zuul.yaml b/.zuul.yaml
index cad3b5af..e12e9d74 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -37,9 +37,18 @@
 
 - job:
     name: docker-build-monasca-base
-    timeout: 10200
-    post-timeout: 3600
-    run: playbooks/run.yml
+    run: playbooks/docker_build_base.yml
+    required-projects:
+      - openstack/monasca-common
+    attempts: 1
+    irrelevant-files:
+      - ^.*\.rst$
+      - ^.*\.md$
+      - ^doc/.*$
+
+- job:
+    name: docker-build-monasca-service
+    run: playbooks/docker_build_service.yml
     required-projects:
       - openstack/monasca-common
     attempts: 1
diff --git a/playbooks/run.yml b/playbooks/docker_build_base.yml
similarity index 100%
rename from playbooks/run.yml
rename to playbooks/docker_build_base.yml
diff --git a/playbooks/docker_build_service.yml b/playbooks/docker_build_service.yml
new file mode 100644
index 00000000..e0723d1d
--- /dev/null
+++ b/playbooks/docker_build_service.yml
@@ -0,0 +1,19 @@
+---
+- hosts: all
+  tasks:
+    - name: Run node setup script
+      shell: "{{ zuul.projects['git.openstack.org/openstack/monasca-common'].src_dir }}/playbooks/setup_ci.sh"
+      become: true
+
+    - name: Changing permission of Docker socket to 666
+      file:
+        path: /run/docker.sock
+        mode: 666
+      become: true
+
+    - name: Build Docker image
+      shell: "{{ zuul.project.src_dir }}/docker/build_image.sh {{ zuul.tag if zuul.pipeline == 'release' else zuul.branch | basename }}"
+      become: true
+
+    - name: List images
+      shell: "docker images --format '{% raw %}{{ .Repository }}:{{ .Tag }}{% endraw %}' | grep monasca"