From 31de26ff39f971b4b9f889eef10b5e961e01b3fd Mon Sep 17 00:00:00 2001
From: "James E. Blair" <jeblair@redhat.com>
Date: Tue, 15 Jan 2019 14:23:38 -0800
Subject: [PATCH] Add jinja-init image jobs

Add jobs to build, upload, and promote a jinja-init image to
Docker Hub.

Change-Id: I493846b672f2a77e63eb78e1fb51c8fefb710990
---
 .zuul.yaml                   | 32 ++++++++++++++++++++++++++++++++
 docker/jinja-init/Dockerfile | 34 ++++++++++++++++++++++++++++++++++
 2 files changed, 66 insertions(+)
 create mode 100644 docker/jinja-init/Dockerfile

diff --git a/.zuul.yaml b/.zuul.yaml
index 471160f214..a0f70c9223 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -82,6 +82,33 @@
     nodeset:
       nodes: []
 
+# Jinja-init jobs
+- job:
+    name: system-config-build-image-jinja-init
+    description: Build a jinja-init image.
+    parent: system-config-build-image
+    vars: &jinja-init_vars
+      images:
+        - context: docker/jinja-init
+          target: jinja-init
+          repository: opendevorg/jinja-init
+    files: &jinja-init_files
+      - docker/jinja-init/.*
+
+- job:
+    name: system-config-upload-image-jinja-init
+    description: Build and upload a jinja-init image.
+    parent: system-config-upload-image
+    vars: *jinja-init_vars
+    files: *jinja-init_files
+
+- job:
+    name: system-config-promote-image-jinja-init
+    description: Promote a previously published jinja-init image to latest.
+    parent: system-config-promote-image
+    vars: *jinja-init_vars
+    files: *jinja-init_files
+
 # Role integration jobs.  These test the top-level generic roles/*
 # under Zuul.  The range of platforms should be the same as those for
 # openstack-zuul-jobs.
@@ -364,6 +391,7 @@
         - system-config-run-eavesdrop
         - system-config-run-nodepool
         - system-config-run-docker
+        - system-config-build-image-jinja-init
     gate:
       jobs:
         - tox-linters
@@ -377,3 +405,7 @@
         - system-config-run-eavesdrop
         - system-config-run-nodepool
         - system-config-run-docker
+        - system-config-upload-image-jinja-init
+    promote:
+      jobs:
+        - system-config-promote-image-jinja-init
diff --git a/docker/jinja-init/Dockerfile b/docker/jinja-init/Dockerfile
new file mode 100644
index 0000000000..5c4a6b16a9
--- /dev/null
+++ b/docker/jinja-init/Dockerfile
@@ -0,0 +1,34 @@
+# Copyright 2018 Red Hat, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+FROM python:slim as build
+
+RUN apt-get update && apt-get -y install \
+    git \
+  && apt-get clean \
+  && rm -rf /var/lib/apt/lists/* \
+  && mkdir -p /src/jinja-init
+
+RUN git clone https://github.com/ObjectifLibre/jinja-init /src/jinja-init
+WORKDIR /src/jinja-init
+
+RUN git checkout 8c13a44124a5a363519df787b1cd0abd1198b8df
+
+FROM python:slim as jinja-init
+
+RUN pip install jinja2
+
+COPY --from=build /src/jinja-init/run.py /
+
+ENTRYPOINT ["python", "/run.py"]