AIO and MUNO mode upgrade for EG 1.5.0 version
[eliot.git] / scripts / setup.sh
index 4062c7e..5b246c5 100755 (executable)
@@ -46,7 +46,7 @@ setup_k8smaster()
   source common.sh | tee eliotcommon.log
   source k8smaster.sh | tee kubeadm.log
   # Setup ELIOT Node
-  setup_k8sworkers
+  oscheck_edge
 }
 
 setup_k8sworkers()
@@ -56,12 +56,12 @@ setup_k8sworkers()
   # Install Docker on ELIOT Node
   SETUP_WORKER_COMMON="sudo rm -rf ~/eliot &&\
                        git clone ${ELIOT_REPO} &&\
-                       cd eliot/scripts && source common.sh"
-  #SETUP_WORKER_COMMON="cd eliot/scripts && source common.sh"
+                       cd eliot/scripts/ && source common.sh"
+  #SETUP_WORKER_COMMON="cd eliot/scripts/ && source common.sh"
   SETUP_WORKER="cd eliot/scripts/ && source k8sworker.sh"
 
-  KUBEADM_JOIN=$(grep "kubeadm join" ./kubeadm.log)
-  KUBEADM_JOIN="sudo ${KUBEADM_JOIN}"
+  KUBEADM_TOKEN=$(kubeadm token create --print-join-command)
+  KUBEADM_JOIN="sudo ${KUBEADM_TOKEN}"
 
  # Read all the Worker Node details from nodelist file.
  while read line
@@ -70,9 +70,9 @@ setup_k8sworkers()
      nodeusr=$(echo ${nodeinfo} | cut -d"|" -f1)
      nodeip=$(echo ${nodeinfo} | cut -d"|" -f2)
      nodepaswd=$(echo ${nodeinfo} | cut -d"|" -f3)
-     sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} ${SETUP_WORKER_COMMON} < /dev/null 2>&1
-     sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} ${SETUP_WORKER} < /dev/null 2>&1
-     sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} ${KUBEADM_JOIN} < /dev/null 2>&1
+     sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} ${SETUP_WORKER_COMMON} < /dev/null
+     sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} ${SETUP_WORKER} < /dev/null
+     sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} ${KUBEADM_JOIN} < /dev/null
  done < nodelist > /dev/null 2>&1
 
 }
@@ -85,11 +85,7 @@ setup_k8smaster_centos()
   source k8smaster_centos.sh | tee kubeadm_centos.log
 
   # Setup ELIOT Node
-  setup_k8sworkers_centos
-
-  kubectl apply -f cni/calico/rbac.yaml
-  kubectl apply -f cni/calico/calico.yaml
-
+  oscheck_edge
 }
 
 
@@ -100,9 +96,9 @@ setup_k8sworkers_centos()
 
   SETUP_WORKER_COMMON_CENTOS="sudo rm -rf ~/eliot &&\
                               git clone ${ELIOT_REPO} &&\
-                              cd eliot/scripts && source common_centos.sh"
+                              cd eliot/scripts/ && source common_centos.sh"
 
-  # SETUP_WORKER_COMMON_CENTOS="cd /root/eliot/scripts && source common_centos.sh"
+  # SETUP_WORKER_COMMON_CENTOS="cd /root/eliot/scripts/ && source common_centos.sh"
 
   KUBEADM_TOKEN=$(sudo kubeadm token create --print-join-command)
   KUBEADM_JOIN_CENTOS="sudo ${KUBEADM_TOKEN}"
@@ -110,15 +106,34 @@ setup_k8sworkers_centos()
   while read line
   do
       nodeinfo="${line}" < /dev/null 2>&1
-      nodeusr=$(echo ${nodeinfo} | cut -d"|" -f1) < /dev/null 2>&1
-      nodeip=$(echo ${nodeinfo} | cut -d"|" -f2)  < /dev/null 2>&1
-      nodepaswd=$(echo ${nodeinfo} | cut -d"|" -f3) < /dev/null 2>&1
-      sudo sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} ${SETUP_WORKER_COMMON_CENTOS} < /dev/null 2>&1
-      sudo sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} ${KUBEADM_JOIN_CENTOS} < /dev/null 2>&1
+      nodeusr=$(echo ${nodeinfo} | cut -d"|" -f1) < /dev/null
+      nodeip=$(echo ${nodeinfo} | cut -d"|" -f2)  < /dev/null
+      nodepaswd=$(echo ${nodeinfo} | cut -d"|" -f3) < /dev/null
+      sudo sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} ${SETUP_WORKER_COMMON_CENTOS} < /dev/null
+      sudo sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} ${KUBEADM_JOIN_CENTOS} < /dev/null
   done < nodelist > /dev/null 2>&1
 
 }
 
+# ELIOT edgenode os check and setup edge node
+oscheck_edge()
+{
+  while read line
+  do
+     nodeinfo="${line}"
+     nodeusr=$(echo ${nodeinfo} | cut -d"|" -f1)
+     nodeip=$(echo ${nodeinfo} | cut -d"|" -f2)
+     nodepaswd=$(echo ${nodeinfo} | cut -d"|" -f3)
+     if sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} [ $OSPLATFORM="*Ubuntu*" ]; then
+       setup_k8sworkers
+       elif sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} [ $OSPLATFORM="*CentOS*" ]; then
+         setup_k8sworkers_centos
+         kubectl apply -f cni/calico/rbac.yaml
+         kubectl apply -f cni/calico/calico.yaml
+     fi
+  done < nodelist > /dev/null 2>&1
+}
+
 # verify kubernetes setup by deploying nginx server.
 
 verify_k8s_status(){
@@ -126,6 +141,12 @@ verify_k8s_status(){
   source verifyk8s.sh | tee verifyk8s.log
 }
 
+
+install_edgex(){
+ set -o xtrace
+ cd edgex && source edgexonk8s.sh
+}
+
 install_cadvisor_edge(){
  set -o xtrace
  SETUP_CADVISOR_ATEDGE="cd eliot/scripts/ && source cadvisorsetup.sh"
@@ -166,3 +187,12 @@ sleep 10
 install_prometheus
 sleep 5
 sudo docker ps | grep prometheus
+
+install_edgex
+sleep 20
+
+# Removing the taint from master node
+kubectl taint nodes --all node-role.kubernetes.io/master- || true
+
+echo "ELIOT Setup execution is Completed..."
+