X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=ric-infra%2F00-Kubernetes%2Fheat%2Fscripts%2Fk8s_vm_install.sh;h=4bb91fef9cdc459cf9817b149b9ee0ce1cae4f0c;hb=refs%2Fchanges%2F11%2F811%2F1;hp=e3a949b031c9cc48e900923c33bd6823f6830c48;hpb=62b17b9e2ec2a91cc7d84f73821017c7c6b773a8;p=it%2Fdep.git diff --git a/ric-infra/00-Kubernetes/heat/scripts/k8s_vm_install.sh b/ric-infra/00-Kubernetes/heat/scripts/k8s_vm_install.sh index e3a949b0..4bb91fef 100644 --- a/ric-infra/00-Kubernetes/heat/scripts/k8s_vm_install.sh +++ b/ric-infra/00-Kubernetes/heat/scripts/k8s_vm_install.sh @@ -121,16 +121,30 @@ KUBECNIV=$(cat /opt/config/k8s_cni_version.txt) KUBEVERSION="${KUBEV}-00" CNIVERSION="${KUBECNIV}-00" -DOCKERVERSION="${DOCKERV}-0ubuntu1.2~16.04.1" +DOCKERVERSION="${DOCKERV}" curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - echo 'deb http://apt.kubernetes.io/ kubernetes-xenial main' > /etc/apt/sources.list.d/kubernetes.list +# tell apt to retry 3 times if failed +mkdir -p /etc/apt/apt.conf.d +echo "APT::Acquire::Retries \"3\";" > /etc/apt/apt.conf.d/80-retries + # install low latency kernel, docker.io, and kubernetes apt-get update -apt-get install -y linux-image-4.15.0-45-lowlatency curl jq netcat docker.io=${DOCKERVERSION} +apt-get install -y virt-what +if ! echo $(virt-what) | grep "virtualbox"; then + # this version of low latency kernel causes virtualbox VM to hand. + # install if identifying the VM not being a virtualbox VM. + apt-get install -y linux-image-4.15.0-45-lowlatency +fi +if [ -z ${DOCKERVERSION} ]; then + apt-get install -y curl jq netcat docker.io +else + apt-get install -y curl jq netcat docker.io=${DOCKERVERSION} +fi apt-get install -y kubernetes-cni=${CNIVERSION} apt-get install -y --allow-unauthenticated kubeadm=${KUBEVERSION} kubelet=${KUBEVERSION} kubectl=${KUBEVERSION} -apt-mark hold kubernetes-cni kubelet kubeadm kubectl +apt-mark hold docker.io kubernetes-cni kubelet kubeadm kubectl # test access to k8s docker registry @@ -264,6 +278,12 @@ EOF sleep 15 done + echo "Preparing a master node (lowser ID) for using local FS for PV" + PV_NODE_NAME=$(kubectl get nodes |grep master | cut -f1 -d' ' | sort | head -1) + kubectl label --overwrite nodes $PV_NODE_NAME local-storage=enable + if [ "$PV_NODE_NAME" == "$(hostname)" ]; then + mkdir -p /opt/data/dashboard-data + fi echo "Starting an NC TCP server on port 29999 to indicate we are ready" nc -l -p 29999 &