From 922967ee7f1fb182f07e65e308626f3002d61881 Mon Sep 17 00:00:00 2001
From: Larry Rensing <larryrensing@users.noreply.github.com>
Date: Thu, 5 Jan 2017 16:26:47 +0000
Subject: [PATCH 01/10] maas-region cleanup

---
 maas/templates/_helpers.tpl                   |  3 --
 .../_maas-region-controller.postinst.tpl      | 33 -------------------
 maas/templates/configmap-bin.yaml             |  2 ++
 maas/templates/configmap-etc.yaml             |  2 ++
 maas/templates/configmap-var.yaml             | 10 ------
 maas/templates/deploy-region.yaml             | 14 ++++----
 maas/templates/{var => etc}/_secret.tpl       |  0
 maas/templates/service.yaml                   |  1 -
 maas/values.yaml                              |  2 +-
 9 files changed, 11 insertions(+), 56 deletions(-)
 delete mode 100644 maas/templates/_helpers.tpl
 rename maas/templates/{var => bin}/_maas-region-controller.postinst.tpl (77%)
 delete mode 100644 maas/templates/configmap-var.yaml
 rename maas/templates/{var => etc}/_secret.tpl (100%)

diff --git a/maas/templates/_helpers.tpl b/maas/templates/_helpers.tpl
deleted file mode 100644
index d2f33bc897..0000000000
--- a/maas/templates/_helpers.tpl
+++ /dev/null
@@ -1,3 +0,0 @@
-{{- define "joinListWithColon" -}}
-{{ range $k, $v := . }}{{ if $k }},{{ end }}{{ $v }}{{ end }}
-{{- end -}}
diff --git a/maas/templates/var/_maas-region-controller.postinst.tpl b/maas/templates/bin/_maas-region-controller.postinst.tpl
similarity index 77%
rename from maas/templates/var/_maas-region-controller.postinst.tpl
rename to maas/templates/bin/_maas-region-controller.postinst.tpl
index 6c6ac31f12..ae7e846397 100644
--- a/maas/templates/var/_maas-region-controller.postinst.tpl
+++ b/maas/templates/bin/_maas-region-controller.postinst.tpl
@@ -35,30 +35,6 @@ configure_maas_default_url() {
     maas-region local_config_set --maas-url "http://${ipaddr}/MAAS"
 }
 
