aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAreli Fuss <af732p@att.com>2018-02-09 00:08:52 +0200
committerMichael Lando <ml636r@att.com>2018-02-15 17:39:55 +0000
commiteeec504fb7251cc282482d505fcf35ae3e7097f2 (patch)
tree6fa62a661f75f13c3d0e1a96b539288a615a5e55
parentc1e4dcf4a8030bbcf04f487fd7a6a910bb5eced1 (diff)
Add K8S deployment above Vagrant
Set deployment manifest files and scripts for deploy SDC over Kubernetes inside Vagrant Preparation for OOM integration Change-Id: If5d6b4131b75eb4795ce8bfd8ec228808938d40e Issue-ID: SDC-907 Signed-off-by: Areli Fuss <af732p@att.com>
-rw-r--r--sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-be.yaml20
-rw-r--r--sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-cs.yaml21
-rw-r--r--sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-es.yaml12
-rw-r--r--sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-fe.yaml24
-rw-r--r--sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-kb.yaml10
-rw-r--r--sdc-os-chef/kubernetes/sdc/templates/jobs/sdc-config-cs.yaml15
-rw-r--r--sdc-os-chef/kubernetes/sdc/templates/jobs/sdc-config-es.yaml12
-rw-r--r--sdc-os-chef/kubernetes/sdc/templates/secrets/sdc-cs-secret.yaml6
-rw-r--r--sdc-os-chef/kubernetes/sdc/values.yaml13
-rw-r--r--sdc-os-chef/scripts/k8s/deploy_k8s_sdc.sh36
-rwxr-xr-xsdc-os-chef/scripts/k8s/get_helm.sh230
-rw-r--r--sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/02-changeCSpass.rb10
-rw-r--r--sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/03-prepareProbeFile.rb10
13 files changed, 108 insertions, 311 deletions
diff --git a/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-be.yaml b/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-be.yaml
index ab293c2444..7c3a91c350 100644
--- a/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-be.yaml
+++ b/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-be.yaml
@@ -18,17 +18,14 @@ spec:
app: sdc-be
template:
metadata:
- annotations:
- checksum/config: {{ include (print $.Template.BasePath "/configmaps/sdc-environment-configmap.yaml") . | sha256sum }}
- checksum/config: {{ include (print $.Template.BasePath "/configmaps/sdc-check-job-completion.yaml") . | sha256sum }}
labels:
app: sdc-be
name: sdc-be
spec:
initContainers:
- name: sdc-be-readiness
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
+ image: "{{ .Values.image.readiness }}"
+ imagePullPolicy: "{{ .Values.pullPolicy }}"
command:
- /root/ready.py
args:
@@ -45,8 +42,8 @@ spec:
apiVersion: v1
fieldPath: metadata.namespace
- name: sdc-job-completion
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
+ image: "{{ .Values.image.readiness }}"
+ imagePullPolicy: "{{ .Values.pullPolicy }}"
command:
- python
args:
@@ -64,8 +61,8 @@ spec:
name: sdc-check-job-completion
containers:
- name: sdc-be
- image: {{ .Values.image.sdcBackend }}
- imagePullPolicy: {{ .Values.pullPolicy }}
+ image: "{{ .Values.image.sdcBackend }}"
+ imagePullPolicy: "{{ .Values.pullPolicy }}"
ports:
- containerPort: 8443
- containerPort: 8080
@@ -85,7 +82,7 @@ spec:
name: sdc-logback
env:
- name: ENVNAME
- value: AUTO
+ value: "{{ .Values.env.name }}"
- name: HOST_IP
valueFrom:
fieldRef:
@@ -97,8 +94,9 @@ spec:
readinessProbe:
tcpSocket:
port: 8443
- initialDelaySeconds: 5
+ initialDelaySeconds: 120
periodSeconds: 10
+ failureThreshold: 30
volumes:
- name: filebeat-conf
hostPath:
diff --git a/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-cs.yaml b/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-cs.yaml
index 64d18370e8..906b7c6663 100644
--- a/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-cs.yaml
+++ b/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-cs.yaml
@@ -28,22 +28,23 @@ spec:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
+ image: "{{ .Values.image.readiness }}"
+ imagePullPolicy: "{{ .Values.pullPolicy }}"
name: sdc-cs-readiness
containers:
- name: sdc-cs
- image: {{ .Values.image.sdcCassandra }}
- imagePullPolicy: {{ .Values.pullPolicy }}
+ image: "{{ .Values.image.sdcCassandra }}"
+ imagePullPolicy: "{{ .Values.pullPolicy }}"
+ # run cs & wait forever
+ command: ["/root/startup.sh"]
+ args: [ "/bin/sh", "-c" , "while true; do sleep 30; done;" ]
env:
- name: ENVNAME
- value: AUTO
+ value: "{{ .Values.env.name }}"
- name: HOST_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- - name: ES_HEAP_SIZE
- value: "1024M"
- name: CS_PASSWORD
valueFrom:
secretKeyRef: {name: sdc-cs-secret, key: cs_password}
@@ -63,10 +64,8 @@ spec:
readinessProbe:
exec:
command:
- - /bin/sh
- - -c
- - /var/lib/ready/probe.sh
- initialDelaySeconds: 30
+ - "/var/lib/ready-probe.sh"
+ initialDelaySeconds: 60
periodSeconds: 10
volumes:
- name: sdc-sdc-cs-cs
diff --git a/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-es.yaml b/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-es.yaml
index d673e40d2e..5ab7fee83e 100644
--- a/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-es.yaml
+++ b/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-es.yaml
@@ -17,12 +17,16 @@ spec:
name: sdc-es
spec:
containers:
- - image: {{ .Values.image.sdcElasticsearch }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: sdc-es
+ - name: sdc-es
+ image: "{{ .Values.image.sdcElasticsearch }}"
+ imagePullPolicy: "{{ .Values.pullPolicy }}"
+ # run & wait forever
+ command: ["/root/startup.sh"]
+ args: [ "/bin/sh", "-c" , "while true; do sleep 30; done;" ]
+
env:
- name: ENVNAME
- value: "AUTO"
+ value: "{{ .Values.env.name }}"
- name: HOST_IP
valueFrom:
fieldRef:
diff --git a/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-fe.yaml b/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-fe.yaml
index c21efdcb8f..49f5bb38c7 100644
--- a/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-fe.yaml
+++ b/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-fe.yaml
@@ -17,7 +17,8 @@ spec:
name: sdc-fe
spec:
initContainers:
- - command:
+ - name: sdc-fe-readiness
+ command:
- /root/ready.py
args:
- --container-name
@@ -34,9 +35,8 @@ spec:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: sdc-fe-readiness
+ image: "{{ .Values.image.readiness }}"
+ imagePullPolicy: "{{ .Values.pullPolicy }}"
volumes:
# - name: filebeat-conf
# hostPath:
@@ -67,15 +67,15 @@ spec:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
containers:
- name: sdc-fe
+ image: "{{ .Values.image.sdcFrontend }}"
+ imagePullPolicy: "{{ .Values.pullPolicy }}"
env:
- name: ENVNAME
- value: AUTO
+ value: "{{ .Values.env.name }}"
- name: HOST_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- image: {{ .Values.image.sdcFrontend }}
- imagePullPolicy: {{ .Values.pullPolicy }}
volumeMounts:
# - mountPath: /usr/share/elasticsearch/data/
# name: sdc-sdc-es-es
@@ -92,16 +92,16 @@ spec:
# name: sdc-fe-config
# - mountPath: /tmp/logback.xml
# name: sdc-logback
- lifecycle:
- postStart:
- exec:
- command: ["/bin/sh", "-c", "export LOG=wait_logback.log; touch $LOG; export SRC=/tmp/logback.xml; export DST=/var/lib/jetty/config/catalog-fe/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; echo 'Done' >> $LOG"]
+# lifecycle:
+# postStart:
+# exec:
+# command: ["/bin/sh", "-c", "export LOG=wait_logback.log; touch $LOG; export SRC=/tmp/logback.xml; export DST=/var/lib/jetty/config/catalog-fe/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; echo 'Done' >> $LOG"]
ports:
- containerPort: 9443
- containerPort: 8181
readinessProbe:
tcpSocket:
port: 8181
- initialDelaySeconds: 5
+ initialDelaySeconds: 30
periodSeconds: 10
#{{ end }}
diff --git a/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-kb.yaml b/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-kb.yaml
index 5c7f4a4614..30b1be63a5 100644
--- a/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-kb.yaml
+++ b/sdc-os-chef/kubernetes/sdc/templates/deployments/sdc-kb.yaml
@@ -30,17 +30,17 @@ spec:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
+ image: "{{ .Values.image.readiness }}"
+ imagePullPolicy: "{{ .Values.pullPolicy }}"
name: sdc-kb-readiness
containers:
- env:
- name: ENVNAME
- value: AUTO
+ value: "{{ .Values.env.name }}"
- name: ELASTICSEARCH_URL
value: http://sdc-es:9200
- image: {{ .Values.image.sdcKibana }}
- imagePullPolicy: {{ .Values.pullPolicy }}
+ image: "{{ .Values.image.sdcKibana }}"
+ imagePullPolicy: "{{ .Values.pullPolicy }}"
name: sdc-kb
volumeMounts:
- mountPath: /root/chef-solo/environments/
diff --git a/sdc-os-chef/kubernetes/sdc/templates/jobs/sdc-config-cs.yaml b/sdc-os-chef/kubernetes/sdc/templates/jobs/sdc-config-cs.yaml
index e371b43377..722f104452 100644
--- a/sdc-os-chef/kubernetes/sdc/templates/jobs/sdc-config-cs.yaml
+++ b/sdc-os-chef/kubernetes/sdc/templates/jobs/sdc-config-cs.yaml
@@ -13,8 +13,8 @@ spec:
spec:
initContainers:
- name: sdc-init-cs-readiness
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
+ image: "{{ .Values.image.readiness }}"
+ imagePullPolicy: "{{ .Values.pullPolicy }}"
command:
- /root/ready.py
args:
@@ -28,22 +28,23 @@ spec:
fieldPath: metadata.namespace
containers:
- name: sdc-config-cs
- image: {{ .Values.image.sdcCassandraInit }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- ports:
- - containerPort: 8080
+ image: "{{ .Values.image.sdcCassandraInit }}"
+ imagePullPolicy: "{{ .Values.pullPolicy }}"
volumeMounts:
- mountPath: /root/chef-solo/environments/
name: sdc-environments
env:
- name: ENVNAME
- value: "AUTO"
+ value: "{{ .Values.env.name }}"
- name: SDC_USER
valueFrom:
secretKeyRef: {name: sdc-cs-secret, key: sdc_user}
- name: SDC_PASSWORD
valueFrom:
secretKeyRef: {name: sdc-cs-secret, key: sdc_password}
+ - name: CS_PASSWORD
+ valueFrom:
+ secretKeyRef: {name: sdc-cs-secret, key: cs_password}
volumes:
- name: sdc-environments
configMap:
diff --git a/sdc-os-chef/kubernetes/sdc/templates/jobs/sdc-config-es.yaml b/sdc-os-chef/kubernetes/sdc/templates/jobs/sdc-config-es.yaml
index e0f6466636..6aec759368 100644
--- a/sdc-os-chef/kubernetes/sdc/templates/jobs/sdc-config-es.yaml
+++ b/sdc-os-chef/kubernetes/sdc/templates/jobs/sdc-config-es.yaml
@@ -13,8 +13,8 @@ spec:
spec:
initContainers:
- name: sdc-init-es-readiness
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
+ image: "{{ .Values.image.readiness }}"
+ imagePullPolicy: "{{ .Values.pullPolicy }}"
command:
- /root/ready.py
args:
@@ -28,16 +28,14 @@ spec:
fieldPath: metadata.namespace
containers:
- name: sdc-config-es
- image: {{ .Values.image.sdcElasticsearchInit }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- ports:
- - containerPort: 8080
+ image: "{{ .Values.image.sdcElasticsearchInit }}"
+ imagePullPolicy: "{{ .Values.pullPolicy }}"
volumeMounts:
- mountPath: /root/chef-solo/environments/
name: sdc-environments
env:
- name: ENVNAME
- value: "AUTO"
+ value: "{{ .Values.env.name }}"
volumes:
- name: sdc-environments
configMap:
diff --git a/sdc-os-chef/kubernetes/sdc/templates/secrets/sdc-cs-secret.yaml b/sdc-os-chef/kubernetes/sdc/templates/secrets/sdc-cs-secret.yaml
index 2e63c60538..ce1907f80b 100644
--- a/sdc-os-chef/kubernetes/sdc/templates/secrets/sdc-cs-secret.yaml
+++ b/sdc-os-chef/kubernetes/sdc/templates/secrets/sdc-cs-secret.yaml
@@ -7,8 +7,8 @@ metadata:
type: Opaque
data:
#application user
- sdc_user: YXNkY191c2Vy
- sdc_password: QWExMjM0JV4h
+ sdc_user: "{{ .Values.secrets.sdc_user }}"
+ sdc_password: "{{ .Values.secrets.sdc_password }}"
#default user:
- cs_password: b25hcDEyMyNAIQ==
+ cs_password: "{{ .Values.secrets.cs_password }}"
diff --git a/sdc-os-chef/kubernetes/sdc/values.yaml b/sdc-os-chef/kubernetes/sdc/values.yaml
index a6950b262b..61aaa9a781 100644
--- a/sdc-os-chef/kubernetes/sdc/values.yaml
+++ b/sdc-os-chef/kubernetes/sdc/values.yaml
@@ -5,11 +5,11 @@ image:
readiness: oomk8s/readiness-check:1.0.0
sdcKibana: nexus3.onap.org:10001/onap/sdc-kibana:1.2-STAGING-latest
sdcFrontend: nexus3.onap.org:10001/onap/sdc-frontend:1.2-STAGING-latest
- sdcElasticsearch: nexus3.onap.org:10001/onap/sdc-elasticsearch:1.2.0-STAGING-latest
- sdcCassandra: nexus3.onap.org:10001/onap/sdc-cassandra:1.2.0-STAGING-latest
+ sdcElasticsearch: nexus3.onap.org:10001/onap/sdc-elasticsearch:1.2-STAGING-latest
+ sdcCassandra: nexus3.onap.org:10001/onap/sdc-cassandra:1.2-STAGING-latest
sdcBackend: nexus3.onap.org:10001/onap/sdc-backend:1.2-STAGING-latest
sdcElasticsearchInit: nexus3.onap.org:10001/onap/sdc-init-elasticsearch:1.2-STAGING-latest
- sdcCassandraInit: vulpe03/cqlsh
+ sdcCassandraInit: nexus3.onap.org:10001/onap/sdc-cassandra-init:1.2-STAGING-latest
filebeat: docker.elastic.co/beats/filebeat:5.5.0
env:
@@ -18,4 +18,9 @@ env:
nodeCS: sdc-cs.onap-sdc
nodeES: sdc-es.onap-sdc
nodeBE: sdc-be.onap-sdc
- nodeFe: sdc-fe.onap-sdc \ No newline at end of file
+ nodeFe: sdc-fe.onap-sdc
+
+secrets:
+ sdc_user: YXNkY191c2Vy
+ sdc_password: QWExMjM0JV4h
+ cs_password: b25hcDEyMyNAIQ== \ No newline at end of file
diff --git a/sdc-os-chef/scripts/k8s/deploy_k8s_sdc.sh b/sdc-os-chef/scripts/k8s/deploy_k8s_sdc.sh
index 9a7b57747b..83c2950ebc 100644
--- a/sdc-os-chef/scripts/k8s/deploy_k8s_sdc.sh
+++ b/sdc-os-chef/scripts/k8s/deploy_k8s_sdc.sh
@@ -12,6 +12,24 @@ check_status()
fi
}
+check_pods_status()
+{
+ num_of_pods=$1
+ status=0
+ while [ ${status} -ne ${num_of_pods} ]
+ do
+ status=$(sudo kubectl get pods --namespace kube-system -o json \
+ | jq -r '
+ .items[]
+ | select(.status.phase == "Running" and
+ ([ .status.conditions[] | select(.type == "Ready" and .status == "True") ]
+ | length ) == 1 )
+ | .metadata.namespace + "/" + .metadata.name
+ ' \
+ | wc -l )
+ sleep 3
+ done
+}
# Should be removed while private dockers (maven build) will be available:
echo "[INFO] ONAP Docker login"
@@ -22,20 +40,8 @@ check_status $? "Onap docker registry login"
# kube-addon-manager, kube-dns, kubernetes-dashboard, storage-provisioner, tiller-deploy
echo "[INFO] Wait for Kubernetes Service ..."
cd ../../kubernetes
-status=0
-while [ ${status} -ne 5 ]
-do
- status=$(sudo kubectl get pods --namespace kube-system -o json \
- | jq -r '
- .items[]
- | select(.status.phase == "Running" and
- ([ .status.conditions[] | select(.type == "Ready" and .status == "True") ]
- | length ) == 1 )
- | .metadata.namespace + "/" + .metadata.name
- ' \
- | wc -l )
- sleep 3
-done
+
+check_pods_status 4
# Create namespace
echo "[INFO] Check Namespace existence"
@@ -49,7 +55,7 @@ echo "[INFO] Running helm init"
sudo helm init
check_status $? "Helm init"
-set -x
+check_pods_status 5
printf "[INFO] Wait for helm to get ready\n"
helm_health=1
diff --git a/sdc-os-chef/scripts/k8s/get_helm.sh b/sdc-os-chef/scripts/k8s/get_helm.sh
deleted file mode 100755
index 79e9f35203..0000000000
--- a/sdc-os-chef/scripts/k8s/get_helm.sh
+++ /dev/null
@@ -1,230 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright 2016 The Kubernetes Authors All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# The install script is based off of the MIT-licensed script from glide,
-# the package manager for Go: https://github.com/Masterminds/glide.sh/blob/master/get
-
-PROJECT_NAME="helm"
-
-: ${HELM_INSTALL_DIR:="/usr/local/bin"}
-
-# initArch discovers the architecture for this system.
-initArch() {
- ARCH=$(uname -m)
- case $ARCH in
- armv5*) ARCH="armv5";;
- armv6*) ARCH="armv6";;
- armv7*) ARCH="armv7";;
- aarch64) ARCH="arm64";;
- x86) ARCH="386";;
- x86_64) ARCH="amd64";;
- i686) ARCH="386";;
- i386) ARCH="386";;
- esac
-}
-
-# initOS discovers the operating system for this system.
-initOS() {
- OS=$(echo `uname`|tr '[:upper:]' '[:lower:]')
-
- case "$OS" in
- # Minimalist GNU for Windows
- mingw*) OS='windows';;
- esac
-}
-
-# runs the given command as root (detects if we are root already)
-runAsRoot() {
- local CMD="$*"
-
- if [ $EUID -ne 0 ]; then
- CMD="sudo $CMD"
- fi
-
- $CMD
-}
-
-# verifySupported checks that the os/arch combination is supported for
-# binary builds.
-verifySupported() {
- local supported="darwin-386\ndarwin-amd64\nlinux-386\nlinux-amd64\nlinux-arm\nlinux-arm64\nlinux-ppc64le\nwindows-386\nwindows-amd64"
- if ! echo "${supported}" | grep -q "${OS}-${ARCH}"; then
- echo "No prebuilt binary for ${OS}-${ARCH}."
- echo "To build from source, go to https://github.com/kubernetes/helm"
- exit 1
- fi
-
- if ! type "curl" > /dev/null && ! type "wget" > /dev/null; then
- echo "Either curl or wget is required"
- exit 1
- fi
-}
-
-# checkDesiredVersion checks if the desired version is available.
-checkDesiredVersion() {
- # Use the GitHub releases webpage for the project to find the desired version for this project.
- local release_url="https://github.com/kubernetes/helm/releases/${DESIRED_VERSION:-latest}"
- if type "curl" > /dev/null; then
- TAG=$(curl -SsL $release_url | awk '/\/tag\//' | cut -d '"' -f 2 | awk '{n=split($NF,a,"/");print a[n]}' | awk 'a !~ $0{print}; {a=$0}')
- elif type "wget" > /dev/null; then
- TAG=$(wget -q -O - $release_url | awk '/\/tag\//' | cut -d '"' -f 2 | awk '{n=split($NF,a,"/");print a[n]}' | awk 'a !~ $0{print}; {a=$0}')
- fi
- if [ "x$TAG" == "x" ]; then
- echo "Cannot determine ${DESIRED_VERSION} tag."
- exit 1
- fi
-}
-
-# checkHelmInstalledVersion checks which version of helm is installed and
-# if it needs to be changed.
-checkHelmInstalledVersion() {
- if [[ -f "${HELM_INSTALL_DIR}/${PROJECT_NAME}" ]]; then
- local version=$(helm version | grep '^Client' | cut -d'"' -f2)
- if [[ "$version" == "$TAG" ]]; then
- echo "Helm ${version} is already ${DESIRED_VERSION:-latest}"
- return 0
- else
- echo "Helm ${TAG} is available. Changing from version ${version}."
- return 1
- fi
- else
- return 1
- fi
-}
-
-# downloadFile downloads the latest binary package and also the checksum
-# for that binary.
-downloadFile() {
- HELM_DIST="helm-$TAG-$OS-$ARCH.tar.gz"
- DOWNLOAD_URL="https://kubernetes-helm.storage.googleapis.com/$HELM_DIST"
- CHECKSUM_URL="$DOWNLOAD_URL.sha256"
- HELM_TMP_ROOT="$(mktemp -dt helm-installer-XXXXXX)"
- HELM_TMP_FILE="$HELM_TMP_ROOT/$HELM_DIST"
- HELM_SUM_FILE="$HELM_TMP_ROOT/$HELM_DIST.sha256"
- echo "Downloading $DOWNLOAD_URL"
- if type "curl" > /dev/null; then
- curl -SsL "$CHECKSUM_URL" -o "$HELM_SUM_FILE"
- elif type "wget" > /dev/null; then
- wget -q -O "$HELM_SUM_FILE" "$CHECKSUM_URL"
- fi
- if type "curl" > /dev/null; then
- curl -SsL "$DOWNLOAD_URL" -o "$HELM_TMP_FILE"
- elif type "wget" > /dev/null; then
- wget -q -O "$HELM_TMP_FILE" "$DOWNLOAD_URL"
- fi
-}
-
-# installFile verifies the SHA256 for the file, then unpacks and
-# installs it.
-installFile() {
- HELM_TMP="$HELM_TMP_ROOT/$PROJECT_NAME"
- local sum=$(openssl sha1 -sha256 ${HELM_TMP_FILE} | awk '{print $2}')
- local expected_sum=$(cat ${HELM_SUM_FILE})
- if [ "$sum" != "$expected_sum" ]; then
- echo "SHA sum of $HELM_TMP does not match. Aborting."
- exit 1
- fi
-
- mkdir -p "$HELM_TMP"
- tar xf "$HELM_TMP_FILE" -C "$HELM_TMP"
- HELM_TMP_BIN="$HELM_TMP/$OS-$ARCH/$PROJECT_NAME"
- echo "Preparing to install into ${HELM_INSTALL_DIR}"
- runAsRoot cp "$HELM_TMP_BIN" "$HELM_INSTALL_DIR"
-}
-
-# fail_trap is executed if an error occurs.
-fail_trap() {
- result=$?
- if [ "$result" != "0" ]; then
- if [[ -n "$INPUT_ARGUMENTS" ]]; then
- echo "Failed to install $PROJECT_NAME with the arguments provided: $INPUT_ARGUMENTS"
- help
- else
- echo "Failed to install $PROJECT_NAME"
- fi
- echo -e "\tFor support, go to https://github.com/kubernetes/helm."
- fi
- cleanup
- exit $result
-}
-
-# testVersion tests the installed client to make sure it is working.
-testVersion() {
- set +e
- echo "$PROJECT_NAME installed into $HELM_INSTALL_DIR/$PROJECT_NAME"
- HELM="$(which $PROJECT_NAME)"
- if [ "$?" = "1" ]; then
- echo "$PROJECT_NAME not found. Is $HELM_INSTALL_DIR on your "'$PATH?'
- exit 1
- fi
- set -e
- echo "Run '$PROJECT_NAME init' to configure $PROJECT_NAME."
-}
-
-# help provides possible cli installation arguments
-help () {
- echo "Accepted cli arguments are:"
- echo -e "\t[--help|-h ] ->> prints this help"
- echo -e "\t[--version|-v <desired_version>] . When not defined it defaults to latest"
- echo -e "\te.g. --version v2.4.0 or -v latest"
-}
-
-# cleanup temporary files to avoid https://github.com/kubernetes/helm/issues/2977
-cleanup() {
- rm -rf "$HELM_TMP_ROOT"
-}
-
-# Execution
-
-#Stop execution on any error
-trap "fail_trap" EXIT
-set -e
-
-# Parsing input arguments (if any)
-export INPUT_ARGUMENTS="${@}"
-set -u
-while [[ $# -gt 0 ]]; do
- case $1 in
- '--version'|-v)
- shift
- if [[ $# -ne 0 ]]; then
- export DESIRED_VERSION="${1}"
- else
- echo -e "Please provide the desired version. e.g. --version v2.4.0 or -v latest"
- exit 0
- fi
- ;;
- '--help'|-h)
- help
- exit 0
- ;;
- *) exit 1
- ;;
- esac
- shift
-done
-set +u
-
-initArch
-initOS
-verifySupported
-checkDesiredVersion
-if ! checkHelmInstalledVersion; then
- downloadFile
- installFile
-fi
-testVersion
-cleanup
diff --git a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/02-changeCSpass.rb b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/02-changeCSpass.rb
index 22ef07907d..7afb307401 100644
--- a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/02-changeCSpass.rb
+++ b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/02-changeCSpass.rb
@@ -1,9 +1,17 @@
+interface = node['interfaces']['application']
+application_host = ''
+node['network']['interfaces'][interface][:addresses].each do | addr , details |
+ if details['family'] == ('inet')
+ application_host = addr
+ end
+end
+
template "/tmp/change_cassandra_pass.sh" do
source "change_cassandra_pass.sh.erb"
sensitive true
mode 0755
variables({
- :cassandra_ip => node['Nodes']['CS'],
+ :cassandra_ip => application_host,
:cassandra_pwd => ENV['CS_PASSWORD']
})
end
diff --git a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/03-prepareProbeFile.rb b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/03-prepareProbeFile.rb
index 0eb9800fe5..c196ca7b94 100644
--- a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/03-prepareProbeFile.rb
+++ b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/03-prepareProbeFile.rb
@@ -1,9 +1,17 @@
+interface = node['interfaces']['application']
+application_host = ''
+node['network']['interfaces'][interface][:addresses].each do | addr , details |
+ if details['family'] == ('inet')
+ application_host = addr
+ end
+end
+
template "/var/lib/ready-probe.sh" do
source "ready-probe.sh.erb"
sensitive true
mode 0755
variables({
- :cassandra_ip => node['Nodes']['CS'],
+ :cassandra_ip => application_host,
:cassandra_pwd => ENV['CS_PASSWORD']
})
end \ No newline at end of file