From 6d0a0fc0c3a0ec5f9fbc1fb6dcd64238db16bd1c Mon Sep 17 00:00:00 2001 From: Sean Eagan Date: Tue, 13 Mar 2018 11:28:58 -0500 Subject: [PATCH] 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 --- .../_kubernetes_entrypoint_init_container.tpl | 4 +++ .../snippets/_kubernetes_pod_rbac_roles.tpl | 2 +- .../_kubernetes_pod_rbac_serviceaccount.tpl | 2 ++ nova/values.yaml | 26 ++++++++++++------- 4 files changed, 24 insertions(+), 10 deletions(-) diff --git a/helm-toolkit/templates/snippets/_kubernetes_entrypoint_init_container.tpl b/helm-toolkit/templates/snippets/_kubernetes_entrypoint_init_container.tpl index ed371eb318..441e293f84 100644 --- a/helm-toolkit/templates/snippets/_kubernetes_entrypoint_init_container.tpl +++ b/helm-toolkit/templates/snippets/_kubernetes_entrypoint_init_container.tpl @@ -34,6 +34,8 @@ limitations under the License. fieldPath: metadata.namespace - name: INTERFACE_NAME value: eth0 + - name: PATH + value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/ - name: DEPENDENCY_SERVICE value: "{{ tuple $deps.services $envAll | include "helm-toolkit.utils.comma_joined_service_list" }}" - name: DEPENDENCY_JOBS @@ -42,6 +44,8 @@ limitations under the License. value: "{{ include "helm-toolkit.utils.joinListWithComma" $deps.daemonset }}" - name: DEPENDENCY_CONTAINER value: "{{ include "helm-toolkit.utils.joinListWithComma" $deps.container }}" + - name: DEPENDENCY_POD + value: {{ if $deps.pod }}{{ toJson $deps.pod | quote }}{{ else }}""{{ end }} - name: COMMAND value: "echo done" command: diff --git a/helm-toolkit/templates/snippets/_kubernetes_pod_rbac_roles.tpl b/helm-toolkit/templates/snippets/_kubernetes_pod_rbac_roles.tpl index 1284b36c96..f9f48ef7b6 100644 --- a/helm-toolkit/templates/snippets/_kubernetes_pod_rbac_roles.tpl +++ b/helm-toolkit/templates/snippets/_kubernetes_pod_rbac_roles.tpl @@ -57,7 +57,7 @@ rules: {{ if eq $v "jobs" }} - jobs {{- end -}} - {{ if or (eq $v "daemonsets") (eq $v "jobs") }} + {{ if or (eq $v "pods") (eq $v "daemonsets") (eq $v "jobs") }} - pods {{- end -}} {{ if eq $v "services" }} diff --git a/helm-toolkit/templates/snippets/_kubernetes_pod_rbac_serviceaccount.tpl b/helm-toolkit/templates/snippets/_kubernetes_pod_rbac_serviceaccount.tpl index 73bc903b9a..b96f099b91 100644 --- a/helm-toolkit/templates/snippets/_kubernetes_pod_rbac_serviceaccount.tpl +++ b/helm-toolkit/templates/snippets/_kubernetes_pod_rbac_serviceaccount.tpl @@ -40,6 +40,8 @@ metadata: {{- $_ := set $allNamespace $saNamespace (printf "%s%s" "jobs," ((index $allNamespace $saNamespace) | default "")) }} {{- else if and (eq $k "daemonset") $v }} {{- $_ := 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 -}} {{- $_ := unset $allNamespace $randomKey }} diff --git a/nova/values.yaml b/nova/values.yaml index a80d1889fe..801f34169b 100644 --- a/nova/values.yaml +++ b/nova/values.yaml @@ -64,7 +64,7 @@ images: bootstrap: docker.io/openstackhelm/heat:newton db_drop: 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 ks_user: docker.io/openstackhelm/heat:newton ks_service: docker.io/openstackhelm/heat:newton @@ -185,16 +185,22 @@ dependencies: targeted: openvswitch: compute: - daemonset: - - neutron-ovs-agent + pod: + - labels: + application: neutron + component: neutron-ovs-agent linuxbridge: compute: - daemonset: - - neutron-lb-agent + pod: + - labels: + application: neutron + component: neutron-lb-agent sriov: compute: - daemonset: - - neutron-sriov-agent + pod: + - labels: + application: neutron + component: neutron-sriov-agent static: api: jobs: @@ -231,8 +237,10 @@ dependencies: - endpoint: internal service: compute compute: - daemonset: - - libvirt + pod: + - labels: + application: libvirt + component: libvirt jobs: - nova-db-sync - nova-rabbit-init