From 7dfb7299d9e8a0bd1e8402d33f97ce1be7557464 Mon Sep 17 00:00:00 2001 From: Serguei Bezverkhi Date: Fri, 14 Apr 2017 09:18:13 -0400 Subject: [PATCH] Converting keepalived into helm charts Converting keepalived into helm charts Change-Id: I5cf1f75db46771236ed7f3553016df8cec6b23b2 Partially-Implements: blueprint more-microservices --- helm/all_values.yaml | 9 ++ .../keepalived-daemonset/Chart.yaml | 11 ++ .../keepalived-daemonset/requirements.yaml | 4 + .../templates/keepalived-daemonset.yaml | 113 ++++++++++++++++++ .../notes/keepalived-81c457d84c5910c5.yaml | 4 + .../keepalived/keepalived-configmap.yml.j2 | 4 +- tests/bin/ceph_workflow.sh | 14 ++- tests/bin/ceph_workflow_service.sh | 14 ++- tests/bin/deploy_compute_kit.sh | 11 +- tests/bin/deploy_iscsi_common.sh | 16 ++- 10 files changed, 180 insertions(+), 20 deletions(-) create mode 100644 helm/microservice/keepalived-daemonset/Chart.yaml create mode 100644 helm/microservice/keepalived-daemonset/requirements.yaml create mode 100644 helm/microservice/keepalived-daemonset/templates/keepalived-daemonset.yaml create mode 100644 releasenotes/notes/keepalived-81c457d84c5910c5.yaml diff --git a/helm/all_values.yaml b/helm/all_values.yaml index 7edc079b8..585ee91b7 100755 --- a/helm/all_values.yaml +++ b/helm/all_values.yaml @@ -19,6 +19,8 @@ common: container_config_directory: /var/lib/kolla/config_files kubernetes_entrypoint: false resolve_conf_net_host_workaround: true + kolla_kubernetes_external_vip: 172.18.0.1 + kolla_kubernetes_external_subnet: 24 kube_logger: true common-mariadb: @@ -293,6 +295,13 @@ openvswitch-vswitchd-daemonset: ext_bridge_name: br-ex ext_interface_name: eth1 +keepalived-daemonset: + global: + kolla: + keepalived: + all: + api_interface: br-ex + rabbitmq-init-element-job: global: element_name: rabbitmq diff --git a/helm/microservice/keepalived-daemonset/Chart.yaml b/helm/microservice/keepalived-daemonset/Chart.yaml new file mode 100644 index 000000000..9eaecad74 --- /dev/null +++ b/helm/microservice/keepalived-daemonset/Chart.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +version: 0.6.0-1 +description: keepalived microservice chart +name: keepalived-daemonset +keywords: + - openstack + - keepalived +home: http://www.openstack.org +sources: + - http://github.com/openstack +engine: gotpl diff --git a/helm/microservice/keepalived-daemonset/requirements.yaml b/helm/microservice/keepalived-daemonset/requirements.yaml new file mode 100644 index 000000000..979b4758e --- /dev/null +++ b/helm/microservice/keepalived-daemonset/requirements.yaml @@ -0,0 +1,4 @@ +dependencies: + - name: kolla-common + repository: file://../../kolla-common + version: 0.6.0-1 diff --git a/helm/microservice/keepalived-daemonset/templates/keepalived-daemonset.yaml b/helm/microservice/keepalived-daemonset/templates/keepalived-daemonset.yaml new file mode 100644 index 000000000..dd96cc984 --- /dev/null +++ b/helm/microservice/keepalived-daemonset/templates/keepalived-daemonset.yaml @@ -0,0 +1,113 @@ +{{- $restype := .Values.type }} +{{- $searchPath := ":global.kolla.keepalived.daemonset:global.kolla.keepalived.all:global.kolla.all" }} +{{- $c := dict "searchPath" $searchPath "Values" .Values }} +{{- $_ := set $c "contName" "keepalived" }} +{{- $_ := set $c "imageName" "image_full" }} +{{- $_ := set $c "tagName" "image_tag" }} +{{- $imageFull := include "kolla_build_image_full" $c }} +{{- $imagePullPolicy := include "kolla_val_get_str" (dict "key" "image_pull_policy" "searchPath" $searchPath "Values" .Values ) }} +{{- $containerConfigDirectory := include "kolla_val_get_str" (dict "key" "container_config_directory" "searchPath" $searchPath "Values" .Values ) }} +{{- $selectorKey := include "kolla_val_get_str" (dict "key" "selector_key" "searchPath" $searchPath "Values" .Values ) }} +{{- $selectorValue := include "kolla_val_get_str" (dict "key" "selector_value" "searchPath" $searchPath "Values" .Values ) }} +{{- $resourceName := "keepalived" }} +{{- $netHostTrue := true }} +{{- $podTypeBootstrap := false }} +{{- $apiInterface := include "kolla_val_get_str" (dict "key" "api_interface" "searchPath" $searchPath "Values" .Values ) }} +{{- $kollaKubernetesExternalVIP := include "kolla_val_get_str" (dict "key" "kolla_kubernetes_external_vip" "searchPath" $searchPath "Values" .Values ) }} +{{- with $env := dict "netHostTrue" $netHostTrue "podTypeBootstrap" $podTypeBootstrap "resourceName" $resourceName "Values" .Values "Release" .Release "searchPath" $searchPath }} +apiVersion: extensions/v1beta1 +kind: DaemonSet +metadata: + name: keepalived + labels: + component: keepalived + system: keepalived +spec: + template: + metadata: + labels: + component: keepalived + system: keepalived + annotations: + pod.beta.kubernetes.io/init-containers: '[ +{{- include "common_dependency_container_multi" $env | indent 10 }} + { + "name": "initialize-keepalived", + "image": "{{ $imageFull }}", + "imagePullPolicy": {{ $imagePullPolicy | quote }}, + "command": [ + "sh", + "-xec", + "cp -a /srv/configmap/..data/* /srv/pod-main-config/; + API_INTERFACE={{ $apiInterface }}; + F=/var/lib/kolla-kubernetes/keepalived/api_interface; + [ -f $F ] && API_INTERFACE=$(<$F); + sed -i ''s|interface.*|interface ''$API_INTERFACE''|g'' /srv/pod-main-config/keepalived.conf; + sed -i ''s|\\(dev*\\).*|\\1 ''$API_INTERFACE''|g'' /srv/pod-main-config/keepalived.conf; + cat /srv/pod-main-config/keepalived.conf; + "], + "volumeMounts": [ + { + "name": "keepalived-configmap", + "mountPath": "/srv/configmap" + }, + { + "name": "pod-main-config", + "mountPath": "/srv/pod-main-config" + }, + { + "name": "host-var-lib-kk", + "mountPath": "/var/lib/kolla-kubernetes" + } + ] + } + ]' + spec: + hostNetwork: True + nodeSelector: + {{ $selectorKey }}: {{ $selectorValue | quote }} + containers: + - image: "{{ $imageFull }}" + imagePullPolicy: {{ $imagePullPolicy | quote }} + name: main + lifecycle: + preStop: + exec: + command: + - /bin/bash + - -c + - | + sudo ifconfig {{ $apiInterface }} delete {{ $kollaKubernetesExternalVIP }}; + kill -HUP $(