diff options
author | Cédric Ollivier <cedric.ollivier@orange.com> | 2020-09-15 23:18:16 +0200 |
---|---|---|
committer | Cédric Ollivier <cedric.ollivier@orange.com> | 2020-09-16 10:30:59 +0200 |
commit | a2d2320aa280f5b54f4967839684bc6fc2f699ba (patch) | |
tree | 839ab894b16694fa5bdb0f0fdd110e06987f2484 /functest_kubernetes/ims/helm | |
parent | 6306503c221d67717a92d588b961d96003b2fbd4 (diff) |
Publish helm_vims also based on clearwater-docker
It leverages helm rather than kubectl as proposed by k8s_vims.
A new abstract class Vims is added to factorize code between both
testcases.
Change-Id: Ie5de8d62e25e74f73f8e32167228a08e82989abd
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
(cherry picked from commit 32dfc10f56ead9abea8798e1ce16fe87652ca480)
Diffstat (limited to 'functest_kubernetes/ims/helm')
24 files changed, 752 insertions, 0 deletions
diff --git a/functest_kubernetes/ims/helm/Chart.yaml b/functest_kubernetes/ims/helm/Chart.yaml new file mode 100644 index 00000000..0f0d7e5d --- /dev/null +++ b/functest_kubernetes/ims/helm/Chart.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +description: A Helm chart for Clearwater +name: clearwater +version: 0.1.0 diff --git a/functest_kubernetes/ims/helm/templates/astaire-depl.yaml b/functest_kubernetes/ims/helm/templates/astaire-depl.yaml new file mode 100644 index 00000000..11fcb1d6 --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/astaire-depl.yaml @@ -0,0 +1,61 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: astaire +spec: + replicas: 1 + selector: + matchLabels: + service: astaire + template: + metadata: + labels: + service: astaire + spec: + terminationGracePeriodSeconds: 120 + initContainers: + - name: wait-on-cassandra + image: busybox:1.28 + command: ['sh', '-c', 'until nslookup cassandra; do echo waiting for cassandra to start ...; sleep 2; done'] + containers: + - image: "{{ .Values.image.path }}-astaire:{{ .Values.image.tag }}" + name: astaire + ports: + - containerPort: 22 + - containerPort: 11211 + - containerPort: 11311 + envFrom: + - configMapRef: + name: env-vars + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + livenessProbe: + tcpSocket: + port: 11311 + periodSeconds: 10 + failureThreshold: 9 + readinessProbe: + tcpSocket: + port: 11311 + volumeMounts: + - name: astairelogs + mountPath: /var/log/astaire + lifecycle: + preStop: + exec: + command: ["/bin/bash", "-c", "/usr/bin/pre-stop"] + - image: busybox:1.28 + name: tailer + command: [ "tail", "-F", "/var/log/astaire/astaire_current.txt" ] + volumeMounts: + - name: astairelogs + mountPath: /var/log/astaire + volumes: + - name: astairelogs + emptyDir: {} + imagePullSecrets: + - name: ~ + restartPolicy: Always diff --git a/functest_kubernetes/ims/helm/templates/astaire-svc.yaml b/functest_kubernetes/ims/helm/templates/astaire-svc.yaml new file mode 100644 index 00000000..2e2c8715 --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/astaire-svc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: astaire +spec: + ports: + - name: "11311" + port: 11311 + selector: + service: astaire + clusterIP: None diff --git a/functest_kubernetes/ims/helm/templates/bono-depl.yaml b/functest_kubernetes/ims/helm/templates/bono-depl.yaml new file mode 100644 index 00000000..d3fb1b82 --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/bono-depl.yaml @@ -0,0 +1,68 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: bono +spec: + replicas: 1 + selector: + matchLabels: + service: bono + template: + metadata: + labels: + service: bono + snmp: enabled + spec: + initContainers: + - name: wait-on-sprout + image: busybox:1.28 + command: ['sh', '-c', 'until nslookup sprout; do echo waiting for sprout to start ...; sleep 2; done'] + containers: + - image: "{{ .Values.image.path }}-bono:{{ .Values.image.tag }}" + name: bono + ports: + - containerPort: 22 + - containerPort: 3478 + - containerPort: 5060 + - containerPort: 5062 + - containerPort: 5060 + protocol: "UDP" + - containerPort: 5062 + protocol: "UDP" + envFrom: + - configMapRef: + name: env-vars + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + livenessProbe: + exec: + command: ["nc", "-z", "-w", "5", "127.0.0.1", "5060"] + initialDelaySeconds: 30 + readinessProbe: + tcpSocket: + port: 5060 + livenessProbe: + exec: + command: ["/bin/bash", "/usr/share/kubernetes/liveness.sh", "3478 5060 5062"] + initialDelaySeconds: 30 + readinessProbe: + exec: + command: ["/bin/bash", "/usr/share/kubernetes/liveness.sh", "3478 5060 5062"] + volumeMounts: + - name: bonologs + mountPath: /var/log/bono + - image: busybox:1.28 + name: tailer + command: [ "tail", "-F", "/var/log/bono/bono_current.txt" ] + volumeMounts: + - name: bonologs + mountPath: /var/log/bono + volumes: + - name: bonologs + emptyDir: {} + imagePullSecrets: + - name: ~ + restartPolicy: Always diff --git a/functest_kubernetes/ims/helm/templates/bono-svc.yaml b/functest_kubernetes/ims/helm/templates/bono-svc.yaml new file mode 100644 index 00000000..8220ccd0 --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/bono-svc.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: bono +spec: + clusterIP: None + ports: + - name: "3478" + port: 3478 + - name: "5060" + port: 5060 + - name: "5062" + port: 5062 + selector: + service: bono diff --git a/functest_kubernetes/ims/helm/templates/cassandra-depl.yaml b/functest_kubernetes/ims/helm/templates/cassandra-depl.yaml new file mode 100644 index 00000000..fb04a78f --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/cassandra-depl.yaml @@ -0,0 +1,45 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: cassandra +spec: + replicas: 1 + selector: + matchLabels: + service: cassandra + template: + metadata: + labels: + service: cassandra + spec: + initContainers: + - name: wait-on-etcd + image: busybox:1.28 + command: ['sh', '-c', 'until nslookup etcd; do echo waiting for etcd to start ...; sleep 2; done'] + containers: + - image: "{{ .Values.image.path }}-cassandra:{{ .Values.image.tag }}" + name: cassandra + ports: + - containerPort: 22 + - containerPort: 7001 + - containerPort: 9042 + - containerPort: 9160 + envFrom: + - configMapRef: + name: env-vars + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + livenessProbe: + exec: + command: ["/bin/bash", "/usr/share/kubernetes/liveness.sh", "7000 9042 9160"] + # Cassandra can take a very, very long time to start up + initialDelaySeconds: 600 + readinessProbe: + exec: + command: ["/bin/bash", "/usr/share/kubernetes/liveness.sh", "7000 9042 9160"] + imagePullSecrets: + - name: ~ + restartPolicy: Always diff --git a/functest_kubernetes/ims/helm/templates/cassandra-svc.yaml b/functest_kubernetes/ims/helm/templates/cassandra-svc.yaml new file mode 100644 index 00000000..dbaa3c0c --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/cassandra-svc.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + name: cassandra +spec: + ports: + - name: "7001" + port: 7001 + - name: "7000" + port: 7000 + - name: "9042" + port: 9042 + - name: "9160" + port: 9160 + selector: + service: cassandra + clusterIP: None diff --git a/functest_kubernetes/ims/helm/templates/chronos-depl.yaml b/functest_kubernetes/ims/helm/templates/chronos-depl.yaml new file mode 100644 index 00000000..641ba479 --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/chronos-depl.yaml @@ -0,0 +1,62 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + service: chronos + name: chronos +spec: + replicas: 1 + selector: + matchLabels: + service: chronos + template: + metadata: + labels: + service: chronos + spec: + terminationGracePeriodSeconds: 120 + initContainers: + - name: wait-on-cassandra + image: busybox:1.28 + command: ['sh', '-c', 'until nslookup cassandra; do echo waiting for cassandra to start ...; sleep 2; done'] + containers: + - image: "{{ .Values.image.path }}-chronos:{{ .Values.image.tag }}" + name: chronos + ports: + - containerPort: 22 + - containerPort: 7253 + envFrom: + - configMapRef: + name: env-vars + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + livenessProbe: + tcpSocket: + port: 7253 + periodSeconds: 10 + failureThreshold: 9 + readinessProbe: + tcpSocket: + port: 7253 + volumeMounts: + - name: chronoslogs + mountPath: /var/log/chronos + lifecycle: + preStop: + exec: + command: ["/bin/bash", "-c", "/usr/bin/pre-stop"] + - image: busybox:1.28 + name: tailer + command: [ "tail", "-F", "/var/log/chronos/chronos_current.txt" ] + volumeMounts: + - name: chronoslogs + mountPath: /var/log/chronos + volumes: + - name: chronoslogs + emptyDir: {} + imagePullSecrets: + - name: ~ + restartPolicy: Always diff --git a/functest_kubernetes/ims/helm/templates/chronos-svc.yaml b/functest_kubernetes/ims/helm/templates/chronos-svc.yaml new file mode 100644 index 00000000..0c421260 --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/chronos-svc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: chronos +spec: + ports: + - name: "7253" + port: 7253 + selector: + service: chronos + clusterIP: None diff --git a/functest_kubernetes/ims/helm/templates/ellis-depl.yaml b/functest_kubernetes/ims/helm/templates/ellis-depl.yaml new file mode 100644 index 00000000..0a290139 --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/ellis-depl.yaml @@ -0,0 +1,45 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ellis +spec: + replicas: 1 + selector: + matchLabels: + service: ellis + template: + metadata: + labels: + service: ellis + spec: + initContainers: + - name: wait-on-homestead-prov + image: busybox:1.28 + command: ['sh', '-c', 'until nslookup homestead-prov; do echo waiting for homestead-prov to start ...; sleep 2; done'] + - name: wait-on-sprout + image: busybox:1.28 + command: ['sh', '-c', 'until nslookup sprout; do echo waiting for sprout to start ...; sleep 2; done'] + containers: + - image: "{{ .Values.image.path }}-ellis:{{ .Values.image.tag }}" + name: ellis + ports: + - containerPort: 22 + - containerPort: 80 + envFrom: + - configMapRef: + name: env-vars + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + livenessProbe: + tcpSocket: + port: 80 + initialDelaySeconds: 30 + readinessProbe: + tcpSocket: + port: 80 + imagePullSecrets: + - name: ~ + restartPolicy: Always diff --git a/functest_kubernetes/ims/helm/templates/ellis-svc.yaml b/functest_kubernetes/ims/helm/templates/ellis-svc.yaml new file mode 100644 index 00000000..53376317 --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/ellis-svc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: ellis +spec: + clusterIP: None + ports: + - name: "http" + port: 80 + selector: + service: ellis diff --git a/functest_kubernetes/ims/helm/templates/etcd-depl.yaml b/functest_kubernetes/ims/helm/templates/etcd-depl.yaml new file mode 100644 index 00000000..c9e628ff --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/etcd-depl.yaml @@ -0,0 +1,63 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: etcd +spec: + replicas: 1 + selector: + matchLabels: + instance-type: etcd-pod + template: + metadata: + creationTimestamp: null + labels: + instance-type: etcd-pod + spec: + containers: + - args: + - --name + - $(MY_POD_NAME) + - --advertise-client-urls + - http://$(MY_POD_IP):2379,http://$(MY_POD_IP):4001 + - --listen-client-urls + - http://0.0.0.0:2379,http://0.0.0.0:4001 + - --initial-advertise-peer-urls + - http://$(MY_POD_IP):2380 + - --listen-peer-urls + - http://0.0.0.0:2380 + # By default use a single pod cluster + - --initial-cluster + - $(MY_POD_NAME)=http://$(MY_POD_IP):2380 + # Alternatively multi-pod clusters can be supported Using central discvovery. Run e.g. + # curl https://discovery.etcd.io/new?size=3 | sed s/https/http/ + # to get a discovery URL for a 3 pod cluster, substitute the returned value below, and + # set replicas: 3 above. + #- --discovery + #- <URL returned by command above> + - --initial-cluster-state + - new + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + - name: MY_POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + image: quay.io/coreos/etcd:v2.2.5 + name: etcd + ports: + - containerPort: 2379 + - containerPort: 2380 + - containerPort: 4001 + livenessProbe: + tcpSocket: + port: 4001 + initialDelaySeconds: 300 + readinessProbe: + tcpSocket: + port: 4001 + imagePullSecrets: + - name: ~ + restartPolicy: Always diff --git a/functest_kubernetes/ims/helm/templates/etcd-svc.yaml b/functest_kubernetes/ims/helm/templates/etcd-svc.yaml new file mode 100644 index 00000000..2df5b164 --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/etcd-svc.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + name: etcd + labels: + instance-type: etcd-pod +spec: + ports: + - name: "etcd-client" + port: 2379 + - name: "etcd-server" + port: 2380 + - name: "4001" + port: 4001 + selector: + instance-type: etcd-pod + clusterIP: None diff --git a/functest_kubernetes/ims/helm/templates/homer-depl.yaml b/functest_kubernetes/ims/helm/templates/homer-depl.yaml new file mode 100644 index 00000000..01bf9cdc --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/homer-depl.yaml @@ -0,0 +1,42 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: homer +spec: + replicas: 1 + selector: + matchLabels: + service: homer + template: + metadata: + labels: + service: homer + spec: + initContainers: + - name: wait-on-cassandra + image: busybox:1.28 + command: ['sh', '-c', 'until nslookup cassandra; do echo waiting for cassandra to start ...; sleep 2; done'] + containers: + - image: "{{ .Values.image.path }}-homer:{{ .Values.image.tag }}" + name: homer + ports: + - containerPort: 22 + - containerPort: 7888 + envFrom: + - configMapRef: + name: env-vars + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + livenessProbe: + tcpSocket: + port: 7888 + initialDelaySeconds: 30 + readinessProbe: + tcpSocket: + port: 7888 + imagePullSecrets: + - name: ~ + restartPolicy: Always diff --git a/functest_kubernetes/ims/helm/templates/homer-svc.yaml b/functest_kubernetes/ims/helm/templates/homer-svc.yaml new file mode 100644 index 00000000..72fda055 --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/homer-svc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: homer +spec: + ports: + - name: "7888" + port: 7888 + selector: + service: homer + clusterIP: None diff --git a/functest_kubernetes/ims/helm/templates/homestead-depl.yaml b/functest_kubernetes/ims/helm/templates/homestead-depl.yaml new file mode 100644 index 00000000..782ff16d --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/homestead-depl.yaml @@ -0,0 +1,58 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: homestead +spec: + replicas: 1 + selector: + matchLabels: + service: homestead + template: + metadata: + labels: + service: homestead + snmp: enabled + spec: + initContainers: + - name: wait-on-cassandra + image: busybox:1.28 + command: ['sh', '-c', 'until nslookup cassandra; do echo waiting for cassandra to start ...; sleep 2; done'] + - name: wait-on-astaire + image: busybox:1.28 + command: ['sh', '-c', 'until nslookup astaire; do echo waiting for astaire to start ...; sleep 2; done'] + containers: + - image: "{{ .Values.image.path }}-homestead:{{ .Values.image.tag }}" + name: homestead + ports: + - containerPort: 22 + - containerPort: 8888 + envFrom: + - configMapRef: + name: env-vars + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + livenessProbe: + exec: + command: ["/bin/bash", "/usr/share/kubernetes/liveness.sh", "8888"] + initialDelaySeconds: 60 + readinessProbe: + exec: + command: ["/bin/bash", "/usr/share/kubernetes/liveness.sh", "8888"] + volumeMounts: + - name: homesteadlogs + mountPath: /var/log/homestead + - image: busybox:1.28 + name: tailer + command: [ "tail", "-F", "/var/log/homestead/homestead_current.txt" ] + volumeMounts: + - name: homesteadlogs + mountPath: /var/log/homestead + volumes: + - name: homesteadlogs + emptyDir: {} + imagePullSecrets: + - name: ~ + restartPolicy: Always diff --git a/functest_kubernetes/ims/helm/templates/homestead-prov-depl.yaml b/functest_kubernetes/ims/helm/templates/homestead-prov-depl.yaml new file mode 100644 index 00000000..59ec4e26 --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/homestead-prov-depl.yaml @@ -0,0 +1,43 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: homestead-prov +spec: + replicas: 1 + selector: + matchLabels: + service: homestead-prov + template: + metadata: + labels: + service: homestead-prov + snmp: enabled + spec: + initContainers: + - name: wait-on-homestead + image: busybox:1.28 + command: ['sh', '-c', 'until nslookup homestead; do echo waiting for homestead to start ...; sleep 2; done'] + containers: + - image: "{{ .Values.image.path }}-homestead-prov:{{ .Values.image.tag }}" + name: homestead-prov + ports: + - containerPort: 22 + - containerPort: 8889 + envFrom: + - configMapRef: + name: env-vars + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + livenessProbe: + exec: + command: ["/bin/bash", "/usr/share/clearwater/bin/poll_homestead-prov.sh"] + initialDelaySeconds: 60 + readinessProbe: + exec: + command: ["/bin/bash", "/usr/share/clearwater/bin/poll_homestead-prov.sh"] + imagePullSecrets: + - name: ~ + restartPolicy: Always diff --git a/functest_kubernetes/ims/helm/templates/homestead-prov-svc.yaml b/functest_kubernetes/ims/helm/templates/homestead-prov-svc.yaml new file mode 100644 index 00000000..83103021 --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/homestead-prov-svc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: homestead-prov +spec: + ports: + - name: "8889" + port: 8889 + selector: + service: homestead-prov + clusterIP: None diff --git a/functest_kubernetes/ims/helm/templates/homestead-svc.yaml b/functest_kubernetes/ims/helm/templates/homestead-svc.yaml new file mode 100644 index 00000000..4015e81b --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/homestead-svc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: homestead +spec: + ports: + - name: "8888" + port: 8888 + selector: + service: homestead + clusterIP: None diff --git a/functest_kubernetes/ims/helm/templates/ralf-depl.yaml b/functest_kubernetes/ims/helm/templates/ralf-depl.yaml new file mode 100644 index 00000000..b052eea6 --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/ralf-depl.yaml @@ -0,0 +1,55 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ralf +spec: + replicas: 1 + selector: + matchLabels: + service: ralf + template: + metadata: + labels: + service: ralf + snmp: enabled + spec: + initContainers: + - name: wait-on-cassandra + image: busybox:1.28 + command: ['sh', '-c', 'until nslookup cassandra; do echo waiting for cassandra to start ...; sleep 2; done'] + containers: + - image: "{{ .Values.image.path }}-ralf:{{ .Values.image.tag }}" + name: ralf + ports: + - containerPort: 22 + - containerPort: 10888 + envFrom: + - configMapRef: + name: env-vars + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + livenessProbe: + tcpSocket: + port: 10888 + initialDelaySeconds: 30 + readinessProbe: + tcpSocket: + port: 10888 + volumeMounts: + - name: ralflogs + mountPath: /var/log/ralf + - image: busybox:1.28 + name: tailer + command: [ "tail", "-F", "/var/log/ralf/ralf_current.txt" ] + volumeMounts: + - name: ralflogs + mountPath: /var/log/ralf + volumes: + - name: ralflogs + emptyDir: {} + imagePullSecrets: + - name: ~ + restartPolicy: Always diff --git a/functest_kubernetes/ims/helm/templates/ralf-svc.yaml b/functest_kubernetes/ims/helm/templates/ralf-svc.yaml new file mode 100644 index 00000000..07ad51e9 --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/ralf-svc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: ralf +spec: + ports: + - name: "10888" + port: 10888 + selector: + service: ralf + clusterIP: None diff --git a/functest_kubernetes/ims/helm/templates/sprout-depl.yaml b/functest_kubernetes/ims/helm/templates/sprout-depl.yaml new file mode 100644 index 00000000..1ee4701f --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/sprout-depl.yaml @@ -0,0 +1,61 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: sprout +spec: + replicas: 1 + selector: + matchLabels: + service: sprout + template: + metadata: + labels: + service: sprout + snmp: enabled + spec: + initContainers: + - name: wait-on-ralf + image: busybox:1.28 + command: ['sh', '-c', 'until nslookup ralf; do echo waiting for ralf to start ...; sleep 2; done'] + - name: wait-on-chronos + image: busybox:1.28 + command: ['sh', '-c', 'until nslookup chronos; do echo waiting for chronos to start ...; sleep 2; done'] + - name: wait-on-homestead + image: busybox:1.28 + command: ['sh', '-c', 'until nslookup homestead; do echo waiting for homestead to start ...; sleep 2; done'] + containers: + - image: "{{ .Values.image.path }}-sprout:{{ .Values.image.tag }}" + name: sprout + ports: + - containerPort: 22 + envFrom: + - configMapRef: + name: env-vars + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + livenessProbe: + exec: + command: ["/bin/bash", "/usr/share/kubernetes/liveness.sh", "5052 5054"] + initialDelaySeconds: 30 + periodSeconds: 3 + readinessProbe: + exec: + command: ["/bin/bash", "/usr/share/kubernetes/liveness.sh", "5052 5054"] + volumeMounts: + - name: sproutlogs + mountPath: /var/log/sprout + - image: busybox:1.28 + name: tailer + command: [ "tail", "-F", "/var/log/sprout/sprout_current.txt" ] + volumeMounts: + - name: sproutlogs + mountPath: /var/log/sprout + volumes: + - name: sproutlogs + emptyDir: {} + imagePullSecrets: + - name: ~ + restartPolicy: Always diff --git a/functest_kubernetes/ims/helm/templates/sprout-svc.yaml b/functest_kubernetes/ims/helm/templates/sprout-svc.yaml new file mode 100644 index 00000000..cf23a33c --- /dev/null +++ b/functest_kubernetes/ims/helm/templates/sprout-svc.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: sprout +spec: + ports: + - name: "5052" + port: 5052 + - name: "5054" + port: 5054 + selector: + service: sprout + clusterIP: None diff --git a/functest_kubernetes/ims/helm/values.yaml b/functest_kubernetes/ims/helm/values.yaml new file mode 100644 index 00000000..b2cb3272 --- /dev/null +++ b/functest_kubernetes/ims/helm/values.yaml @@ -0,0 +1,6 @@ +# Default values for clearwater. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. +image: + path: ollivier/clearwater + tag: hunter |