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
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:
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
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)
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"
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