Merge pull request #104 from DTadrzak/init_container_template

Init-container templates
This commit is contained in:
Brandon B. Jozsa 2017-01-19 16:53:52 -06:00 committed by GitHub
commit 2ff55135cc
41 changed files with 161 additions and 857 deletions

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.api }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
@ -20,29 +22,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
nodeSelector:

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.scheduler }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
@ -20,29 +22,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
nodeSelector:

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.volume }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
@ -20,29 +22,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
nodeSelector:

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.db_init }}
apiVersion: batch/v1
kind: Job
metadata:
@ -7,29 +9,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
restartPolicy: OnFailure

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.db_sync }}
apiVersion: batch/v1
kind: Job
metadata:
@ -7,29 +9,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
restartPolicy: OnFailure

View File

@ -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:
@ -9,25 +10,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
restartPolicy: OnFailure

View File

@ -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:
@ -9,25 +10,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
restartPolicy: OnFailure

View File

@ -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:
@ -9,25 +11,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
restartPolicy: OnFailure

View File

@ -21,3 +21,35 @@
{{- $wtf := $context.Template.Name | replace $last $name -}}
{{- include $wtf $context | sha256sum | quote -}}
{{- end -}}
{{- define "dep-check-init-cont" -}}
{{- $envAll := index . 0 -}}
{{- $deps := index . 1 -}}
{
"name": "init",
"image": {{ $envAll.Values.images.dep_check | quote }},
"imagePullPolicy": {{ $envAll.Values.images.pull_policy | 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 -}}

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.api }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
@ -18,34 +20,11 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
nodeSelector:
{{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
containers:
- name: glance-api
image: {{ .Values.images.api }}

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.db_sync }}
apiVersion: batch/v1
kind: Job
metadata:
@ -7,29 +9,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
restartPolicy: OnFailure

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.init }}
apiVersion: batch/v1
kind: Job
metadata:
@ -7,29 +9,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
restartPolicy: OnFailure

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.post }}
apiVersion: batch/v1
kind: Job
metadata:
@ -7,29 +9,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
nodeSelector:

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.registry }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
@ -10,29 +12,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
nodeSelector:

View File

@ -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:

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.api }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
@ -10,29 +12,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
nodeSelector:

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.cfn }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
@ -10,29 +12,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
nodeSelector:

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.cloudwatch }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
@ -10,29 +12,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
nodeSelector:

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.init }}
apiVersion: batch/v1
kind: Job
metadata:
@ -7,29 +9,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
restartPolicy: OnFailure

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.db_sync }}
apiVersion: batch/v1
kind: Job
metadata:
@ -7,29 +9,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
restartPolicy: OnFailure

View File

@ -1,5 +1,6 @@
{{- $envAll := . }}
{{- $ksAdminSecret := .Values.keystone_secrets.admin }}
{{- $dependecies := .Values.dependencies.ks_endpoints }}
apiVersion: batch/v1
kind: Job
metadata:
@ -9,25 +10,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
restartPolicy: OnFailure

View File

@ -1,5 +1,6 @@
{{- $envAll := . }}
{{- $ksAdminSecret := .Values.keystone_secrets.admin }}
{{- $dependecies := .Values.dependencies.ks_service }}
apiVersion: batch/v1
kind: Job
metadata:
@ -9,25 +10,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
restartPolicy: OnFailure

View File

@ -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
@ -12,25 +14,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
restartPolicy: OnFailure

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.engine }}
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
@ -11,29 +13,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
nodeSelector:

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.dashboard }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
@ -20,26 +22,8 @@ spec:
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"
}
]
}
]'
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
nodeSelector:
{{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}

View File

@ -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"

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.api }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
@ -18,35 +20,9 @@ spec:
app: keystone-api
annotations:
configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
configmap-etc-hash: {{ tuple "configmap-etc.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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
nodeSelector:

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.db_sync }}
apiVersion: batch/v1
kind: Job
metadata:
@ -7,29 +9,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
restartPolicy: OnFailure

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.init }}
apiVersion: batch/v1
kind: Job
metadata:
@ -7,29 +9,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
restartPolicy: OnFailure

View File

@ -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:

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.compute }}
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
@ -11,33 +13,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
nodeSelector:
@ -49,8 +25,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:

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.libvirt }}
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
@ -11,33 +13,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
nodeSelector:
@ -48,8 +24,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:

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.api }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
@ -20,41 +22,15 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
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:

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.api }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
@ -20,40 +22,14 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
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:

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.conductor }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
@ -20,40 +22,14 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
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

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.consoleauth }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
@ -20,40 +22,14 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
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

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.scheduler }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
@ -20,40 +22,14 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
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

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.db_sync }}
apiVersion: batch/v1
kind: Job
metadata:
@ -7,29 +9,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
restartPolicy: OnFailure
@ -37,8 +17,8 @@ spec:
{{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_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

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.init }}
apiVersion: batch/v1
kind: Job
metadata:
@ -7,29 +9,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
restartPolicy: OnFailure
@ -37,8 +17,8 @@ spec:
{{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_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

View File

@ -1,3 +1,5 @@
{{- $envAll := . }}
{{- $dependecies := .Values.dependencies.post }}
apiVersion: batch/v1
kind: Job
metadata:
@ -7,29 +9,7 @@ spec:
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"
}
]
}
{{ tuple $envAll $dependecies | include "dep-check-init-cont" | indent 10 }}
]'
spec:
restartPolicy: OnFailure
@ -37,8 +17,8 @@ spec:
{{ .Values.labels.control_node_selector_key }}: {{ .Values.labels.control_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

View File

@ -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: