Add Graceful Termination to all existing charts

This commit adds graceful termination to all existing charts.
It also adds a setting in the values.yaml file for clarity and
the ability to override if wished.

Change-Id: I42025e4be86d248be467c1d2f0980f864c4d440e
This commit is contained in:
Darla Ahlert 2017-06-01 13:39:17 -05:00
parent eb11ac0425
commit c394d22112
24 changed files with 154 additions and 1 deletions

View File

@ -43,6 +43,7 @@ spec:
spec: spec:
nodeSelector: nodeSelector:
{{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }} {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
terminationGracePeriodSeconds: {{ .Values.termination_grace_period.api.timeout | default "30" }}
containers: containers:
- name: cinder-api - name: cinder-api
image: {{ .Values.images.api }} image: {{ .Values.images.api }}
@ -62,6 +63,13 @@ spec:
ports: ports:
- name: c-api - name: c-api
containerPort: {{ .Values.conf.cinder.default.cinder.osapi_volume_listen_port }} containerPort: {{ .Values.conf.cinder.default.cinder.osapi_volume_listen_port }}
lifecycle:
preStop:
exec:
command:
- kill
- -TERM
- "1"
readinessProbe: readinessProbe:
tcpSocket: tcpSocket:
port: {{ .Values.conf.cinder.default.cinder.osapi_volume_listen_port }} port: {{ .Values.conf.cinder.default.cinder.osapi_volume_listen_port }}

View File

@ -51,6 +51,10 @@ pod_disruption_budget:
api: api:
min_available: 0 min_available: 0
termination_grace_period:
api:
timeout: 30
keystone: keystone:
admin_user: "admin" admin_user: "admin"
admin_user_domain: "default" admin_user_domain: "default"

View File

@ -43,6 +43,7 @@ spec:
spec: spec:
nodeSelector: nodeSelector:
{{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }} {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
terminationGracePeriodSeconds: {{ .Values.termination_grace_period.api.timeout | default "600" }}
containers: containers:
- name: glance-api - name: glance-api
image: {{ .Values.images.api }} image: {{ .Values.images.api }}
@ -61,6 +62,13 @@ spec:
- /tmp/glance-api.sh - /tmp/glance-api.sh
ports: ports:
- containerPort: {{ .Values.conf.glance.default.glance.api.bind_port }} - containerPort: {{ .Values.conf.glance.default.glance.api.bind_port }}
lifecycle:
preStop:
exec:
command:
- kill
- -TERM
- "1"
readinessProbe: readinessProbe:
tcpSocket: tcpSocket:
port: {{ .Values.conf.glance.default.glance.api.bind_port }} port: {{ .Values.conf.glance.default.glance.api.bind_port }}

View File

@ -35,6 +35,7 @@ spec:
spec: spec:
nodeSelector: nodeSelector:
{{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }} {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
terminationGracePeriodSeconds: {{ .Values.termination_grace_period.registry.timeout | default "600" }}
containers: containers:
- name: glance-registry - name: glance-registry
image: {{ .Values.images.registry }} image: {{ .Values.images.registry }}
@ -53,6 +54,13 @@ spec:
- /tmp/glance-registry.sh - /tmp/glance-registry.sh
ports: ports:
- containerPort: {{ .Values.conf.glance_registry.default.glance.registry.bind_port }} - containerPort: {{ .Values.conf.glance_registry.default.glance.registry.bind_port }}
lifecycle:
preStop:
exec:
command:
- kill
- -TERM
- "1"
readinessProbe: readinessProbe:
tcpSocket: tcpSocket:
port: {{ .Values.conf.glance_registry.default.glance.registry.bind_port }} port: {{ .Values.conf.glance_registry.default.glance.registry.bind_port }}

View File

@ -52,6 +52,12 @@ pod_disruption_budget:
registry: registry:
min_available: 0 min_available: 0
termination_grace_period:
api:
timeout: 600
registry:
timeout: 600
bootstrap: bootstrap:
enabled: true enabled: true
images: images:

View File

@ -43,6 +43,7 @@ spec:
spec: spec:
nodeSelector: nodeSelector:
{{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }} {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
terminationGracePeriodSeconds: {{ .Values.termination_grace_period.api.timeout | default "30" }}
containers: containers:
- name: heat-api - name: heat-api
image: {{ .Values.images.api }} image: {{ .Values.images.api }}
@ -61,6 +62,13 @@ spec:
- /tmp/heat-api.sh - /tmp/heat-api.sh
ports: ports:
- containerPort: {{ .Values.conf.heat.heat_api.heat.common.wsgi.bind_port }} - containerPort: {{ .Values.conf.heat.heat_api.heat.common.wsgi.bind_port }}
lifecycle:
preStop:
exec:
command:
- kill
- -TERM
- "1"
readinessProbe: readinessProbe:
tcpSocket: tcpSocket:
port: {{ .Values.conf.heat.heat_api.heat.common.wsgi.bind_port }} port: {{ .Values.conf.heat.heat_api.heat.common.wsgi.bind_port }}

View File

@ -43,6 +43,7 @@ spec:
spec: spec:
nodeSelector: nodeSelector:
{{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }} {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
terminationGracePeriodSeconds: {{ .Values.termination_grace_period.cfn.timeout | default "30" }}
containers: containers:
- name: heat-cfn - name: heat-cfn
image: {{ .Values.images.cfn }} image: {{ .Values.images.cfn }}
@ -61,6 +62,13 @@ spec:
- /tmp/heat-cfn.sh - /tmp/heat-cfn.sh
ports: ports:
- containerPort: {{ .Values.conf.heat.heat_api_cfn.heat.common.wsgi.bind_port }} - containerPort: {{ .Values.conf.heat.heat_api_cfn.heat.common.wsgi.bind_port }}
lifecycle:
preStop:
exec:
command:
- kill
- -TERM
- "1"
readinessProbe: readinessProbe:
tcpSocket: tcpSocket:
port: {{ .Values.conf.heat.heat_api_cfn.heat.common.wsgi.bind_port }} port: {{ .Values.conf.heat.heat_api_cfn.heat.common.wsgi.bind_port }}

View File

@ -43,6 +43,7 @@ spec:
spec: spec:
nodeSelector: nodeSelector:
{{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }} {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
terminationGracePeriodSeconds: {{ .Values.termination_grace_period.cloudwatch.timeout | default "30" }}
containers: containers:
- name: heat-cloudwatch - name: heat-cloudwatch
image: {{ .Values.images.cloudwatch }} image: {{ .Values.images.cloudwatch }}
@ -61,6 +62,13 @@ spec:
- /tmp/heat-cloudwatch.sh - /tmp/heat-cloudwatch.sh
ports: ports:
- containerPort: {{ .Values.conf.heat.heat_api_cloudwatch.heat.common.wsgi.bind_port }} - containerPort: {{ .Values.conf.heat.heat_api_cloudwatch.heat.common.wsgi.bind_port }}
lifecycle:
preStop:
exec:
command:
- kill
- -TERM
- "1"
readinessProbe: readinessProbe:
tcpSocket: tcpSocket:
port: {{ .Values.conf.heat.heat_api_cloudwatch.heat.common.wsgi.bind_port }} port: {{ .Values.conf.heat.heat_api_cloudwatch.heat.common.wsgi.bind_port }}

View File

@ -56,6 +56,14 @@ pod_disruption_budget:
cloudwatch: cloudwatch:
min_available: 0 min_available: 0
termination_grace_period:
api:
timeout: 30
cfn:
timeout: 30
cloudwatch:
timeout: 30
keystone_secrets: keystone_secrets:
admin: "heat-env-keystone-admin" admin: "heat-env-keystone-admin"
user: "heat-env-keystone-user" user: "heat-env-keystone-user"

View File

@ -43,6 +43,7 @@ spec:
spec: spec:
nodeSelector: nodeSelector:
{{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }} {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
terminationGracePeriodSeconds: {{ .Values.termination_grace_period.horizon.timeout | default "30" }}
containers: containers:
- name: horizon - name: horizon
image: {{ .Values.images.horizon }} image: {{ .Values.images.horizon }}
@ -61,6 +62,13 @@ spec:
- /tmp/start.sh - /tmp/start.sh
ports: ports:
- containerPort: {{ .Values.network.port }} - containerPort: {{ .Values.network.port }}
lifecycle:
preStop:
exec:
command:
- apachectl
- -k
- graceful-stop
readinessProbe: readinessProbe:
tcpSocket: tcpSocket:
port: {{ .Values.network.port }} port: {{ .Values.network.port }}

View File

@ -35,6 +35,10 @@ pod_disruption_budget:
horizon: horizon:
min_available: 0 min_available: 0
termination_grace_period:
horizon:
timeout: 30
labels: labels:
node_selector_key: openstack-control-plane node_selector_key: openstack-control-plane
node_selector_value: enabled node_selector_value: enabled

View File

@ -43,6 +43,7 @@ spec:
spec: spec:
nodeSelector: nodeSelector:
{{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }} {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
terminationGracePeriodSeconds: {{ .Values.termination_grace_period.api.timeout | default "30" }}
containers: containers:
- name: keystone-api - name: keystone-api
image: {{ .Values.images.api }} image: {{ .Values.images.api }}

View File

@ -41,6 +41,10 @@ pod_disruption_budget:
api: api:
min_available: 0 min_available: 0
termination_grace_period:
api:
timeout: 30
keystone: keystone:
version: v3 version: v3
scheme: http scheme: http

View File

@ -43,6 +43,7 @@ spec:
spec: spec:
nodeSelector: nodeSelector:
{{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }} {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
terminationGracePeriodSeconds: {{ .Values.termination_grace_period.api.timeout | default "30" }}
containers: containers:
- name: magnum-api - name: magnum-api
image: {{ .Values.images.api }} image: {{ .Values.images.api }}
@ -58,6 +59,13 @@ spec:
{{- end }} {{- end }}
ports: ports:
- containerPort: {{ .Values.conf.magnum.api.magnum.port }} - containerPort: {{ .Values.conf.magnum.api.magnum.port }}
lifecycle:
preStop:
exec:
command:
- kill
- -TERM
- "1"
readinessProbe: readinessProbe:
tcpSocket: tcpSocket:
port: {{ .Values.conf.magnum.api.magnum.port }} port: {{ .Values.conf.magnum.api.magnum.port }}

View File

@ -48,6 +48,10 @@ pod_disruption_budget:
api: api:
min_available: 0 min_available: 0
termination_grace_period:
api:
timeout: 30
keystone_secrets: keystone_secrets:
admin: "magnum-env-keystone-admin" admin: "magnum-env-keystone-admin"
user: "magnum-env-keystone-user" user: "magnum-env-keystone-user"

View File

@ -43,6 +43,7 @@ spec:
spec: spec:
nodeSelector: nodeSelector:
{{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }} {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
terminationGracePeriodSeconds: {{ .Values.termination_grace_period.api.timeout | default "30" }}
containers: containers:
- name: mistral-api - name: mistral-api
image: {{ .Values.images.api }} image: {{ .Values.images.api }}
@ -62,6 +63,13 @@ spec:
ports: ports:
- name: {{ .Values.network.api.name }} - name: {{ .Values.network.api.name }}
containerPort: {{ .Values.conf.mistral.api.mistral.config.port }} containerPort: {{ .Values.conf.mistral.api.mistral.config.port }}
lifecycle:
preStop:
exec:
command:
- kill
- -TERM
- "1"
readinessProbe: readinessProbe:
tcpSocket: tcpSocket:
port: {{ .Values.conf.mistral.api.mistral.config.port }} port: {{ .Values.conf.mistral.api.mistral.config.port }}

View File

@ -52,6 +52,10 @@ pod_disruption_budget:
api: api:
min_available: 0 min_available: 0
termination_grace_period:
api:
timeout: 30
keystone_secrets: keystone_secrets:
admin: "mistral-env-keystone-admin" admin: "mistral-env-keystone-admin"
user: "mistral-env-keystone-user" user: "mistral-env-keystone-user"

View File

@ -43,6 +43,7 @@ spec:
spec: spec:
nodeSelector: nodeSelector:
{{ .Values.labels.server.node_selector_key }}: {{ .Values.labels.server.node_selector_value }} {{ .Values.labels.server.node_selector_key }}: {{ .Values.labels.server.node_selector_value }}
terminationGracePeriodSeconds: {{ .Values.termination_grace_period.server.timeout | default "30" }}
containers: containers:
- name: neutron-server - name: neutron-server
image: {{ .Values.images.server }} image: {{ .Values.images.server }}
@ -58,6 +59,13 @@ spec:
{{- end }} {{- end }}
ports: ports:
- containerPort: {{ .Values.network.server.port }} - containerPort: {{ .Values.network.server.port }}
lifecycle:
preStop:
exec:
command:
- kill
- -TERM
- "1"
readinessProbe: readinessProbe:
tcpSocket: tcpSocket:
port: {{ .Values.network.server.port }} port: {{ .Values.network.server.port }}

View File

@ -47,6 +47,10 @@ pod_disruption_budget:
server: server:
min_available: 0 min_available: 0
termination_grace_period:
server:
timeout: 30
labels: labels:
# ovs is a special case, requiring a special # ovs is a special case, requiring a special
# label that can apply to both control hosts # label that can apply to both control hosts

View File

@ -43,6 +43,7 @@ spec:
spec: spec:
nodeSelector: nodeSelector:
{{ .Values.labels.api_metadata.node_selector_key }}: {{ .Values.labels.api_metadata.node_selector_value }} {{ .Values.labels.api_metadata.node_selector_key }}: {{ .Values.labels.api_metadata.node_selector_value }}
terminationGracePeriodSeconds: {{ .Values.termination_grace_period.metadata.timeout | default "30" }}
containers: containers:
- name: nova-api - name: nova-api
image: {{ .Values.images.api }} image: {{ .Values.images.api }}
@ -63,6 +64,13 @@ spec:
- NET_ADMIN - NET_ADMIN
ports: ports:
- containerPort: {{ .Values.network.metadata.port }} - containerPort: {{ .Values.network.metadata.port }}
lifecycle:
preStop:
exec:
command:
- kill
- -TERM
- "1"
readinessProbe: readinessProbe:
tcpSocket: tcpSocket:
port: {{ .Values.network.metadata.port }} port: {{ .Values.network.metadata.port }}

View File

@ -43,6 +43,7 @@ spec:
spec: spec:
nodeSelector: nodeSelector:
{{ .Values.labels.osapi.node_selector_key }}: {{ .Values.labels.osapi.node_selector_value }} {{ .Values.labels.osapi.node_selector_key }}: {{ .Values.labels.osapi.node_selector_value }}
terminationGracePeriodSeconds: {{ .Values.termination_grace_period.osapi.timeout | default "30" }}
containers: containers:
- name: nova-osapi - name: nova-osapi
image: {{ .Values.images.api }} image: {{ .Values.images.api }}
@ -62,6 +63,13 @@ spec:
{{- end }} {{- end }}
ports: ports:
- containerPort: {{ .Values.network.osapi.port }} - containerPort: {{ .Values.network.osapi.port }}
lifecycle:
preStop:
exec:
command:
- kill
- -TERM
- "1"
readinessProbe: readinessProbe:
tcpSocket: tcpSocket:
port: {{ .Values.network.osapi.port }} port: {{ .Values.network.osapi.port }}

View File

@ -81,6 +81,12 @@ pod_disruption_budget:
osapi: osapi:
min_available: 0 min_available: 0
termination_grace_period:
metadata:
timeout: 30
osapi:
timeout: 30
bootstrap: bootstrap:
enabled: true enabled: true
flavors: flavors:

View File

@ -43,6 +43,7 @@ spec:
spec: spec:
nodeSelector: nodeSelector:
{{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }} {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
terminationGracePeriodSeconds: {{ .Values.termination_grace_period.api.timeout | default "30" }}
containers: containers:
- name: senlin-api - name: senlin-api
image: {{ .Values.images.api }} image: {{ .Values.images.api }}
@ -64,6 +65,13 @@ spec:
command: command:
- bash - bash
- /tmp/senlin-api.sh - /tmp/senlin-api.sh
lifecycle:
preStop:
exec:
command:
- kill
- -TERM
- "1"
volumeMounts: volumeMounts:
- name: senlin-bin - name: senlin-bin
mountPath: /tmp/senlin-api.sh mountPath: /tmp/senlin-api.sh

View File

@ -48,6 +48,10 @@ pod_disruption_budget:
api: api:
min_available: 0 min_available: 0
termination_grace_period:
api:
timeout: 30
keystone_secrets: keystone_secrets:
admin: "senlin-env-keystone-admin" admin: "senlin-env-keystone-admin"
user: "senlin-env-keystone-user" user: "senlin-env-keystone-user"