-get_default_route_ip6() {
-    while read Src SrcPref Dest DestPref Gateway Metric RefCnt Use Flags Iface
-    do
-        [ "$SrcPref" = 00 ] && [ "$Iface" != lo ] && break
-    done < /proc/net/ipv6_route
-    if [ -n "$Iface" ]; then
-        LC_ALL=C /sbin/ip -6 addr list dev "$Iface" scope global permanent |
-            sed -n '/ inet6 /s/.*inet6 \([0-9a-fA-F:]*\).*/[\1]/p' | head -1
-    fi
-}
-
-get_default_route_ip4() {
-    while read Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT
-    do
-        [ "$Mask" = "00000000" ] && break
-    done < /proc/net/route
-    if [ -n "$Iface" ]; then
-        ipaddr=$(LC_ALL=C /sbin/ip -4 addr list dev "$Iface" scope global)
-        ipaddr=${ipaddr#* inet }
-        ipaddr=${ipaddr%%/*}
-        echo $ipaddr
-    fi
-}
-
 extract_default_maas_url() {
     # Extract DEFAULT_MAAS_URL IP/host setting from config file $1.
     grep "^DEFAULT_MAAS_URL" "$1" | cut -d"/" -f3
@@ -86,17 +62,8 @@ if [ "$1" = "configure" ] && [ -z "$2" ]; then
     db_get maas/default-maas-url
     ipaddr="$RET"
     if [ -z "$ipaddr" ]; then
-        #ipaddr=$(get_default_route_ip4)
         ipaddr="maas-region-ui.{{ .Release.Namespace }}"
     fi
-    if [ -z "$ipaddr" ]; then
-        #ipaddr=$(get_default_route_ip6)
-        ipaddr="maas-region-ui.{{ .Release.Namespace }}"
-    fi
-    # Fallback default is "localhost"
-    if [ -z "$ipaddr" ]; then
-        ipaddr=localhost
-    fi
     # Set the IP address of the interface with default route
     configure_maas_default_url "$ipaddr"
     db_subst maas/installation-note MAAS_URL "$ipaddr"
diff --git a/maas/templates/configmap-bin.yaml b/maas/templates/configmap-bin.yaml
index 53b2d94dbc..c7c2108d76 100644
--- a/maas/templates/configmap-bin.yaml
+++ b/maas/templates/configmap-bin.yaml
@@ -5,3 +5,5 @@ metadata:
 data:
   start.sh: |
 {{ tuple "bin/_start.sh.tpl" . | include "template" | indent 4 }}
+  maas-region-controller.postinst: |
+{{ tuple "bin/_maas-region-controller.postinst.tpl" . | include "template" | indent 4 }}
diff --git a/maas/templates/configmap-etc.yaml b/maas/templates/configmap-etc.yaml
index 2597a28cac..ececffc02c 100644
--- a/maas/templates/configmap-etc.yaml
+++ b/maas/templates/configmap-etc.yaml
@@ -5,3 +5,5 @@ metadata:
 data:
   named.conf.options: |+
 {{ tuple "etc/_region-dns-config.tpl" . | include "template" | indent 4 }}
+  secret: |
+{{ tuple "etc/_secret.tpl" . | include "template" | indent 4 }}
diff --git a/maas/templates/configmap-var.yaml b/maas/templates/configmap-var.yaml
deleted file mode 100644
index 422c0ed503..0000000000
--- a/maas/templates/configmap-var.yaml
+++ /dev/null
@@ -1,10 +0,0 @@
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: maas-region-var
-data:
-  maas-region-controller.postinst: |
-{{ tuple "var/_maas-region-controller.postinst.tpl" . | include "template" | indent 4 }}
-  secret: |
-{{ tuple "var/_secret.tpl" . | include "template" | indent 4 }}
-
diff --git a/maas/templates/deploy-region.yaml b/maas/templates/deploy-region.yaml
index f044a09c5d..31567170f2 100644
--- a/maas/templates/deploy-region.yaml
+++ b/maas/templates/deploy-region.yaml
@@ -14,12 +14,7 @@ spec:
             "name": "init",
             "image": "{{ .Values.images.maas_region }}",
             "imagePullPolicy": "Always",
-            "command": [
-                    "/bin/bash", "-c"
-            ],
-            "args": [
-                    "chmod +x /tmp/start.sh; /tmp/start.sh"
-            ],
+            "command": ["bash", "/tmp/start.sh"],
             "volumeMounts": [
                 {
                     "name": "maas-config",
@@ -59,6 +54,9 @@ spec:
         imagePullPolicy: Always
         ports:
         - containerPort: {{ .Values.network.port.region_container }}
+        readinessProbe:
+          tcpSocket:
+            port: {{ .Values.network.port.region_container }}
         securityContext:
           privileged: true
         volumeMounts:
@@ -91,7 +89,7 @@ spec:
           emptyDir: {}
         - name: maas-region-secret
           configMap:
-            name: maas-region-var
+            name: maas-region-etc
         - name: maas-config
           emptyDir: {}
         - name: maas-dns-config
@@ -102,4 +100,4 @@ spec:
             name: maas-region-bin
         - name: maasregionpostinst
           configMap:
-            name: maas-region-var
+            name: maas-region-bin
diff --git a/maas/templates/var/_secret.tpl b/maas/templates/etc/_secret.tpl
similarity index 100%
rename from maas/templates/var/_secret.tpl
rename to maas/templates/etc/_secret.tpl
diff --git a/maas/templates/service.yaml b/maas/templates/service.yaml
index fce28c7ac8..0a78d6c56d 100644
--- a/maas/templates/service.yaml
+++ b/maas/templates/service.yaml
@@ -5,7 +5,6 @@ metadata:
   labels:
     app: maas-region-ui
 spec:
-  type: NodePort
   ports:
   - port: {{ .Values.network.port.service_gui }}
     targetPort: {{ .Values.network.port.service_gui_target }}
diff --git a/maas/values.yaml b/maas/values.yaml
index 0f46f04f67..8a7862ec89 100644
--- a/maas/values.yaml
+++ b/maas/values.yaml
@@ -4,7 +4,7 @@
 
 images:
   maas_region: quay.io/attcomdev/maas-region:2.1.2-1
-  maas_rack: quay.io/attcomdev/maas-rack:2.1.2
+  maas_rack: quay.io/attcomdev/maas-rack:2.1.2-1
 
 labels:
   node_selector_key: openstack-control-plane

From d43b95a1526bf9a9626185c3141f683a0d372516 Mon Sep 17 00:00:00 2001
From: Alan Meadows <alan.meadows@gmail.com>
Date: Thu, 12 Jan 2017 15:23:09 -0800
Subject: [PATCH 02/10] Allow specifying the keystone token provider

The new default for mitaka+ is fernet tokens which not all
container images support.  This allows the operator to
specify the token provider, allowing uuid token usage in
images which is required until the infrastructure to setup
and distribute fernet keys is created.
---
 keystone/templates/etc/_keystone.conf.tpl | 5 ++++-
 keystone/values.yaml                      | 9 ++++++---
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/keystone/templates/etc/_keystone.conf.tpl b/keystone/templates/etc/_keystone.conf.tpl
index a503b4a0e5..573eba9e0e 100644
--- a/keystone/templates/etc/_keystone.conf.tpl
+++ b/keystone/templates/etc/_keystone.conf.tpl
@@ -1,5 +1,5 @@
 [DEFAULT]
-debug = {{ .Values.misc.debug }}
+debug = {{ .Values.api.default.debug }}
 use_syslog = False
 use_stderr = True
 
@@ -10,6 +10,9 @@ max_retries = -1
 [memcache]
 servers = {{ include "memcached_host" . }}:11211
 
+[token]
+provider = {{ .Values.api.token.provider }}
+
 [cache]
 backend = dogpile.cache.memcached
 memcache_servers = {{ include "memcached_host" . }}:11211
diff --git a/keystone/values.yaml b/keystone/values.yaml
index e6ead52acc..a4a84a67bf 100644
--- a/keystone/values.yaml
+++ b/keystone/values.yaml
@@ -31,6 +31,12 @@ keystone:
   admin_password: password
   admin_project_name: admin
 
+api:
+  default:
+    debug: false
+  token:
+    provider: uuid
+
 network:
   port:
     admin: 35357
@@ -52,9 +58,6 @@ database:
   keystone_password: password
   keystone_user: keystone
 
-misc:
-  debug: false
-
 dependencies:
   api:
     jobs:

From f1ef55de6ec8768a91bd3cda94cb5f74f22411bd Mon Sep 17 00:00:00 2001
From: Pete Birley <pete@port.direct>
Date: Thu, 12 Jan 2017 23:50:26 +0000
Subject: [PATCH 03/10] Update Heat to mount Policy at engine statefulsets and
 set client endpoints

---
 heat/templates/etc/_heat.conf.tpl      | 8 ++++++++
 heat/templates/statefulset-engine.yaml | 7 +++++++
 heat/values.yaml                       | 2 +-
 3 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/heat/templates/etc/_heat.conf.tpl b/heat/templates/etc/_heat.conf.tpl
index e902fe7114..b268a6ecfd 100644
--- a/heat/templates/etc/_heat.conf.tpl
+++ b/heat/templates/etc/_heat.conf.tpl
@@ -80,3 +80,11 @@ region_name = {{ .Values.keystone.heat_trustee_region_name }}
 user_domain_name = {{ .Values.keystone.heat_trustee_user_domain }}
 username = {{ .Values.keystone.heat_trustee_user }}
 password = {{ .Values.keystone.heat_trustee_password }}
+
+
+[clients]
+endpoint_type = internalURL
+
+[clients_keystone]
+endpoint_type = internalURL
+auth_uri = {{ include "endpoint_keystone_internal" . }}
diff --git a/heat/templates/statefulset-engine.yaml b/heat/templates/statefulset-engine.yaml
index 0478e39173..36aacba350 100644
--- a/heat/templates/statefulset-engine.yaml
+++ b/heat/templates/statefulset-engine.yaml
@@ -55,6 +55,10 @@ spec:
               mountPath: /etc/heat/conf/heat.conf
               subPath: heat.conf
               readOnly: true
+            - name: heatpolicy
+              mountPath: /etc/heat/policy.json
+              subPath: policy.json
+              readOnly: true
       volumes:
         - name: pod-etc-heat
           emptyDir: {}
@@ -63,3 +67,6 @@ spec:
         - name: heatconf
           configMap:
             name: heat-etc
+        - name: heatpolicy
+          configMap:
+            name: heat-etc
diff --git a/heat/values.yaml b/heat/values.yaml
index 6373aa22de..ecd9c02ccf 100644
--- a/heat/values.yaml
+++ b/heat/values.yaml
@@ -108,7 +108,7 @@ resources:
     workers: 8
 
 misc:
-  debug: false
+  debug: true
 
 secrets:
   keystone_admin:

From fcc594aac86714f52204ab7f1d9c5d19af86f7bf Mon Sep 17 00:00:00 2001
From: DTadrzak <daniel.tadrzak@intel.com>
Date: Wed, 11 Jan 2017 14:29:04 +0100
Subject: [PATCH 04/10] Adding: templates for init-containers. Unfortunately I
 need to break it for two templates, because i don't how to pass two variables
 to template.

PR also adjust layout of configuration files in Nova.

Signed-off-by: DTadrzak <daniel.tadrzak@intel.com>
---
 cinder/templates/deployment-api.yaml        | 27 ++-------------
 cinder/templates/deployment-scheduler.yaml  | 27 ++-------------
 cinder/templates/deployment-volume.yaml     | 27 ++-------------
 cinder/templates/job-db-init.yaml           | 27 ++-------------
 cinder/templates/job-db-sync.yaml           | 27 ++-------------
 cinder/templates/job-ks-endpoints.yaml.yaml | 23 ++-----------
 cinder/templates/job-ks-service.yaml        | 23 ++-----------
 cinder/templates/job-ks-user.yaml           | 23 ++-----------
 common/templates/_funcs.tpl                 | 35 +++++++++++++++++++
 glance/templates/api.yaml                   | 28 ++--------------
 glance/templates/db-sync.yaml               | 27 ++-------------
 glance/templates/init.yaml                  | 27 ++-------------
 glance/templates/post.yaml                  | 27 ++-------------
 glance/templates/registry.yaml              | 27 ++-------------
 glance/values.yaml                          |  1 +
 heat/templates/deployment-api.yaml          | 27 ++-------------
 heat/templates/deployment-cfn.yaml          | 27 ++-------------
 heat/templates/deployment-cloudwatch.yaml   | 27 ++-------------
 heat/templates/job-db-init.yaml             | 27 ++-------------
 heat/templates/job-db-sync.yaml             | 27 ++-------------
 heat/templates/job-ks-endpoints.yaml.yaml   | 23 ++-----------
 heat/templates/job-ks-service.yaml          | 23 ++-----------
 heat/templates/job-ks-user.yaml             | 23 ++-----------
 heat/templates/statefulset-engine.yaml      | 27 ++-------------
 horizon/templates/deployment.yaml           | 23 ++-----------
 horizon/values.yaml                         |  2 +-
 keystone/templates/deployment.yaml          | 33 ++----------------
 keystone/templates/job-db-sync.yaml         | 27 ++-------------
 keystone/templates/job-init.yaml            | 27 ++-------------
 keystone/values.yaml                        |  2 +-
 nova/templates/daemonset-compute.yaml       | 35 +++----------------
 nova/templates/daemonset-libvirt.yaml       | 35 +++----------------
 nova/templates/deployment-api-metadata.yaml | 37 +++------------------
 nova/templates/deployment-api-osapi.yaml    | 35 +++----------------
 nova/templates/deployment-conductor.yaml    | 33 ++----------------
 nova/templates/deployment-consoleauth.yaml  | 33 ++----------------
 nova/templates/deployment-scheduler.yaml    | 33 ++----------------
 nova/templates/job-db-sync.yaml             | 31 +++--------------
 nova/templates/job-init.yaml                | 31 +++--------------
 nova/templates/job-post.yaml                | 31 +++--------------
 nova/values.yaml                            |  4 +--
 41 files changed, 131 insertions(+), 928 deletions(-)

diff --git a/cinder/templates/deployment-api.yaml b/cinder/templates/deployment-api.yaml
index 6abc136d1a..64a522d070 100644
--- a/cinder/templates/deployment-api.yaml
+++ b/cinder/templates/deployment-api.yaml
@@ -19,31 +19,8 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": {{ .Values.images.dep_check | quote }},
-            "imagePullPolicy": {{ .Values.images.pull_policy | quote }},
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.api.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.api.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.api }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/cinder/templates/deployment-scheduler.yaml b/cinder/templates/deployment-scheduler.yaml
index fabcf3361a..57a963a437 100644
--- a/cinder/templates/deployment-scheduler.yaml
+++ b/cinder/templates/deployment-scheduler.yaml
@@ -19,31 +19,8 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": {{ .Values.images.dep_check | quote }},
-            "imagePullPolicy": {{ .Values.images.pull_policy | quote }},
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.scheduler.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.scheduler.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.scheduler }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/cinder/templates/deployment-volume.yaml b/cinder/templates/deployment-volume.yaml
index 7f6cc18bd6..5debc13481 100644
--- a/cinder/templates/deployment-volume.yaml
+++ b/cinder/templates/deployment-volume.yaml
@@ -19,31 +19,8 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": {{ .Values.images.dep_check | quote }},
-            "imagePullPolicy": {{ .Values.images.pull_policy | quote }},
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.volume.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.volume.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.volume }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/cinder/templates/job-db-init.yaml b/cinder/templates/job-db-init.yaml
index 951c6d1718..96d36e70d5 100644
--- a/cinder/templates/job-db-init.yaml
+++ b/cinder/templates/job-db-init.yaml
@@ -6,31 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": {{ .Values.images.dep_check | quote }},
-            "imagePullPolicy": {{ .Values.images.pull_policy | quote }},
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.db_init.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.db_init.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.db_init }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/cinder/templates/job-db-sync.yaml b/cinder/templates/job-db-sync.yaml
index b44d4799cf..5b5c75beab 100644
--- a/cinder/templates/job-db-sync.yaml
+++ b/cinder/templates/job-db-sync.yaml
@@ -6,31 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": {{ .Values.images.dep_check | quote }},
-            "imagePullPolicy": {{ .Values.images.pull_policy | quote }},
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.db_sync.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.db_sync.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.db_sync }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/cinder/templates/job-ks-endpoints.yaml.yaml b/cinder/templates/job-ks-endpoints.yaml.yaml
index 936a866b1b..778359399c 100644
--- a/cinder/templates/job-ks-endpoints.yaml.yaml
+++ b/cinder/templates/job-ks-endpoints.yaml.yaml
@@ -8,27 +8,8 @@ spec:
   template:
     metadata:
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": {{ .Values.images.dep_check | quote }},
-            "imagePullPolicy": {{ .Values.images.pull_policy | quote }},
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{ include "joinListWithColon" .Values.dependencies.ks_service.service }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.ks_endpoints }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/cinder/templates/job-ks-service.yaml b/cinder/templates/job-ks-service.yaml
index 6a6f32a42a..f6832e1870 100644
--- a/cinder/templates/job-ks-service.yaml
+++ b/cinder/templates/job-ks-service.yaml
@@ -8,27 +8,8 @@ spec:
   template:
     metadata:
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": {{ .Values.images.dep_check | quote }},
-            "imagePullPolicy": {{ .Values.images.pull_policy | quote }},
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{ include "joinListWithColon" .Values.dependencies.ks_service.service }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.ks_service }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/cinder/templates/job-ks-user.yaml b/cinder/templates/job-ks-user.yaml
index 6690863997..fc7d50d5dc 100644
--- a/cinder/templates/job-ks-user.yaml
+++ b/cinder/templates/job-ks-user.yaml
@@ -8,27 +8,8 @@ spec:
   template:
     metadata:
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": {{ .Values.images.dep_check | quote }},
-            "imagePullPolicy": {{ .Values.images.pull_policy | quote }},
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{ include "joinListWithColon" .Values.dependencies.ks_user.service }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.ks_user }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/common/templates/_funcs.tpl b/common/templates/_funcs.tpl
index fe6c9a675e..f6031fede9 100644
--- a/common/templates/_funcs.tpl
+++ b/common/templates/_funcs.tpl
@@ -21,3 +21,38 @@
 {{- $wtf := $context.Template.Name | replace $last $name -}}
 {{- include $wtf $context | sha256sum | quote -}}
 {{- end -}}
+
+{{- define "init-containers-header"}}
+        pod.beta.kubernetes.io/init-containers: '[
+          {
+            "name": "init",
+            "image": {{ .Values.images.dep_check | default "quay.io/stackanetes/kubernetes-entrypoint:v0.1.0" | quote }},
+            "imagePullPolicy": {{ .Values.images.pull_policy | default "IfNotPresent" | quote }},
+            "env": [
+              {
+                "name": "NAMESPACE",
+                "value": "{{ .Release.Namespace }}"
+              },
+{{- end -}}
+
+{{- define "init-containers-footer" }}
+              {
+                "name": "INTERFACE_NAME",
+                "value": "eth0"
+              },
+              {
+                "name": "DEPENDENCY_SERVICE",
+                "value": "{{  include "joinListWithColon"  .service }}"
+              },
+              {
+                "name": "DEPENDENCY_JOBS",
+                "value": "{{  include "joinListWithColon" .jobs }}"
+              },
+              {
+                "name": "COMMAND",
+                "value": "echo done"
+              }
+            ]
+          }
+        ]'
+{{- end -}}
\ No newline at end of file
diff --git a/glance/templates/api.yaml b/glance/templates/api.yaml
index 53e9cc77b0..988e34ecaa 100644
--- a/glance/templates/api.yaml
+++ b/glance/templates/api.yaml
@@ -17,35 +17,11 @@ spec:
       labels:
         app: glance-api
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": "quay.io/stackanetes/kubernetes-entrypoint:v0.1.0",
-            "imagePullPolicy": "{{ .Values.images.pull_policy }}",
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.api.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.api.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.api }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
-
       containers:
         - name: glance-api
           image: {{ .Values.images.api }}
diff --git a/glance/templates/db-sync.yaml b/glance/templates/db-sync.yaml
index fe0c1f56a3..209485beef 100644
--- a/glance/templates/db-sync.yaml
+++ b/glance/templates/db-sync.yaml
@@ -6,31 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": "quay.io/stackanetes/kubernetes-entrypoint:v0.1.0",
-            "imagePullPolicy": "{{ .Values.images.pull_policy }}",
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },            
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.db_sync.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.db_sync.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.db_sync }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/glance/templates/init.yaml b/glance/templates/init.yaml
index 48b97a7cbd..f92855b1b0 100644
--- a/glance/templates/init.yaml
+++ b/glance/templates/init.yaml
@@ -6,31 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": "quay.io/stackanetes/kubernetes-entrypoint:v0.1.0",
-            "imagePullPolicy": "{{ .Values.images.pull_policy }}",
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.init.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.init.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.init }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/glance/templates/post.yaml b/glance/templates/post.yaml
index 4fe1c195bf..a0fa89c612 100644
--- a/glance/templates/post.yaml
+++ b/glance/templates/post.yaml
@@ -6,31 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": "quay.io/stackanetes/kubernetes-entrypoint:v0.1.0",
-            "imagePullPolicy": "{{ .Values.images.pull_policy }}",
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },            
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.post.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.post.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.post }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/glance/templates/registry.yaml b/glance/templates/registry.yaml
index 998d64ad32..51fb9ec62c 100644
--- a/glance/templates/registry.yaml
+++ b/glance/templates/registry.yaml
@@ -9,31 +9,8 @@ spec:
       labels:
         app: glance-registry
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": "quay.io/stackanetes/kubernetes-entrypoint:v0.1.0",
-            "imagePullPolicy": "{{ .Values.images.pull_policy }}",
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.registry.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.registry.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.registry }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/glance/values.yaml b/glance/values.yaml
index a3c6886a54..e45853064f 100644
--- a/glance/values.yaml
+++ b/glance/values.yaml
@@ -15,6 +15,7 @@ images:
   init: quay.io/stackanetes/stackanetes-kolla-toolbox:newton
   registry: quay.io/stackanetes/stackanetes-glance-registry:newton
   post: quay.io/stackanetes/stackanetes-kolla-toolbox:newton
+  dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.1.0
   pull_policy: "IfNotPresent"
 
 upgrades:
diff --git a/heat/templates/deployment-api.yaml b/heat/templates/deployment-api.yaml
index 759571c4e3..d05e7fa3d5 100755
--- a/heat/templates/deployment-api.yaml
+++ b/heat/templates/deployment-api.yaml
@@ -9,31 +9,8 @@ spec:
       labels:
         app: heat-api
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": {{ .Values.images.dep_check | quote }},
-            "imagePullPolicy": {{ .Values.images.pull_policy | quote }},
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.api.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.api.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.api }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/heat/templates/deployment-cfn.yaml b/heat/templates/deployment-cfn.yaml
index 94d6d55e35..ca1d998e81 100644
--- a/heat/templates/deployment-cfn.yaml
+++ b/heat/templates/deployment-cfn.yaml
@@ -9,31 +9,8 @@ spec:
       labels:
         app: heat-cfn
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": {{ .Values.images.dep_check | quote }},
-            "imagePullPolicy": {{ .Values.images.pull_policy | quote }},
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.cfn.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.cfn.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.cnf }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/heat/templates/deployment-cloudwatch.yaml b/heat/templates/deployment-cloudwatch.yaml
index d4753011c6..3c350f402b 100644
--- a/heat/templates/deployment-cloudwatch.yaml
+++ b/heat/templates/deployment-cloudwatch.yaml
@@ -9,31 +9,8 @@ spec:
       labels:
         app: heat-cloudwatch
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": {{ .Values.images.dep_check | quote }},
-            "imagePullPolicy": {{ .Values.images.pull_policy | quote }},
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.cloudwatch.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.cloudwatch.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.cloudwatch }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/heat/templates/job-db-init.yaml b/heat/templates/job-db-init.yaml
index de256fbdf0..bad7afa0b3 100644
--- a/heat/templates/job-db-init.yaml
+++ b/heat/templates/job-db-init.yaml
@@ -6,31 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": {{ .Values.images.dep_check | quote }},
-            "imagePullPolicy": {{ .Values.images.pull_policy | quote }},
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.db_init.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.db_init.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.db_init }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/heat/templates/job-db-sync.yaml b/heat/templates/job-db-sync.yaml
index 8a7f90f3ed..aa87773e04 100644
--- a/heat/templates/job-db-sync.yaml
+++ b/heat/templates/job-db-sync.yaml
@@ -6,31 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": {{ .Values.images.dep_check | quote }},
-            "imagePullPolicy": {{ .Values.images.pull_policy | quote }},
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.db_sync.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.db_sync.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.db_sync }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/heat/templates/job-ks-endpoints.yaml.yaml b/heat/templates/job-ks-endpoints.yaml.yaml
index d82c4fd525..a3dbc3a40d 100644
--- a/heat/templates/job-ks-endpoints.yaml.yaml
+++ b/heat/templates/job-ks-endpoints.yaml.yaml
@@ -8,27 +8,8 @@ spec:
   template:
     metadata:
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": {{ .Values.images.dep_check | quote }},
-            "imagePullPolicy": {{ .Values.images.pull_policy | quote }},
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{ include "joinListWithColon" .Values.dependencies.ks_service.service }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.ks_endpoints }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/heat/templates/job-ks-service.yaml b/heat/templates/job-ks-service.yaml
index 651422c355..966671dcb4 100644
--- a/heat/templates/job-ks-service.yaml
+++ b/heat/templates/job-ks-service.yaml
@@ -8,27 +8,8 @@ spec:
   template:
     metadata:
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": {{ .Values.images.dep_check | quote }},
-            "imagePullPolicy": {{ .Values.images.pull_policy | quote }},
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{ include "joinListWithColon" .Values.dependencies.ks_service.service }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.ks_service }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/heat/templates/job-ks-user.yaml b/heat/templates/job-ks-user.yaml
index 89c2d21f76..e6218b5623 100644
--- a/heat/templates/job-ks-user.yaml
+++ b/heat/templates/job-ks-user.yaml
@@ -11,27 +11,8 @@ spec:
   template:
     metadata:
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": {{ .Values.images.dep_check | quote }},
-            "imagePullPolicy": {{ .Values.images.pull_policy | quote }},
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{ include "joinListWithColon" .Values.dependencies.ks_user.service }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.ks_user }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/heat/templates/statefulset-engine.yaml b/heat/templates/statefulset-engine.yaml
index 0478e39173..483d8bdff7 100644
--- a/heat/templates/statefulset-engine.yaml
+++ b/heat/templates/statefulset-engine.yaml
@@ -10,31 +10,8 @@ spec:
       labels:
         app: heat-engine
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": {{ .Values.images.dep_check | quote }},
-            "imagePullPolicy": {{ .Values.images.pull_policy | quote }},
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.engine.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.engine.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.engine }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/horizon/templates/deployment.yaml b/horizon/templates/deployment.yaml
index f3a65f02e7..2e332b672f 100644
--- a/horizon/templates/deployment.yaml
+++ b/horizon/templates/deployment.yaml
@@ -19,27 +19,8 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": "{{ .Values.images.entrypoint }}",
-            "imagePullPolicy": "{{ .Values.images.pull_policy }}",
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.dashboard.service }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }              
-            ]
-          }
-        ]'        
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.dashboard }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/horizon/values.yaml b/horizon/values.yaml
index f9a19fd4ee..84caa6d950 100644
--- a/horizon/values.yaml
+++ b/horizon/values.yaml
@@ -6,7 +6,7 @@
 replicas: 1
 
 images:
-  entrypoint: quay.io/stackanetes/kubernetes-entrypoint:v0.1.0
+  dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.1.0
   horizon: quay.io/stackanetes/stackanetes-horizon:newton
   pull_policy: "IfNotPresent"
 
diff --git a/keystone/templates/deployment.yaml b/keystone/templates/deployment.yaml
index 49917adaed..5094759d43 100644
--- a/keystone/templates/deployment.yaml
+++ b/keystone/templates/deployment.yaml
@@ -18,36 +18,9 @@ spec:
         app: keystone-api
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
-        configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": "{{ .Values.images.entrypoint }}",
-            "imagePullPolicy": "{{ .Values.images.pull_policy }}",
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "INTERFACE_NAME",
-                "value": "eth0"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.api.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.api.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }              
-            ]
-          }
-        ]'
+        configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.api }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/keystone/templates/job-db-sync.yaml b/keystone/templates/job-db-sync.yaml
index c1f4954279..d85320a435 100644
--- a/keystone/templates/job-db-sync.yaml
+++ b/keystone/templates/job-db-sync.yaml
@@ -6,31 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": "{{ .Values.images.entrypoint }}",
-            "imagePullPolicy": "{{ .Values.images.pull_policy }}",
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },            
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.db_sync.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.db_sync.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.db_sync }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/keystone/templates/job-init.yaml b/keystone/templates/job-init.yaml
index 1f395255dc..f2e64c4804 100644
--- a/keystone/templates/job-init.yaml
+++ b/keystone/templates/job-init.yaml
@@ -6,31 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": "{{ .Values.images.entrypoint }}",
-            "imagePullPolicy": "{{ .Values.images.pull_policy }}",
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.init.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.init.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.init }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/keystone/values.yaml b/keystone/values.yaml
index e6ead52acc..ccd3546041 100644
--- a/keystone/values.yaml
+++ b/keystone/values.yaml
@@ -13,7 +13,7 @@ images:
   db_sync: quay.io/stackanetes/stackanetes-keystone-api:newton
   api: quay.io/stackanetes/stackanetes-keystone-api:newton
   init: quay.io/stackanetes/stackanetes-kolla-toolbox:newton
-  entrypoint: quay.io/stackanetes/kubernetes-entrypoint:v0.1.0
+  dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.1.0
   pull_policy: "IfNotPresent"
 
 upgrades:
diff --git a/nova/templates/daemonset-compute.yaml b/nova/templates/daemonset-compute.yaml
index f9fcafd931..d4fe85205e 100644
--- a/nova/templates/daemonset-compute.yaml
+++ b/nova/templates/daemonset-compute.yaml
@@ -10,35 +10,8 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": "{{ .Values.image.entrypoint }}",
-            "imagePullPolicy": "{{ .Values.image.pull_policy }}",            
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "INTERFACE_NAME",
-                "value": "eth0"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.compute.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.compute.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.compute }}
     spec:
       nodeSelector:
         {{ .Values.labels.compute_node_selector_key }}: {{ .Values.labels.compute_node_selector_value }}
@@ -49,8 +22,8 @@ spec:
       dnsPolicy: ClusterFirst
       containers:
         - name: nova-compute
-          image: {{ .Values.image.compute }}
-          imagePullPolicy: {{ .Values.image.pull_policy }}
+          image: {{ .Values.images.compute }}
+          imagePullPolicy: Always
           securityContext:
             privileged: true
           command:
diff --git a/nova/templates/daemonset-libvirt.yaml b/nova/templates/daemonset-libvirt.yaml
index 3511c0a2e7..13e673e4e2 100644
--- a/nova/templates/daemonset-libvirt.yaml
+++ b/nova/templates/daemonset-libvirt.yaml
@@ -10,35 +10,8 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": "{{ .Values.image.entrypoint }}",
-            "imagePullPolicy": "{{ .Values.image.pull_policy }}",            
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "INTERFACE_NAME",
-                "value": "eth0"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.libvirt.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.libvirt.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.libvirt }}
     spec:
       nodeSelector:
         {{ .Values.labels.compute_node_selector_key }}: {{ .Values.labels.compute_node_selector_value }}
@@ -48,8 +21,8 @@ spec:
       dnsPolicy: ClusterFirst
       containers:
         - name: nova-libvirt
-          image: {{ .Values.image.libvirt }}
-          imagePullPolicy: {{ .Values.image.pull_policy }}
+          image: {{ .Values.images.libvirt }}
+          imagePullPolicy: Always
           securityContext:
             privileged: true
           command:
diff --git a/nova/templates/deployment-api-metadata.yaml b/nova/templates/deployment-api-metadata.yaml
index 2e1a6929f6..fe3ce88d33 100644
--- a/nova/templates/deployment-api-metadata.yaml
+++ b/nova/templates/deployment-api-metadata.yaml
@@ -19,42 +19,15 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": "{{ .Values.image.entrypoint }}",
-            "imagePullPolicy": "{{ .Values.image.pull_policy }}",            
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "INTERFACE_NAME",
-                "value": "eth0"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.api.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.api.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }              
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.api }}
     spec:
       nodeSelector:
         {{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_node_selector_value }}
       containers:
-        - name: nova-api-metadata
-          image: {{ .Values.image.api }}
-          imagePullPolicy: {{ .Values.image.pull_policy }}
+        - name: nova-api
+          image: {{ .Values.images.api }}
+          imagePullPolicy: {{ .Values.images.pull_policy }}
           # https://bugs.launchpad.net/kolla-mesos/+bug/1546007
           securityContext:
             capabilities:
diff --git a/nova/templates/deployment-api-osapi.yaml b/nova/templates/deployment-api-osapi.yaml
index b37fe438fa..49e998fd92 100644
--- a/nova/templates/deployment-api-osapi.yaml
+++ b/nova/templates/deployment-api-osapi.yaml
@@ -19,41 +19,14 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": "{{ .Values.image.entrypoint }}",
-            "imagePullPolicy": "{{ .Values.image.pull_policy }}",            
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "INTERFACE_NAME",
-                "value": "eth0"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.api.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.api.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }              
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.api }}
     spec:
       nodeSelector:
         {{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_node_selector_value }}
       containers:
-        - name: nova-api-osapi
-          image: {{ .Values.image.api }}
+        - name: nova-osapi
+          image: {{ .Values.images.api }}
           imagePullPolicy: {{ .Values.image.pull_policy }}
           securityContext:
             capabilities:
diff --git a/nova/templates/deployment-conductor.yaml b/nova/templates/deployment-conductor.yaml
index 1d300e109a..514e384a50 100644
--- a/nova/templates/deployment-conductor.yaml
+++ b/nova/templates/deployment-conductor.yaml
@@ -19,41 +19,14 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": "{{ .Values.image.entrypoint }}",
-            "imagePullPolicy": "{{ .Values.image.pull_policy }}",            
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "INTERFACE_NAME",
-                "value": "eth0"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.conductor.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.conductor.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }              
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.conductor }}
     spec:
       nodeSelector:
         {{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_node_selector_value }}
       containers:
         - name: nova-conductor
-          image: {{ .Values.image.conductor }}
+          image: {{ .Values.images.conductor }}
           imagePullPolicy: {{ .Values.image.pull_policy }}
           command:
             - nova-conductor
diff --git a/nova/templates/deployment-consoleauth.yaml b/nova/templates/deployment-consoleauth.yaml
index 453647b41e..1ee8f4e257 100644
--- a/nova/templates/deployment-consoleauth.yaml
+++ b/nova/templates/deployment-consoleauth.yaml
@@ -19,41 +19,14 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": "{{ .Values.image.entrypoint }}",
-            "imagePullPolicy": "{{ .Values.image.pull_policy }}",            
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "INTERFACE_NAME",
-                "value": "eth0"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.consoleauth.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.consoleauth.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }              
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.consoleauth }}
     spec:
       nodeSelector:
         {{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_node_selector_value }}
       containers:
         - name: nova-consoleauth
-          image: {{ .Values.image.consoleauth }}
+          image: {{ .Values.images.consoleauth }}
           imagePullPolicy: {{ .Values.image.pull_policy }}
           command:
             - nova-consoleauth
diff --git a/nova/templates/deployment-scheduler.yaml b/nova/templates/deployment-scheduler.yaml
index ebef279bc8..4d97c2a53d 100644
--- a/nova/templates/deployment-scheduler.yaml
+++ b/nova/templates/deployment-scheduler.yaml
@@ -19,41 +19,14 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": "{{ .Values.image.entrypoint }}",
-            "imagePullPolicy": "{{ .Values.image.pull_policy }}",            
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "INTERFACE_NAME",
-                "value": "eth0"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.scheduler.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.scheduler.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }              
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.scheduler }}
     spec:
       nodeSelector:
         {{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_node_selector_value }}
       containers:
         - name: nova-scheduler
-          image: {{ .Values.image.scheduler }}
+          image: {{ .Values.images.scheduler }}
           imagePullPolicy: {{ .Values.image.pull_policy }}
           command:
             - nova-scheduler
diff --git a/nova/templates/job-db-sync.yaml b/nova/templates/job-db-sync.yaml
index da81fe0e13..881b1681dc 100644
--- a/nova/templates/job-db-sync.yaml
+++ b/nova/templates/job-db-sync.yaml
@@ -6,39 +6,16 @@ spec:
   template:
     metadata:
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": "{{ .Values.image.entrypoint }}",
-            "imagePullPolicy": "{{ .Values.image.pull_policy }}",        
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },            
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.db_sync.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.db_sync.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.db_sync }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
       containers:
         - name: nova-db-sync
-          image: {{ .Values.image.db_sync }}
-          imagePullPolicy: {{ .Values.image.pull_policy }}
+          image: {{ .Values.images.db_sync }}
+          imagePullPolicy: {{ .Values.images.pull_policy }}
           command:
             - bash
             - /tmp/db-sync.sh
diff --git a/nova/templates/job-init.yaml b/nova/templates/job-init.yaml
index 2ca373358a..39ee62cfc0 100644
--- a/nova/templates/job-init.yaml
+++ b/nova/templates/job-init.yaml
@@ -6,39 +6,16 @@ spec:
   template:
     metadata:
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": "{{ .Values.image.entrypoint }}",
-            "imagePullPolicy": "{{ .Values.image.pull_policy }}",            
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.init.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.init.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.init }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
       containers:
         - name: nova-init
-          image: {{ .Values.image.init }}
-          imagePullPolicy: {{ .Values.image.pull_policy }}
+          image: {{ .Values.images.init }}
+          imagePullPolicy: {{ .Values.images.pull_policy }}
           command:
             - bash
             - /tmp/init.sh
diff --git a/nova/templates/job-post.yaml b/nova/templates/job-post.yaml
index e22373e02f..ccf5059432 100644
--- a/nova/templates/job-post.yaml
+++ b/nova/templates/job-post.yaml
@@ -6,39 +6,16 @@ spec:
   template:
     metadata:
       annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": "{{ .Values.image.entrypoint }}",
-            "imagePullPolicy": "{{ .Values.image.pull_policy }}",            
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },            
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.post.service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .Values.dependencies.post.jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+      {{  include "init-containers-header" . }}
+      {{  include "init-containers-footer" .Values.dependencies.post }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
       containers:
         - name: nova-post
-          image: {{ .Values.image.post }}
-          imagePullPolicy: {{ .Values.image.pull_policy }}
+          image: {{ .Values.images.post }}
+          imagePullPolicy: {{ .Values.images.pull_policy }}
           command:
             - bash
             - /tmp/post.sh
diff --git a/nova/values.yaml b/nova/values.yaml
index 199e2e2142..1888add52b 100644
--- a/nova/values.yaml
+++ b/nova/values.yaml
@@ -12,7 +12,7 @@ labels:
 control_replicas: 1
 compute_replicas: 1
 
-image:
+images:
   init: quay.io/stackanetes/stackanetes-kolla-toolbox:newton
   db_sync: quay.io/stackanetes/stackanetes-nova-api:newton
   api: quay.io/stackanetes/stackanetes-nova-api:newton
@@ -23,7 +23,7 @@ image:
   compute: quay.io/stackanetes/stackanetes-nova-compute:newton
   libvirt: quay.io/stackanetes/stackanetes-nova-libvirt:newton
   post: quay.io/stackanetes/stackanetes-kolla-toolbox:newton
-  entrypoint: quay.io/stackanetes/kubernetes-entrypoint:v0.1.0
+  dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.1.0
   pull_policy: "IfNotPresent"
 
 upgrades:

From d3d38876c86ae12835e7be6f4a8aaece27abfa26 Mon Sep 17 00:00:00 2001
From: DTadrzak <daniel.tadrzak@intel.com>
Date: Fri, 13 Jan 2017 13:27:13 +0100
Subject: [PATCH 05/10] A few changes according to Alan's review.

Signed-off-by: DTadrzak <daniel.tadrzak@intel.com>
---
 cinder/templates/deployment-api.yaml        |  4 ++--
 cinder/templates/deployment-scheduler.yaml  |  4 ++--
 cinder/templates/deployment-volume.yaml     |  4 ++--
 cinder/templates/job-db-init.yaml           |  4 ++--
 cinder/templates/job-db-sync.yaml           |  4 ++--
 cinder/templates/job-ks-endpoints.yaml.yaml |  4 ++--
 cinder/templates/job-ks-service.yaml        |  4 ++--
 cinder/templates/job-ks-user.yaml           |  4 ++--
 common/templates/_funcs.tpl                 | 22 ++++++++++-----------
 glance/templates/api.yaml                   |  4 ++--
 glance/templates/db-sync.yaml               |  4 ++--
 glance/templates/init.yaml                  |  4 ++--
 glance/templates/post.yaml                  |  4 ++--
 glance/templates/registry.yaml              |  4 ++--
 heat/templates/deployment-api.yaml          |  4 ++--
 heat/templates/deployment-cfn.yaml          |  4 ++--
 heat/templates/deployment-cloudwatch.yaml   |  4 ++--
 heat/templates/job-db-init.yaml             |  4 ++--
 heat/templates/job-db-sync.yaml             |  4 ++--
 heat/templates/job-ks-endpoints.yaml.yaml   |  4 ++--
 heat/templates/job-ks-service.yaml          |  4 ++--
 heat/templates/job-ks-user.yaml             |  4 ++--
 heat/templates/statefulset-engine.yaml      |  4 ++--
 horizon/templates/deployment.yaml           |  4 ++--
 keystone/templates/deployment.yaml          |  4 ++--
 keystone/templates/job-db-sync.yaml         |  4 ++--
 keystone/templates/job-init.yaml            |  4 ++--
 mariadb_restart.sh                          |  9 +++++++++
 nova/templates/daemonset-compute.yaml       |  4 ++--
 nova/templates/daemonset-libvirt.yaml       |  4 ++--
 nova/templates/deployment-api-metadata.yaml |  4 ++--
 nova/templates/deployment-api-osapi.yaml    |  4 ++--
 nova/templates/deployment-conductor.yaml    |  4 ++--
 nova/templates/deployment-consoleauth.yaml  |  4 ++--
 nova/templates/deployment-scheduler.yaml    |  4 ++--
 nova/templates/job-db-sync.yaml             |  4 ++--
 nova/templates/job-init.yaml                |  4 ++--
 nova/templates/job-post.yaml                |  4 ++--
 38 files changed, 92 insertions(+), 83 deletions(-)
 create mode 100644 mariadb_restart.sh

diff --git a/cinder/templates/deployment-api.yaml b/cinder/templates/deployment-api.yaml
index 64a522d070..58f14d61c5 100644
--- a/cinder/templates/deployment-api.yaml
+++ b/cinder/templates/deployment-api.yaml
@@ -19,8 +19,8 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.api }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.api | indent 8 }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/cinder/templates/deployment-scheduler.yaml b/cinder/templates/deployment-scheduler.yaml
index 57a963a437..38f5e7c90d 100644
--- a/cinder/templates/deployment-scheduler.yaml
+++ b/cinder/templates/deployment-scheduler.yaml
@@ -19,8 +19,8 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.scheduler }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.scheduler | indent 8 }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/cinder/templates/deployment-volume.yaml b/cinder/templates/deployment-volume.yaml
index 5debc13481..1c3d5c29d6 100644
--- a/cinder/templates/deployment-volume.yaml
+++ b/cinder/templates/deployment-volume.yaml
@@ -19,8 +19,8 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.volume }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.volume | indent 8 }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/cinder/templates/job-db-init.yaml b/cinder/templates/job-db-init.yaml
index 96d36e70d5..d7f9f7dff2 100644
--- a/cinder/templates/job-db-init.yaml
+++ b/cinder/templates/job-db-init.yaml
@@ -6,8 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.db_init }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.db_init | indent 8 }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/cinder/templates/job-db-sync.yaml b/cinder/templates/job-db-sync.yaml
index 5b5c75beab..5639264b35 100644
--- a/cinder/templates/job-db-sync.yaml
+++ b/cinder/templates/job-db-sync.yaml
@@ -6,8 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.db_sync }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.db_sync | indent 8 }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/cinder/templates/job-ks-endpoints.yaml.yaml b/cinder/templates/job-ks-endpoints.yaml.yaml
index 778359399c..0f80510006 100644
--- a/cinder/templates/job-ks-endpoints.yaml.yaml
+++ b/cinder/templates/job-ks-endpoints.yaml.yaml
@@ -8,8 +8,8 @@ spec:
   template:
     metadata:
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.ks_endpoints }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.ks_endpoints | indent 8 }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/cinder/templates/job-ks-service.yaml b/cinder/templates/job-ks-service.yaml
index f6832e1870..ecc181bdd2 100644
--- a/cinder/templates/job-ks-service.yaml
+++ b/cinder/templates/job-ks-service.yaml
@@ -8,8 +8,8 @@ spec:
   template:
     metadata:
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.ks_service }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.ks_service | indent 8 }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/cinder/templates/job-ks-user.yaml b/cinder/templates/job-ks-user.yaml
index fc7d50d5dc..b25cf2f3e8 100644
--- a/cinder/templates/job-ks-user.yaml
+++ b/cinder/templates/job-ks-user.yaml
@@ -8,8 +8,8 @@ spec:
   template:
     metadata:
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.ks_user }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.ks_user | indent 8 }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/common/templates/_funcs.tpl b/common/templates/_funcs.tpl
index f6031fede9..abe6e1947b 100644
--- a/common/templates/_funcs.tpl
+++ b/common/templates/_funcs.tpl
@@ -22,17 +22,17 @@
 {{- include $wtf $context | sha256sum | quote -}}
 {{- end -}}
 
-{{- define "init-containers-header"}}
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-            "name": "init",
-            "image": {{ .Values.images.dep_check | default "quay.io/stackanetes/kubernetes-entrypoint:v0.1.0" | quote }},
-            "imagePullPolicy": {{ .Values.images.pull_policy | default "IfNotPresent" | quote }},
-            "env": [
-              {
-                "name": "NAMESPACE",
-                "value": "{{ .Release.Namespace }}"
-              },
+{{- define "dep-check-init-cont-header"}}
+pod.beta.kubernetes.io/init-containers: '[
+  {
+    "name": "init",
+    "image": {{ .Values.images.dep_check | default "quay.io/stackanetes/kubernetes-entrypoint:v0.1.0" | quote }},
+    "imagePullPolicy": {{ .Values.images.pull_policy | default "IfNotPresent" | quote }},
+    "env": [
+      {
+        "name": "NAMESPACE",
+        "value": "{{ .Release.Namespace }}"
+      },
 {{- end -}}
 
 {{- define "init-containers-footer" }}
diff --git a/glance/templates/api.yaml b/glance/templates/api.yaml
index 988e34ecaa..ac67d19fb0 100644
--- a/glance/templates/api.yaml
+++ b/glance/templates/api.yaml
@@ -17,8 +17,8 @@ spec:
       labels:
         app: glance-api
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.api }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.api | indent 8 }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/glance/templates/db-sync.yaml b/glance/templates/db-sync.yaml
index 209485beef..bae3d21222 100644
--- a/glance/templates/db-sync.yaml
+++ b/glance/templates/db-sync.yaml
@@ -6,8 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.db_sync }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.db_sync | indent 8 }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/glance/templates/init.yaml b/glance/templates/init.yaml
index f92855b1b0..c3d8c825a4 100644
--- a/glance/templates/init.yaml
+++ b/glance/templates/init.yaml
@@ -6,8 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.init }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.init | indent 8 }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/glance/templates/post.yaml b/glance/templates/post.yaml
index a0fa89c612..e9f3174365 100644
--- a/glance/templates/post.yaml
+++ b/glance/templates/post.yaml
@@ -6,8 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.post }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.post | indent 8 }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/glance/templates/registry.yaml b/glance/templates/registry.yaml
index 51fb9ec62c..59936aca2b 100644
--- a/glance/templates/registry.yaml
+++ b/glance/templates/registry.yaml
@@ -9,8 +9,8 @@ spec:
       labels:
         app: glance-registry
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.registry }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.registry | indent 8 }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/heat/templates/deployment-api.yaml b/heat/templates/deployment-api.yaml
index d05e7fa3d5..36c7461907 100755
--- a/heat/templates/deployment-api.yaml
+++ b/heat/templates/deployment-api.yaml
@@ -9,8 +9,8 @@ spec:
       labels:
         app: heat-api
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.api }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.api | indent 8 }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/heat/templates/deployment-cfn.yaml b/heat/templates/deployment-cfn.yaml
index ca1d998e81..b0b1e53a48 100644
--- a/heat/templates/deployment-cfn.yaml
+++ b/heat/templates/deployment-cfn.yaml
@@ -9,8 +9,8 @@ spec:
       labels:
         app: heat-cfn
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.cnf }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.cnf | indent 8 }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/heat/templates/deployment-cloudwatch.yaml b/heat/templates/deployment-cloudwatch.yaml
index 3c350f402b..3ae57ecd14 100644
--- a/heat/templates/deployment-cloudwatch.yaml
+++ b/heat/templates/deployment-cloudwatch.yaml
@@ -9,8 +9,8 @@ spec:
       labels:
         app: heat-cloudwatch
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.cloudwatch }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.cloudwatch | indent 8 }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/heat/templates/job-db-init.yaml b/heat/templates/job-db-init.yaml
index bad7afa0b3..9e32324f3b 100644
--- a/heat/templates/job-db-init.yaml
+++ b/heat/templates/job-db-init.yaml
@@ -6,8 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.db_init }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.db_init | indent 8 }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/heat/templates/job-db-sync.yaml b/heat/templates/job-db-sync.yaml
index aa87773e04..50dbc303eb 100644
--- a/heat/templates/job-db-sync.yaml
+++ b/heat/templates/job-db-sync.yaml
@@ -6,8 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.db_sync }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.db_sync | indent 8 }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/heat/templates/job-ks-endpoints.yaml.yaml b/heat/templates/job-ks-endpoints.yaml.yaml
index a3dbc3a40d..ffa08abd68 100644
--- a/heat/templates/job-ks-endpoints.yaml.yaml
+++ b/heat/templates/job-ks-endpoints.yaml.yaml
@@ -8,8 +8,8 @@ spec:
   template:
     metadata:
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.ks_endpoints }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.ks_endpoints | indent 8 }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/heat/templates/job-ks-service.yaml b/heat/templates/job-ks-service.yaml
index 966671dcb4..fdb25e8690 100644
--- a/heat/templates/job-ks-service.yaml
+++ b/heat/templates/job-ks-service.yaml
@@ -8,8 +8,8 @@ spec:
   template:
     metadata:
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.ks_service }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.ks_service | indent 8 }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/heat/templates/job-ks-user.yaml b/heat/templates/job-ks-user.yaml
index e6218b5623..8df1fe0309 100644
--- a/heat/templates/job-ks-user.yaml
+++ b/heat/templates/job-ks-user.yaml
@@ -11,8 +11,8 @@ spec:
   template:
     metadata:
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.ks_user }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.ks_user | indent 8 }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/heat/templates/statefulset-engine.yaml b/heat/templates/statefulset-engine.yaml
index 483d8bdff7..5c63da0578 100644
--- a/heat/templates/statefulset-engine.yaml
+++ b/heat/templates/statefulset-engine.yaml
@@ -10,8 +10,8 @@ spec:
       labels:
         app: heat-engine
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.engine }}
+      {{  include "dep-check-init-cont-header" . }}
+      {{  include "dep-check-init-cont-footer" .Values.dependencies.engine }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/horizon/templates/deployment.yaml b/horizon/templates/deployment.yaml
index 2e332b672f..ebb98c454d 100644
--- a/horizon/templates/deployment.yaml
+++ b/horizon/templates/deployment.yaml
@@ -19,8 +19,8 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.dashboard }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.dashboard | indent 8 }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/keystone/templates/deployment.yaml b/keystone/templates/deployment.yaml
index 5094759d43..514dace988 100644
--- a/keystone/templates/deployment.yaml
+++ b/keystone/templates/deployment.yaml
@@ -19,8 +19,8 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.api }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.api | indent 8 }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/keystone/templates/job-db-sync.yaml b/keystone/templates/job-db-sync.yaml
index d85320a435..f914435b28 100644
--- a/keystone/templates/job-db-sync.yaml
+++ b/keystone/templates/job-db-sync.yaml
@@ -6,8 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.db_sync }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.db_sync | indent 8 }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/keystone/templates/job-init.yaml b/keystone/templates/job-init.yaml
index f2e64c4804..b0de33d1e9 100644
--- a/keystone/templates/job-init.yaml
+++ b/keystone/templates/job-init.yaml
@@ -6,8 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.init }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.init | indent 8 }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/mariadb_restart.sh b/mariadb_restart.sh
new file mode 100644
index 0000000000..4e99ec0f0c
--- /dev/null
+++ b/mariadb_restart.sh
@@ -0,0 +1,9 @@
+helm delete mariadb --purge && rm mariadb-0.1.0.tgz && helm lint mariadb && helm package mariadb && helm install --replace --name mariadb mariadb-0.1.0.tgz
+helm delete keystone --purge && rm keystone-0.1.0.tgz && helm lint keystone && helm package keystone && helm install --replace --name keystone keystone-0.1.0.tgz --dry-run
+helm delete memcached --purge && rm memcached-0.1.0.tgz && helm lint memcached && helm package memcached && helm install --replace --name memcached memcached-0.1.0.tgz
+helm delete common --purge && rm common-0.1.0.tgz && helm lint common && helm package common && helm install --replace --name common common-0.1.0.tgz
+helm delete glance --purge && rm glance-0.1.0.tgz && helm lint glance && helm package glance && helm install --replace --name glance glance-0.1.0.tgz
+helm delete nova --purge && rm nova-0.1.0.tgz && helm lint nova && helm package nova && helm install --replace --name nova nova-0.1.0.tgz
+helm delete rabbitmq --purge && rm rabbitmq-0.1.0.tgz && helm lint rabbitmq && helm package rabbitmq && helm install --replace --name rabbitmq rabbitmq-0.1.0.tgz
+
+
diff --git a/nova/templates/daemonset-compute.yaml b/nova/templates/daemonset-compute.yaml
index d4fe85205e..cba819b4d3 100644
--- a/nova/templates/daemonset-compute.yaml
+++ b/nova/templates/daemonset-compute.yaml
@@ -10,8 +10,8 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.compute }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.compute | indent 8 }}
     spec:
       nodeSelector:
         {{ .Values.labels.compute_node_selector_key }}: {{ .Values.labels.compute_node_selector_value }}
diff --git a/nova/templates/daemonset-libvirt.yaml b/nova/templates/daemonset-libvirt.yaml
index 13e673e4e2..4e3649fded 100644
--- a/nova/templates/daemonset-libvirt.yaml
+++ b/nova/templates/daemonset-libvirt.yaml
@@ -10,8 +10,8 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.libvirt }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.libvirt | indent 8 }}
     spec:
       nodeSelector:
         {{ .Values.labels.compute_node_selector_key }}: {{ .Values.labels.compute_node_selector_value }}
diff --git a/nova/templates/deployment-api-metadata.yaml b/nova/templates/deployment-api-metadata.yaml
index fe3ce88d33..10016e7c6f 100644
--- a/nova/templates/deployment-api-metadata.yaml
+++ b/nova/templates/deployment-api-metadata.yaml
@@ -19,8 +19,8 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.api }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.api | indent 8 }}
     spec:
       nodeSelector:
         {{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_node_selector_value }}
diff --git a/nova/templates/deployment-api-osapi.yaml b/nova/templates/deployment-api-osapi.yaml
index 49e998fd92..75c2985eac 100644
--- a/nova/templates/deployment-api-osapi.yaml
+++ b/nova/templates/deployment-api-osapi.yaml
@@ -19,8 +19,8 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.api }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.api | indent 8 }}
     spec:
       nodeSelector:
         {{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_node_selector_value }}
diff --git a/nova/templates/deployment-conductor.yaml b/nova/templates/deployment-conductor.yaml
index 514e384a50..52eb790e6d 100644
--- a/nova/templates/deployment-conductor.yaml
+++ b/nova/templates/deployment-conductor.yaml
@@ -19,8 +19,8 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.conductor }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.conductor | indent 8 }}
     spec:
       nodeSelector:
         {{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_node_selector_value }}
diff --git a/nova/templates/deployment-consoleauth.yaml b/nova/templates/deployment-consoleauth.yaml
index 1ee8f4e257..1c85319c5e 100644
--- a/nova/templates/deployment-consoleauth.yaml
+++ b/nova/templates/deployment-consoleauth.yaml
@@ -19,8 +19,8 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.consoleauth }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.consoleauth | indent 8 }}
     spec:
       nodeSelector:
         {{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_node_selector_value }}
diff --git a/nova/templates/deployment-scheduler.yaml b/nova/templates/deployment-scheduler.yaml
index 4d97c2a53d..abc86d6826 100644
--- a/nova/templates/deployment-scheduler.yaml
+++ b/nova/templates/deployment-scheduler.yaml
@@ -19,8 +19,8 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.scheduler }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.scheduler | indent 8 }}
     spec:
       nodeSelector:
         {{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_node_selector_value }}
diff --git a/nova/templates/job-db-sync.yaml b/nova/templates/job-db-sync.yaml
index 881b1681dc..dc3be3427b 100644
--- a/nova/templates/job-db-sync.yaml
+++ b/nova/templates/job-db-sync.yaml
@@ -6,8 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.db_sync }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.db_sync | indent 8 }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/nova/templates/job-init.yaml b/nova/templates/job-init.yaml
index 39ee62cfc0..6bd3cfd7d7 100644
--- a/nova/templates/job-init.yaml
+++ b/nova/templates/job-init.yaml
@@ -6,8 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.init }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.init | indent 8 }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/nova/templates/job-post.yaml b/nova/templates/job-post.yaml
index ccf5059432..0aada421e7 100644
--- a/nova/templates/job-post.yaml
+++ b/nova/templates/job-post.yaml
@@ -6,8 +6,8 @@ spec:
   template:
     metadata:
       annotations:
-      {{  include "init-containers-header" . }}
-      {{  include "init-containers-footer" .Values.dependencies.post }}
+{{  include "dep-check-init-cont-header" . | indent 8 }}
+{{  include "dep-check-init-cont-footer" .Values.dependencies.post | indent 8 }}
     spec:
       restartPolicy: OnFailure
       nodeSelector:

From f4283675d5be5e4944221e3b51d332c6b5bd07fe Mon Sep 17 00:00:00 2001
From: DTadrzak <daniel.tadrzak@intel.com>
Date: Fri, 13 Jan 2017 13:44:16 +0100
Subject: [PATCH 06/10] Adjust formatting

Signed-off-by: DTadrzak <daniel.tadrzak@intel.com>
---
 common/templates/_funcs.tpl | 42 ++++++++++++++++++-------------------
 glance/templates/api.yaml   |  4 ++--
 2 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/common/templates/_funcs.tpl b/common/templates/_funcs.tpl
index abe6e1947b..dff059a994 100644
--- a/common/templates/_funcs.tpl
+++ b/common/templates/_funcs.tpl
@@ -22,7 +22,7 @@
 {{- include $wtf $context | sha256sum | quote -}}
 {{- end -}}
 
-{{- define "dep-check-init-cont-header"}}
+{{- define "dep-check-init-cont-header" -}}
 pod.beta.kubernetes.io/init-containers: '[
   {
     "name": "init",
@@ -35,24 +35,24 @@ pod.beta.kubernetes.io/init-containers: '[
       },
 {{- end -}}
 
-{{- define "init-containers-footer" }}
-              {
-                "name": "INTERFACE_NAME",
-                "value": "eth0"
-              },
-              {
-                "name": "DEPENDENCY_SERVICE",
-                "value": "{{  include "joinListWithColon"  .service }}"
-              },
-              {
-                "name": "DEPENDENCY_JOBS",
-                "value": "{{  include "joinListWithColon" .jobs }}"
-              },
-              {
-                "name": "COMMAND",
-                "value": "echo done"
-              }
-            ]
-          }
-        ]'
+{{- define "dep-check-init-cont-footer" }}
+      {
+        "name": "INTERFACE_NAME",
+        "value": "eth0"
+      },
+      {
+        "name": "DEPENDENCY_SERVICE",
+        "value": "{{  include "joinListWithColon"  .service }}"
+      },
+      {
+        "name": "DEPENDENCY_JOBS",
+        "value": "{{  include "joinListWithColon" .jobs }}"
+      },
+      {
+        "name": "COMMAND",
+        "value": "echo done"
+      }
+    ]
+  }
+]'
 {{- end -}}
\ No newline at end of file
diff --git a/glance/templates/api.yaml b/glance/templates/api.yaml
index ac67d19fb0..5690a94262 100644
--- a/glance/templates/api.yaml
+++ b/glance/templates/api.yaml
@@ -17,8 +17,8 @@ spec:
       labels:
         app: glance-api
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.api | indent 8 }}
+{{-  include "dep-check-init-cont-header" . | indent 8 }}
+{{-  include "dep-check-init-cont-footer" .Values.dependencies.api | indent 8 }}
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}

From f883f9742141b90a4478b81f4b19c92f1abc34c4 Mon Sep 17 00:00:00 2001
From: DTadrzak <daniel.tadrzak@intel.com>
Date: Fri, 13 Jan 2017 13:45:32 +0100
Subject: [PATCH 07/10] Update _funcs.tpl

---
 common/templates/_funcs.tpl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/templates/_funcs.tpl b/common/templates/_funcs.tpl
index dff059a994..03dafc3f99 100644
--- a/common/templates/_funcs.tpl
+++ b/common/templates/_funcs.tpl
@@ -55,4 +55,4 @@ pod.beta.kubernetes.io/init-containers: '[
     ]
   }
 ]'
-{{- end -}}
\ No newline at end of file
+{{- end -}}

From 16066adf111b7dfe29d52fc26768dfd317f3c139 Mon Sep 17 00:00:00 2001
From: mattmceuen <madgin@madgin.net>
Date: Sun, 15 Jan 2017 15:25:40 -0600
Subject: [PATCH 08/10] Trued up nodeselector values for nova and neutron

The Nova and Neutron charts use more granular node labels;
this trues up the their jobs' nodeselectors to use them.

Fix for https://github.com/att-comdev/openstack-helm/issues/119
---
 neutron/templates/job-db-sync.yaml | 4 ++--
 neutron/templates/job-init.yaml    | 4 ++--
 neutron/templates/job-post.yaml    | 4 ++--
 nova/templates/job-db-sync.yaml    | 2 +-
 nova/templates/job-init.yaml       | 2 +-
 nova/templates/job-post.yaml       | 2 +-
 6 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/neutron/templates/job-db-sync.yaml b/neutron/templates/job-db-sync.yaml
index ff546f790b..e34f36dc3a 100644
--- a/neutron/templates/job-db-sync.yaml
+++ b/neutron/templates/job-db-sync.yaml
@@ -7,7 +7,7 @@ spec:
     spec:
       restartPolicy: OnFailure
       nodeSelector:
-        {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
+        {{ .Values.labels.server.node_selector_key }}: {{ .Values.labels.server.node_selector_value }}
       containers:
         - name: neutron-db-sync
           image: {{ .Values.images.db_sync }}
@@ -42,4 +42,4 @@ spec:
             name: neutron-etc
         - name: ml2confini
           configMap:
-            name: neutron-etc
\ No newline at end of file
+            name: neutron-etc
diff --git a/neutron/templates/job-init.yaml b/neutron/templates/job-init.yaml
index ef29d574a6..d7d3401714 100644
--- a/neutron/templates/job-init.yaml
+++ b/neutron/templates/job-init.yaml
@@ -7,7 +7,7 @@ spec:
     spec:
       restartPolicy: OnFailure
       nodeSelector:
-        {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
+        {{ .Values.labels.server.node_selector_key }}: {{ .Values.labels.server.node_selector_value }}
       containers:
         - name: neutron-init
           image: {{ .Values.images.init }}
@@ -36,4 +36,4 @@ spec:
       volumes:
         - name: initsh
           configMap:
-            name: neutron-bin
\ No newline at end of file
+            name: neutron-bin
diff --git a/neutron/templates/job-post.yaml b/neutron/templates/job-post.yaml
index 847a19274e..6c3a05d280 100644
--- a/neutron/templates/job-post.yaml
+++ b/neutron/templates/job-post.yaml
@@ -7,7 +7,7 @@ spec:
     spec:
       restartPolicy: OnFailure
       nodeSelector:
-        {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
+        {{ .Values.labels.server.node_selector_key }}: {{ .Values.labels.server.node_selector_value }}
       containers:
         - name: neutron-post
           image: {{ .Values.images.post }}
@@ -38,4 +38,4 @@ spec:
       volumes:
         - name: postsh
           configMap:
-            name: neutron-bin
\ No newline at end of file
+            name: neutron-bin
diff --git a/nova/templates/job-db-sync.yaml b/nova/templates/job-db-sync.yaml
index da81fe0e13..7a1404f450 100644
--- a/nova/templates/job-db-sync.yaml
+++ b/nova/templates/job-db-sync.yaml
@@ -34,7 +34,7 @@ spec:
     spec:
       restartPolicy: OnFailure
       nodeSelector:
-        {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
+        {{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_node_selector_value }}
       containers:
         - name: nova-db-sync
           image: {{ .Values.image.db_sync }}
diff --git a/nova/templates/job-init.yaml b/nova/templates/job-init.yaml
index 2ca373358a..7081a1e44e 100644
--- a/nova/templates/job-init.yaml
+++ b/nova/templates/job-init.yaml
@@ -34,7 +34,7 @@ spec:
     spec:
       restartPolicy: OnFailure
       nodeSelector:
-        {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
+        {{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_node_selector_value }}
       containers:
         - name: nova-init
           image: {{ .Values.image.init }}
diff --git a/nova/templates/job-post.yaml b/nova/templates/job-post.yaml
index e22373e02f..e75cf0f51f 100644
--- a/nova/templates/job-post.yaml
+++ b/nova/templates/job-post.yaml
@@ -34,7 +34,7 @@ spec:
     spec:
       restartPolicy: OnFailure
       nodeSelector:
-        {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
+        {{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_node_selector_value }}
       containers:
         - name: nova-post
           image: {{ .Values.image.post }}

From 71427ce9059c46a0b529543a5df1d8c29d7c8e73 Mon Sep 17 00:00:00 2001
From: DTadrzak <daniel.tadrzak@intel.com>
Date: Mon, 16 Jan 2017 10:47:43 +0100
Subject: [PATCH 09/10] A few changes according to intlabs's review.

Signed-off-by: DTadrzak <daniel.tadrzak@intel.com>
---
 cinder/templates/deployment-api.yaml        |  7 ++-
 cinder/templates/deployment-scheduler.yaml  |  7 ++-
 cinder/templates/deployment-volume.yaml     |  7 ++-
 cinder/templates/job-db-init.yaml           |  7 ++-
 cinder/templates/job-db-sync.yaml           |  7 ++-
 cinder/templates/job-ks-endpoints.yaml.yaml |  6 +-
 cinder/templates/job-ks-service.yaml        |  6 +-
 cinder/templates/job-ks-user.yaml           |  7 ++-
 common/templates/_funcs.tpl                 | 63 ++++++++++-----------
 glance/templates/api.yaml                   |  7 ++-
 glance/templates/db-sync.yaml               |  7 ++-
 glance/templates/init.yaml                  |  7 ++-
 glance/templates/post.yaml                  |  7 ++-
 glance/templates/registry.yaml              |  7 ++-
 heat/templates/deployment-api.yaml          |  7 ++-
 heat/templates/deployment-cfn.yaml          |  7 ++-
 heat/templates/deployment-cloudwatch.yaml   |  7 ++-
 heat/templates/job-db-init.yaml             |  7 ++-
 heat/templates/job-db-sync.yaml             |  7 ++-
 heat/templates/job-ks-endpoints.yaml.yaml   |  6 +-
 heat/templates/job-ks-service.yaml          |  6 +-
 heat/templates/job-ks-user.yaml             |  7 ++-
 heat/templates/statefulset-engine.yaml      |  7 ++-
 horizon/templates/deployment.yaml           |  7 ++-
 keystone/templates/deployment.yaml          |  7 ++-
 keystone/templates/job-db-sync.yaml         |  7 ++-
 keystone/templates/job-init.yaml            |  7 ++-
 mariadb_restart.sh                          |  9 ---
 nova/templates/daemonset-compute.yaml       |  7 ++-
 nova/templates/daemonset-libvirt.yaml       |  7 ++-
 nova/templates/deployment-api-metadata.yaml |  7 ++-
 nova/templates/deployment-api-osapi.yaml    |  7 ++-
 nova/templates/deployment-conductor.yaml    |  7 ++-
 nova/templates/deployment-consoleauth.yaml  |  7 ++-
 nova/templates/deployment-scheduler.yaml    |  7 ++-
 nova/templates/job-db-sync.yaml             |  7 ++-
 nova/templates/job-init.yaml                |  7 ++-
 nova/templates/job-post.yaml                |  7 ++-
 38 files changed, 206 insertions(+), 114 deletions(-)
 delete mode 100644 mariadb_restart.sh

diff --git a/cinder/templates/deployment-api.yaml b/cinder/templates/deployment-api.yaml
index 58f14d61c5..6fe33a6b71 100644
--- a/cinder/templates/deployment-api.yaml
+++ b/cinder/templates/deployment-api.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.api }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
@@ -19,8 +21,9 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.api | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/cinder/templates/deployment-scheduler.yaml b/cinder/templates/deployment-scheduler.yaml
index 38f5e7c90d..77d38b2b1a 100644
--- a/cinder/templates/deployment-scheduler.yaml
+++ b/cinder/templates/deployment-scheduler.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.scheduler }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
@@ -19,8 +21,9 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.scheduler | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/cinder/templates/deployment-volume.yaml b/cinder/templates/deployment-volume.yaml
index 1c3d5c29d6..73333b2c6d 100644
--- a/cinder/templates/deployment-volume.yaml
+++ b/cinder/templates/deployment-volume.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.volume }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
@@ -19,8 +21,9 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.volume | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/cinder/templates/job-db-init.yaml b/cinder/templates/job-db-init.yaml
index d7f9f7dff2..1ea09eeb08 100644
--- a/cinder/templates/job-db-init.yaml
+++ b/cinder/templates/job-db-init.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.db_init }}
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -6,8 +8,9 @@ spec:
   template:
     metadata:
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.db_init | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/cinder/templates/job-db-sync.yaml b/cinder/templates/job-db-sync.yaml
index 5639264b35..b963b4d498 100644
--- a/cinder/templates/job-db-sync.yaml
+++ b/cinder/templates/job-db-sync.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.db_sync }}
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -6,8 +8,9 @@ spec:
   template:
     metadata:
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.db_sync | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/cinder/templates/job-ks-endpoints.yaml.yaml b/cinder/templates/job-ks-endpoints.yaml.yaml
index 0f80510006..14655c233d 100644
--- a/cinder/templates/job-ks-endpoints.yaml.yaml
+++ b/cinder/templates/job-ks-endpoints.yaml.yaml
@@ -1,5 +1,6 @@
 {{- $envAll := . }}
 {{- $ksAdminSecret := $envAll.Values.keystone.admin_secret | default "cinder-env-keystone-admin" }}
+{{- $dependecies := .Values.dependencies.ks_endpoints }}
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -8,8 +9,9 @@ spec:
   template:
     metadata:
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.ks_endpoints | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/cinder/templates/job-ks-service.yaml b/cinder/templates/job-ks-service.yaml
index ecc181bdd2..fab12aa8c6 100644
--- a/cinder/templates/job-ks-service.yaml
+++ b/cinder/templates/job-ks-service.yaml
@@ -1,5 +1,6 @@
 {{- $envAll := . }}
 {{- $ksAdminSecret := .Values.keystone.admin_secret | default "cinder-env-keystone-admin" }}
+{{- $dependecies := .Values.dependencies.ks_service }}
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -8,8 +9,9 @@ spec:
   template:
     metadata:
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.ks_service | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/cinder/templates/job-ks-user.yaml b/cinder/templates/job-ks-user.yaml
index b25cf2f3e8..94737e42ac 100644
--- a/cinder/templates/job-ks-user.yaml
+++ b/cinder/templates/job-ks-user.yaml
@@ -1,5 +1,7 @@
 {{- $ksAdminSecret := .Values.keystone.admin_secret | default "cinder-env-keystone-admin" }}
 {{- $ksUserSecret := .Values.keystone.user_secret | default "cinder-env-keystone-user" }}
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.ks_user }}
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -8,8 +10,9 @@ spec:
   template:
     metadata:
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.ks_user | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/common/templates/_funcs.tpl b/common/templates/_funcs.tpl
index dff059a994..3f00c606eb 100644
--- a/common/templates/_funcs.tpl
+++ b/common/templates/_funcs.tpl
@@ -22,37 +22,34 @@
 {{- include $wtf $context | sha256sum | quote -}}
 {{- end -}}
 
-{{- define "dep-check-init-cont-header" -}}
-pod.beta.kubernetes.io/init-containers: '[
-  {
-    "name": "init",
-    "image": {{ .Values.images.dep_check | default "quay.io/stackanetes/kubernetes-entrypoint:v0.1.0" | quote }},
-    "imagePullPolicy": {{ .Values.images.pull_policy | default "IfNotPresent" | quote }},
-    "env": [
-      {
-        "name": "NAMESPACE",
-        "value": "{{ .Release.Namespace }}"
-      },
-{{- end -}}
-
-{{- define "dep-check-init-cont-footer" }}
-      {
-        "name": "INTERFACE_NAME",
-        "value": "eth0"
-      },
-      {
-        "name": "DEPENDENCY_SERVICE",
-        "value": "{{  include "joinListWithColon"  .service }}"
-      },
-      {
-        "name": "DEPENDENCY_JOBS",
-        "value": "{{  include "joinListWithColon" .jobs }}"
-      },
-      {
-        "name": "COMMAND",
-        "value": "echo done"
-      }
-    ]
-  }
-]'
+{{- define "dep-check-init-cont" -}}
+{{- $envALL := index . 0 -}}
+{{- $deps := index . 1 -}}
+{
+  "name": "init",
+  "image": {{ $envALL.Values.images.dep_check | default "quay.io/stackanetes/kubernetes-entrypoint:v0.1.0" | quote }},
+  "imagePullPolicy": {{ $envALL.Values.images.pull_policy | default "IfNotPresent" | quote }},
+  "env": [
+    {
+      "name": "NAMESPACE",
+      "value": "{{ $envALL.Release.Namespace }}"
+    },
+    {
+      "name": "INTERFACE_NAME",
+      "value": "eth0"
+    },
+    {
+      "name": "DEPENDENCY_SERVICE",
+      "value": "{{  include "joinListWithColon"  $deps.service }}"
+    },
+    {
+      "name": "DEPENDENCY_JOBS",
+      "value": "{{  include "joinListWithColon" $deps.jobs }}"
+    },
+    {
+      "name": "COMMAND",
+      "value": "echo done"
+    }
+  ]
+}
 {{- end -}}
\ No newline at end of file
diff --git a/glance/templates/api.yaml b/glance/templates/api.yaml
index 5690a94262..126e91df48 100644
--- a/glance/templates/api.yaml
+++ b/glance/templates/api.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.api }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
@@ -17,8 +19,9 @@ spec:
       labels:
         app: glance-api
       annotations:
-{{-  include "dep-check-init-cont-header" . | indent 8 }}
-{{-  include "dep-check-init-cont-footer" .Values.dependencies.api | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/glance/templates/db-sync.yaml b/glance/templates/db-sync.yaml
index bae3d21222..f482af8898 100644
--- a/glance/templates/db-sync.yaml
+++ b/glance/templates/db-sync.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.db_sync }}
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -6,8 +8,9 @@ spec:
   template:
     metadata:
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.db_sync | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/glance/templates/init.yaml b/glance/templates/init.yaml
index c3d8c825a4..35a7ad1d79 100644
--- a/glance/templates/init.yaml
+++ b/glance/templates/init.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.init }}
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -6,8 +8,9 @@ spec:
   template:
     metadata:
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.init | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/glance/templates/post.yaml b/glance/templates/post.yaml
index e9f3174365..ce8eb2de83 100644
--- a/glance/templates/post.yaml
+++ b/glance/templates/post.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.post }}
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -6,8 +8,9 @@ spec:
   template:
     metadata:
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.post | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/glance/templates/registry.yaml b/glance/templates/registry.yaml
index 59936aca2b..1c3cb6cdb6 100644
--- a/glance/templates/registry.yaml
+++ b/glance/templates/registry.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.registry }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
@@ -9,8 +11,9 @@ spec:
       labels:
         app: glance-registry
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.registry | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/heat/templates/deployment-api.yaml b/heat/templates/deployment-api.yaml
index 36c7461907..78ba69a4ca 100755
--- a/heat/templates/deployment-api.yaml
+++ b/heat/templates/deployment-api.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.api }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
@@ -9,8 +11,9 @@ spec:
       labels:
         app: heat-api
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.api | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/heat/templates/deployment-cfn.yaml b/heat/templates/deployment-cfn.yaml
index b0b1e53a48..6f5acf23fd 100644
--- a/heat/templates/deployment-cfn.yaml
+++ b/heat/templates/deployment-cfn.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.cnf }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
@@ -9,8 +11,9 @@ spec:
       labels:
         app: heat-cfn
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.cnf | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/heat/templates/deployment-cloudwatch.yaml b/heat/templates/deployment-cloudwatch.yaml
index 3ae57ecd14..3d785f5daa 100644
--- a/heat/templates/deployment-cloudwatch.yaml
+++ b/heat/templates/deployment-cloudwatch.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.cloudwatch }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
@@ -9,8 +11,9 @@ spec:
       labels:
         app: heat-cloudwatch
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.cloudwatch | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/heat/templates/job-db-init.yaml b/heat/templates/job-db-init.yaml
index 9e32324f3b..de80e91218 100644
--- a/heat/templates/job-db-init.yaml
+++ b/heat/templates/job-db-init.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.init }}
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -6,8 +8,9 @@ spec:
   template:
     metadata:
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.db_init | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/heat/templates/job-db-sync.yaml b/heat/templates/job-db-sync.yaml
index 50dbc303eb..a74e4ad151 100644
--- a/heat/templates/job-db-sync.yaml
+++ b/heat/templates/job-db-sync.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.db_sync }}
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -6,8 +8,9 @@ spec:
   template:
     metadata:
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.db_sync | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/heat/templates/job-ks-endpoints.yaml.yaml b/heat/templates/job-ks-endpoints.yaml.yaml
index ffa08abd68..c9a7224e11 100644
--- a/heat/templates/job-ks-endpoints.yaml.yaml
+++ b/heat/templates/job-ks-endpoints.yaml.yaml
@@ -1,5 +1,6 @@
 {{- $envAll := . }}
 {{- $ksAdminSecret := .Values.keystone_secrets.admin }}
+{{- $dependecies := .Values.dependencies.ks_endpoints }}
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -8,8 +9,9 @@ spec:
   template:
     metadata:
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.ks_endpoints | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/heat/templates/job-ks-service.yaml b/heat/templates/job-ks-service.yaml
index fdb25e8690..838e5774a9 100644
--- a/heat/templates/job-ks-service.yaml
+++ b/heat/templates/job-ks-service.yaml
@@ -1,5 +1,6 @@
 {{- $envAll := . }}
 {{- $ksAdminSecret := .Values.keystone_secrets.admin }}
+{{- $dependecies := .Values.dependencies.ks_service }}
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -8,8 +9,9 @@ spec:
   template:
     metadata:
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.ks_service | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/heat/templates/job-ks-user.yaml b/heat/templates/job-ks-user.yaml
index 8df1fe0309..2372683d5c 100644
--- a/heat/templates/job-ks-user.yaml
+++ b/heat/templates/job-ks-user.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.ks_user }}
 {{- $ksAdminSecret := .Values.keystone_secrets.admin }}
 {{- $ksUserSecret := .Values.keystone_secrets.user }}
 # The heat user management job is a bit different from other services as it also needs to create a stack domain and trusts user
@@ -11,8 +13,9 @@ spec:
   template:
     metadata:
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.ks_user | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/heat/templates/statefulset-engine.yaml b/heat/templates/statefulset-engine.yaml
index 5c63da0578..c349acfc89 100644
--- a/heat/templates/statefulset-engine.yaml
+++ b/heat/templates/statefulset-engine.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.engine }}
 apiVersion: apps/v1beta1
 kind: StatefulSet
 metadata:
@@ -10,8 +12,9 @@ spec:
       labels:
         app: heat-engine
       annotations:
-      {{  include "dep-check-init-cont-header" . }}
-      {{  include "dep-check-init-cont-footer" .Values.dependencies.engine }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/horizon/templates/deployment.yaml b/horizon/templates/deployment.yaml
index ebb98c454d..a21f53dce4 100644
--- a/horizon/templates/deployment.yaml
+++ b/horizon/templates/deployment.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.dashboard }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
@@ -19,8 +21,9 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.dashboard | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/keystone/templates/deployment.yaml b/keystone/templates/deployment.yaml
index 514dace988..2d64e9e607 100644
--- a/keystone/templates/deployment.yaml
+++ b/keystone/templates/deployment.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.api }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
@@ -19,8 +21,9 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.api | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       nodeSelector:
         {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
diff --git a/keystone/templates/job-db-sync.yaml b/keystone/templates/job-db-sync.yaml
index f914435b28..29e2621a46 100644
--- a/keystone/templates/job-db-sync.yaml
+++ b/keystone/templates/job-db-sync.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.db_sync }}
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -6,8 +8,9 @@ spec:
   template:
     metadata:
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.db_sync | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/keystone/templates/job-init.yaml b/keystone/templates/job-init.yaml
index b0de33d1e9..865b060ac0 100644
--- a/keystone/templates/job-init.yaml
+++ b/keystone/templates/job-init.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.init }}
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -6,8 +8,9 @@ spec:
   template:
     metadata:
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.init | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/mariadb_restart.sh b/mariadb_restart.sh
deleted file mode 100644
index 4e99ec0f0c..0000000000
--- a/mariadb_restart.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-helm delete mariadb --purge && rm mariadb-0.1.0.tgz && helm lint mariadb && helm package mariadb && helm install --replace --name mariadb mariadb-0.1.0.tgz
-helm delete keystone --purge && rm keystone-0.1.0.tgz && helm lint keystone && helm package keystone && helm install --replace --name keystone keystone-0.1.0.tgz --dry-run
-helm delete memcached --purge && rm memcached-0.1.0.tgz && helm lint memcached && helm package memcached && helm install --replace --name memcached memcached-0.1.0.tgz
-helm delete common --purge && rm common-0.1.0.tgz && helm lint common && helm package common && helm install --replace --name common common-0.1.0.tgz
-helm delete glance --purge && rm glance-0.1.0.tgz && helm lint glance && helm package glance && helm install --replace --name glance glance-0.1.0.tgz
-helm delete nova --purge && rm nova-0.1.0.tgz && helm lint nova && helm package nova && helm install --replace --name nova nova-0.1.0.tgz
-helm delete rabbitmq --purge && rm rabbitmq-0.1.0.tgz && helm lint rabbitmq && helm package rabbitmq && helm install --replace --name rabbitmq rabbitmq-0.1.0.tgz
-
-
diff --git a/nova/templates/daemonset-compute.yaml b/nova/templates/daemonset-compute.yaml
index cba819b4d3..0bbeed0ffe 100644
--- a/nova/templates/daemonset-compute.yaml
+++ b/nova/templates/daemonset-compute.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.compute }}
 apiVersion: extensions/v1beta1
 kind: DaemonSet
 metadata:
@@ -10,8 +12,9 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.compute | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       nodeSelector:
         {{ .Values.labels.compute_node_selector_key }}: {{ .Values.labels.compute_node_selector_value }}
diff --git a/nova/templates/daemonset-libvirt.yaml b/nova/templates/daemonset-libvirt.yaml
index 4e3649fded..01fad2387d 100644
--- a/nova/templates/daemonset-libvirt.yaml
+++ b/nova/templates/daemonset-libvirt.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.libvirt }}
 apiVersion: extensions/v1beta1
 kind: DaemonSet
 metadata:
@@ -10,8 +12,9 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.libvirt | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       nodeSelector:
         {{ .Values.labels.compute_node_selector_key }}: {{ .Values.labels.compute_node_selector_value }}
diff --git a/nova/templates/deployment-api-metadata.yaml b/nova/templates/deployment-api-metadata.yaml
index 10016e7c6f..6d6e5c26c4 100644
--- a/nova/templates/deployment-api-metadata.yaml
+++ b/nova/templates/deployment-api-metadata.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.api }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
@@ -19,8 +21,9 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.api | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       nodeSelector:
         {{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_node_selector_value }}
diff --git a/nova/templates/deployment-api-osapi.yaml b/nova/templates/deployment-api-osapi.yaml
index 75c2985eac..21b4de6e43 100644
--- a/nova/templates/deployment-api-osapi.yaml
+++ b/nova/templates/deployment-api-osapi.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.api }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
@@ -19,8 +21,9 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.api | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       nodeSelector:
         {{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_node_selector_value }}
diff --git a/nova/templates/deployment-conductor.yaml b/nova/templates/deployment-conductor.yaml
index 52eb790e6d..92976ce449 100644
--- a/nova/templates/deployment-conductor.yaml
+++ b/nova/templates/deployment-conductor.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.conductor }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
@@ -19,8 +21,9 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.conductor | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       nodeSelector:
         {{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_node_selector_value }}
diff --git a/nova/templates/deployment-consoleauth.yaml b/nova/templates/deployment-consoleauth.yaml
index 1c85319c5e..93db54fb75 100644
--- a/nova/templates/deployment-consoleauth.yaml
+++ b/nova/templates/deployment-consoleauth.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.consoleauth }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
@@ -19,8 +21,9 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.consoleauth | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       nodeSelector:
         {{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_node_selector_value }}
diff --git a/nova/templates/deployment-scheduler.yaml b/nova/templates/deployment-scheduler.yaml
index abc86d6826..634e85229d 100644
--- a/nova/templates/deployment-scheduler.yaml
+++ b/nova/templates/deployment-scheduler.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.scheduler }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
@@ -19,8 +21,9 @@ spec:
       annotations:
         configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
         configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}        
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.scheduler | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       nodeSelector:
         {{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_node_selector_value }}
diff --git a/nova/templates/job-db-sync.yaml b/nova/templates/job-db-sync.yaml
index dc3be3427b..a67f3d0071 100644
--- a/nova/templates/job-db-sync.yaml
+++ b/nova/templates/job-db-sync.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.db_sync }}
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -6,8 +8,9 @@ spec:
   template:
     metadata:
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.db_sync | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/nova/templates/job-init.yaml b/nova/templates/job-init.yaml
index 6bd3cfd7d7..bdea656fd5 100644
--- a/nova/templates/job-init.yaml
+++ b/nova/templates/job-init.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.init }}
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -6,8 +8,9 @@ spec:
   template:
     metadata:
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.init | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       restartPolicy: OnFailure
       nodeSelector:
diff --git a/nova/templates/job-post.yaml b/nova/templates/job-post.yaml
index 0aada421e7..e551a6eaef 100644
--- a/nova/templates/job-post.yaml
+++ b/nova/templates/job-post.yaml
@@ -1,3 +1,5 @@
+{{- $envAll := . }}
+{{- $dependecies := .Values.dependencies.post }}
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -6,8 +8,9 @@ spec:
   template:
     metadata:
       annotations:
-{{  include "dep-check-init-cont-header" . | indent 8 }}
-{{  include "dep-check-init-cont-footer" .Values.dependencies.post | indent 8 }}
+        pod.beta.kubernetes.io/init-containers: '[
+{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
+        ]'
     spec:
       restartPolicy: OnFailure
       nodeSelector:

From 81d9c7fe7e9b468aba6703ca908529e0864e083b Mon Sep 17 00:00:00 2001
From: DTadrzak <daniel.tadrzak@intel.com>
Date: Mon, 16 Jan 2017 12:16:45 +0100
Subject: [PATCH 10/10] Removing default values from template. Fixing typo.

Signed-off-by: DTadrzak <daniel.tadrzak@intel.com>
---
 common/templates/_funcs.tpl        | 8 ++++----
 heat/templates/deployment-cfn.yaml | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/templates/_funcs.tpl b/common/templates/_funcs.tpl
index 170b6b2be5..115892b10d 100644
--- a/common/templates/_funcs.tpl
+++ b/common/templates/_funcs.tpl
@@ -23,16 +23,16 @@
 {{- end -}}
 
 {{- define "dep-check-init-cont" -}}
-{{- $envALL := index . 0 -}}
+{{- $envAll := index . 0 -}}
 {{- $deps := index . 1 -}}
 {
   "name": "init",
-  "image": {{ $envALL.Values.images.dep_check | default "quay.io/stackanetes/kubernetes-entrypoint:v0.1.0" | quote }},
-  "imagePullPolicy": {{ $envALL.Values.images.pull_policy | default "IfNotPresent" | quote }},
+  "image": {{ $envAll.Values.images.dep_check | quote }},
+  "imagePullPolicy": {{ $envAll.Values.images.pull_policy | quote }},
   "env": [
     {
       "name": "NAMESPACE",
-      "value": "{{ $envALL.Release.Namespace }}"
+      "value": "{{ $envAll.Release.Namespace }}"
     },
     {
       "name": "INTERFACE_NAME",
diff --git a/heat/templates/deployment-cfn.yaml b/heat/templates/deployment-cfn.yaml
index 6f5acf23fd..0706a405ab 100644
--- a/heat/templates/deployment-cfn.yaml
+++ b/heat/templates/deployment-cfn.yaml
@@ -1,5 +1,5 @@
 {{- $envAll := . }}
-{{- $dependecies := .Values.dependencies.cnf }}
+{{- $dependecies := .Values.dependencies.cfn }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata: