Upgrade helm server-side component
[integration.git] / deployment / heat / onap-oom / k8s_vm_entrypoint.sh
index db2428b..d483e73 100644 (file)
@@ -5,22 +5,26 @@ mkdir -p /opt/config
 echo "__rancher_ip_addr__" > /opt/config/rancher_ip_addr.txt
 echo `hostname -I` `hostname` >> /etc/hosts
 mkdir -p /etc/docker
-cat > /etc/docker/daemon.json <<EOF
+if [ ! -z "__docker_proxy__" ]; then
+    cat > /etc/docker/daemon.json <<EOF
 {
   "insecure-registries" : ["__docker_proxy__"]
 }
 EOF
-cat > /etc/apt/apt.conf.d/30proxy<<EOF
+fi
+if [ ! -z "__apt_proxy__" ]; then
+    cat > /etc/apt/apt.conf.d/30proxy<<EOF
 Acquire::http { Proxy "http://__apt_proxy__"; };
 Acquire::https::Proxy "DIRECT";
 EOF
+fi
 apt-get -y update
-apt-get -y install jq
+apt-get -y install linux-image-extra-$(uname -r) jq make
 
 cd ~
 
-# install docker 1.12
-curl -s https://releases.rancher.com/install-docker/1.12.sh | sh
+# install docker 17.03
+curl -s https://releases.rancher.com/install-docker/17.03.sh | sh
 usermod -aG docker ubuntu
 
 # install kubernetes 1.8.6
@@ -29,9 +33,9 @@ chmod +x ./kubectl
 sudo mv ./kubectl /usr/local/bin/kubectl
 mkdir ~/.kube
 
-# install helm 2.3
-wget -q http://storage.googleapis.com/kubernetes-helm/helm-v2.3.0-linux-amd64.tar.gz
-tar -zxvf helm-v2.3.0-linux-amd64.tar.gz
+# install helm
+wget -q http://storage.googleapis.com/kubernetes-helm/helm-v2.7.2-linux-amd64.tar.gz
+tar -zxvf helm-v2.7.2-linux-amd64.tar.gz
 sudo mv linux-amd64/helm /usr/local/bin/helm
 
 # Fix virtual memory allocation for onap-log:elasticsearch:
@@ -48,7 +52,7 @@ until curl -s -o projects.json -H "Accept: application/json" http://$RANCHER_IP:
 done
 OLD_PID=$(jq -r '.data[0].id' projects.json)
 
-curl -s -H "Accept: application/json" -H "Content-Type: application/json" -d '{"accountId":"1a1"}' http://$RANCHER_IP:8080/v2-beta/apikeys | tee apikeys.json
+curl -s -H "Accept: application/json" -H "Content-Type: application/json" -d '{"accountId":"1a1"}' http://$RANCHER_IP:8080/v2-beta/apikeys > apikeys.json
 echo export RANCHER_ACCESS_KEY=`jq -r '.publicValue' apikeys.json` >> api-keys-rc
 echo export RANCHER_SECRET_KEY=`jq -r '.secretValue' apikeys.json` >> api-keys-rc
 source api-keys-rc
@@ -57,41 +61,29 @@ curl -s -u "${RANCHER_ACCESS_KEY}:${RANCHER_SECRET_KEY}" -X DELETE -H 'Content-T
 
 until [ ! -z "$TEMPLATE_ID" ] && [ "$TEMPLATE_ID" != "null" ]; do
     sleep 5
-    curl -s -H "Accept: application/json" http://$RANCHER_IP:8080/v2-beta/projectTemplates?name=Kubernetes | tee projectTemplatesKubernetes.json
+    curl -s -H "Accept: application/json" http://$RANCHER_IP:8080/v2-beta/projectTemplates?name=Kubernetes > projectTemplatesKubernetes.json
     TEMPLATE_ID=$(jq -r '.data[0].id' projectTemplatesKubernetes.json)
 done
 
-curl -s -u "${RANCHER_ACCESS_KEY}:${RANCHER_SECRET_KEY}" -X POST -H 'Content-Type: application/json' -d '{ "name":"oom", "projectTemplateId":"'$TEMPLATE_ID'" }' "http://$RANCHER_IP:8080/v2-beta/projects" | tee project.json
+curl -s -u "${RANCHER_ACCESS_KEY}:${RANCHER_SECRET_KEY}" -X POST -H 'Content-Type: application/json' -d '{ "name":"oom", "projectTemplateId":"'$TEMPLATE_ID'" }' "http://$RANCHER_IP:8080/v2-beta/projects" > project.json
 PID=`jq -r '.id' project.json`
 echo export RANCHER_URL=http://$RANCHER_IP:8080/v1/projects/$PID >> api-keys-rc
 source api-keys-rc
 
 until [ $(jq -r '.state' project.json) == "active" ]; do
     sleep 5
-    curl -s -H "Accept: application/json" http://$RANCHER_IP:8080/v1/projects/$PID | tee project.json
+    curl -s -H "Accept: application/json" http://$RANCHER_IP:8080/v1/projects/$PID > project.json
 done
 
 TID=$(curl -s -X POST -H "Accept: application/json" -H "Content-Type: application/json" http://$RANCHER_IP:8080/v1/projects/$PID/registrationTokens | jq -r '.id')
 touch token.json
 while [ $(jq -r .command token.json | wc -c) -lt 10 ]; do
     sleep 5
-    curl -s -X GET -H "Accept: application/json" http://$RANCHER_IP:8080/v1/projects/$PID/registrationToken/$TID | tee token.json
+    curl -s -X GET -H "Accept: application/json" http://$RANCHER_IP:8080/v1/projects/$PID/registrationToken/$TID > token.json
 done
-CMD=$(jq -r .command token.json)
-eval $CMD
+RANCHER_AGENT_CMD=$(jq -r .command token.json)
+eval $RANCHER_AGENT_CMD
 
-# download rancher CLI
-wget -q https://github.com/rancher/cli/releases/download/v0.6.7/rancher-linux-amd64-v0.6.7.tar.xz
-unxz rancher-linux-amd64-v0.6.7.tar.xz
-tar xvf rancher-linux-amd64-v0.6.7.tar
-
-# Clone OOM:
-cd ~
-git clone -b amsterdam http://gerrit.onap.org/r/oom
-
-# Update values.yaml to point to docker-proxy instead of nexus3:
-cd ~/oom/kubernetes
-perl -p -i -e 's/nexus3.onap.org:10001/__docker_proxy__/g' `find ./ -name values.yaml` oneclick/setenv.bash
 
 KUBETOKEN=$(echo -n 'Basic '$(echo -n "$RANCHER_ACCESS_KEY:$RANCHER_SECRET_KEY" | base64 -w 0) | base64 -w 0)
 
@@ -120,67 +112,32 @@ EOF
 export KUBECONFIG=/root/.kube/config
 kubectl config view
 
-# Update ~/oom/kubernetes/kube2msb/values.yaml kubeMasterAuthToken to use the token from ~/.kube/config
-sed -i "s/kubeMasterAuthToken:.*/kubeMasterAuthToken: $KUBETOKEN/" ~/oom/kubernetes/kube2msb/values.yaml
-
-# Put your onap_key ssh private key in ~/.ssh/onap_key
-
-# Create or edit ~/oom/kubernetes/config/onap-parameters.yaml
-cp ~/oom/kubernetes/config/onap-parameters-sample.yaml ~/oom/kubernetes/config/onap-parameters.yaml
-cat >> ~/oom/kubernetes/config/onap-parameters.yaml <<EOF
-
-####################################
-# Overridden by k8s_vm_entrypoint.sh
-####################################
-
-OPENSTACK_UBUNTU_14_IMAGE: "__ubuntu_1404_image__"
-OPENSTACK_UBUNTU_16_IMAGE: "__ubuntu_1604_image__"
-OPENSTACK_CENTOS_7_IMAGE: "__centos_7_image__"
-OPENSTACK_PUBLIC_NET_ID: "__public_net_id__"
-OPENSTACK_PUBLIC_NET_NAME: "__public_net_name__"
-OPENSTACK_OAM_NETWORK_CIDR: "__oam_network_cidr__"
-OPENSTACK_TENANT_NAME: "__openstack_tenant_name__"
-OPENSTACK_TENANT_ID: "__openstack_tenant_id__"
-OPENSTACK_USERNAME: "__openstack_username__"
-OPENSTACK_API_KEY: "__openstack_api_key__"
-OPENSTACK_KEYSTONE_URL: "__keystone_url__"
-DCAE_IP_ADDR: "__dcae_ip_addr__"
-DCAE_KEYSTONE_URL: "__dcae_keystone_url__"
-DNS_LIST: "__dns_forwarder__"
-DNS_FORWARDER: "__dns_forwarder__"
-EXTERNAL_DNS: "__external_dns__"
-DNSAAS_PROXY_ENABLE: "__dnsaas_proxy_enable__"
-DNSAAS_KEYSTONE_URL: "__dnsaas_keystone_url__"
-DNSAAS_REGION: "__dnsaas_region__"
-DNSAAS_TENANT_NAME: "__dnsaas_tenant_name__"
-DNSAAS_USERNAME: "__dnsaas_username__"
-DNSAAS_PASSWORD: "__dnsaas_password__"
-
-EOF
-cat ~/oom/kubernetes/config/onap-parameters.yaml
-
-
 # wait for kubernetes to initialze
 sleep 100
 until [ $(kubectl get pods --namespace kube-system | tail -n +2 | grep -c Running) -ge 6 ]; do
     sleep 10
 done
 
-# Source the environment file:
-cd ~/oom/kubernetes/oneclick/
-source setenv.bash
 
-# run the config pod creation
-cd ~/oom/kubernetes/config
-./createConfig.sh -n onap
+# Install using OOM
+export HOME=/root
 
-# Wait until the config container completes.
-sleep 200
-until [ $(kubectl get pods --namespace onap -a | tail -n +2 | grep -c Completed) -eq 1 ]; do
-    sleep 10
-done
+# Clone OOM:
+cd ~
+git clone -b master http://gerrit.onap.org/r/oom
+git log -1
 
-# version control the config to see what's happening
+# Update values.yaml to point to docker-proxy instead of nexus3:
+cd ~/oom/kubernetes
+#perl -p -i -e 's/nexus3.onap.org:10001/__docker_proxy__/g' `find ./ -name values.yaml`
+sed -i 's/nexus3.onap.org:10001/__docker_proxy__/g' onap/values.yaml
+sed -i 's/#repository:/repository:/g' onap/values.yaml
+sed -i 's/#repositorySecret:/repositorySecret:/g' onap/values.yaml
+git diff
+
+
+# version control the persistence volume to see what's happening
+mkdir -p /dockerdata-nfs/
 cd /dockerdata-nfs/
 git init
 git config user.email "root@k8s"
@@ -189,8 +146,18 @@ git add -A
 git commit -m "initial commit"
 
 # Run ONAP:
-cd ~/oom/kubernetes/oneclick/
-./createAll.bash -n onap
+cd ~/oom/kubernetes/
+# verify version
+helm version
+helm init --client-only
+helm init --upgrade
+helm serve &
+sleep 3
+helm repo add local http://127.0.0.1:8879
+helm repo list
+make all
+helm search -l | grep local
+helm install local/onap -n dev --namespace onap
 
 # Check ONAP status:
 sleep 3