Use pod dependencies in nova chart

Changes nova chart to depend on neutron pod labels instead of daemonsets
in order to prepare for utilizing daemonset overrides in neutron chart,
Utilizes a new feature of kubernetes-entrypoint, pod dependencies, added
to kubernetes-entrypoint in v0.3.0.

Change-Id: Ic79ddc1b7f477195c5b3dfd630df4d78d7589030
This commit is contained in:
Sean Eagan 2018-03-13 11:28:58 -05:00
parent 0c7b6e01a3
commit 6d0a0fc0c3
4 changed files with 24 additions and 10 deletions

View File

@ -34,6 +34,8 @@ limitations under the License.
fieldPath: metadata.namespace fieldPath: metadata.namespace
- name: INTERFACE_NAME - name: INTERFACE_NAME
value: eth0 value: eth0
- name: PATH
value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
- name: DEPENDENCY_SERVICE - name: DEPENDENCY_SERVICE
value: "{{ tuple $deps.services $envAll | include "helm-toolkit.utils.comma_joined_service_list" }}" value: "{{ tuple $deps.services $envAll | include "helm-toolkit.utils.comma_joined_service_list" }}"
- name: DEPENDENCY_JOBS - name: DEPENDENCY_JOBS
@ -42,6 +44,8 @@ limitations under the License.
value: "{{ include "helm-toolkit.utils.joinListWithComma" $deps.daemonset }}" value: "{{ include "helm-toolkit.utils.joinListWithComma" $deps.daemonset }}"
- name: DEPENDENCY_CONTAINER - name: DEPENDENCY_CONTAINER
value: "{{ include "helm-toolkit.utils.joinListWithComma" $deps.container }}" value: "{{ include "helm-toolkit.utils.joinListWithComma" $deps.container }}"
- name: DEPENDENCY_POD
value: {{ if $deps.pod }}{{ toJson $deps.pod | quote }}{{ else }}""{{ end }}
- name: COMMAND - name: COMMAND
value: "echo done" value: "echo done"
command: command:

View File

@ -57,7 +57,7 @@ rules:
{{ if eq $v "jobs" }} {{ if eq $v "jobs" }}
- jobs - jobs
{{- end -}} {{- end -}}
{{ if or (eq $v "daemonsets") (eq $v "jobs") }} {{ if or (eq $v "pods") (eq $v "daemonsets") (eq $v "jobs") }}
- pods - pods
{{- end -}} {{- end -}}
{{ if eq $v "services" }} {{ if eq $v "services" }}

View File

@ -40,6 +40,8 @@ metadata:
{{- $_ := set $allNamespace $saNamespace (printf "%s%s" "jobs," ((index $allNamespace $saNamespace) | default "")) }} {{- $_ := set $allNamespace $saNamespace (printf "%s%s" "jobs," ((index $allNamespace $saNamespace) | default "")) }}
{{- else if and (eq $k "daemonset") $v }} {{- else if and (eq $k "daemonset") $v }}
{{- $_ := set $allNamespace $saNamespace (printf "%s%s" "daemonsets," ((index $allNamespace $saNamespace) | default "")) }} {{- $_ := set $allNamespace $saNamespace (printf "%s%s" "daemonsets," ((index $allNamespace $saNamespace) | default "")) }}
{{- else if and (eq $k "pod") $v }}
{{- $_ := set $allNamespace $saNamespace (printf "%s%s" "pods," ((index $allNamespace $saNamespace) | default "")) }}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
{{- $_ := unset $allNamespace $randomKey }} {{- $_ := unset $allNamespace $randomKey }}

View File

@ -64,7 +64,7 @@ images:
bootstrap: docker.io/openstackhelm/heat:newton bootstrap: docker.io/openstackhelm/heat:newton
db_drop: docker.io/openstackhelm/heat:newton db_drop: docker.io/openstackhelm/heat:newton
db_init: docker.io/openstackhelm/heat:newton db_init: docker.io/openstackhelm/heat:newton
dep_check: 'quay.io/stackanetes/kubernetes-entrypoint:v0.2.1' dep_check: 'quay.io/stackanetes/kubernetes-entrypoint:v0.3.0'
rabbit_init: docker.io/rabbitmq:3.7-management rabbit_init: docker.io/rabbitmq:3.7-management
ks_user: docker.io/openstackhelm/heat:newton ks_user: docker.io/openstackhelm/heat:newton
ks_service: docker.io/openstackhelm/heat:newton ks_service: docker.io/openstackhelm/heat:newton
@ -185,16 +185,22 @@ dependencies:
targeted: targeted:
openvswitch: openvswitch:
compute: compute:
daemonset: pod:
- neutron-ovs-agent - labels:
application: neutron
component: neutron-ovs-agent
linuxbridge: linuxbridge:
compute: compute:
daemonset: pod:
- neutron-lb-agent - labels:
application: neutron
component: neutron-lb-agent
sriov: sriov:
compute: compute:
daemonset: pod:
- neutron-sriov-agent - labels:
application: neutron
component: neutron-sriov-agent
static: static:
api: api:
jobs: jobs:
@ -231,8 +237,10 @@ dependencies:
- endpoint: internal - endpoint: internal
service: compute service: compute
compute: compute:
daemonset: pod:
- libvirt - labels:
application: libvirt
component: libvirt
jobs: jobs:
- nova-db-sync - nova-db-sync
- nova-rabbit-init - nova-rabbit-init