Kubeedge cleanup and code optimisation 23/923/10
authorsrinivasan.s.n@huawei.com <srinivasan.s.n@huawei.com>
Fri, 31 May 2019 06:17:35 +0000 (06:17 +0000)
committerSrinivasan <srinivasan.s.n@huawei.com>
Tue, 4 Jun 2019 08:52:48 +0000 (08:52 +0000)
Signed-off-by: srinivasan.s.n@huawei.com <srinivasan.s.n@huawei.com>
Change-Id: I0f833f9e09b41fb9bb5415c69a228432fa042e70

scripts/ci_management/cleanup_control.sh [new file with mode: 0755]
scripts/ci_management/cleanup_edge.sh [new file with mode: 0644]
scripts/ci_management/cleanup_edge_final.sh [moved from scripts/ci_management/cleanup.sh with 52% similarity]
scripts/ci_management/cleanup_master.sh [new file with mode: 0755]
scripts/src/config_kubeedge
scripts/src/kubeedge_setup.sh

diff --git a/scripts/ci_management/cleanup_control.sh b/scripts/ci_management/cleanup_control.sh
new file mode 100755 (executable)
index 0000000..574552b
--- /dev/null
@@ -0,0 +1,36 @@
+#!/bin/bash -ex
+##############################################################################
+# Copyright (c) 2019 Huawei Tech and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# constants
+
+TESTYAML="testk8s-nginx.yaml"
+
+# start
+
+source ../src/config_kubeedge
+cd
+kubectl delete -f $TESTYAML
+
+sshpass -p ${EDGENODEPASSWORD} \
+scp ${PATH_OF_ELIOTFOLDER}/scripts/ci_management/cleanup_edge.sh \
+${EDGENODEUSR}@${EDGENODEIP}:$HOME_EDGENODE
+
+sshpass -p ${EDGENODEPASSWORD} ssh ${EDGENODEUSR}@${EDGENODEIP} \
+source cleanup_edge.sh
+
+cd $PATH_OF_ELIOTFOLDER/scripts/ci_management
+source cleanup_master.sh
+
+sshpass -p ${EDGENODEPASSWORD} \
+scp ${PATH_OF_ELIOTFOLDER}/scripts/ci_management/cleanup_edge_final.sh \
+${EDGENODEUSR}@${EDGENODEIP}:$HOME_EDGENODE
+
+sshpass -p ${EDGENODEPASSWORD} ssh ${EDGENODEUSR}@${EDGENODEIP} \
+source cleanup_edge_final.sh
diff --git a/scripts/ci_management/cleanup_edge.sh b/scripts/ci_management/cleanup_edge.sh
new file mode 100644 (file)
index 0000000..646f5be
--- /dev/null
@@ -0,0 +1,53 @@
+#!/bin/bash -ex
+##############################################################################
+# Copyright (c) 2019 Huawei Tech and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# constants
+
+NGINX=$(sudo docker ps | grep nginx | wc -l)
+KUBEPROXY=$(sudo docker ps | grep k8s.gcr.io | wc -l)
+CONSTZERO="0"
+
+# start
+
+source config_kubeedge
+source ~/.profile
+
+cd
+
+if [ -d "/root/go/src/github.com/kubeedge/kubeedge/keadm" ]; then
+   cd $GOPATH/src/github.com/kubeedge/kubeedge/keadm
+   ./kubeedge reset --k8sserverip $MASTERNODEIP:8080
+fi
+
+cd /etc/kubeedge
+
+if [ -f "certs.tgz" ]; then
+   sudo rm -rf certs.tgz
+fi
+
+if [ -d "/etc/kubeedge/ca" ]; then
+   sudo rm -rf /etc/kubeedge/ca
+fi
+
+if [ -d "/etc/kubeedge/certs" ]; then
+   sudo rm -rf /etc/kubeedge/certs
+fi
+
+if [ -d "/root/go/src" ]; then
+   sudo rm -rf /root/go/src
+fi
+
+# stop binaries edge_core
+cd /usr/local/bin
+
+if [ -f "edge_core" ]; then
+   sudo rm edge_core
+fi
+
similarity index 52%
rename from scripts/ci_management/cleanup.sh
rename to scripts/ci_management/cleanup_edge_final.sh
index 3aa86e3..a42e875 100644 (file)
@@ -8,22 +8,21 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 
-# start
-
-kubeedge reset
+# constants
 
-reset="kubeedge reset --k8sserverip ${masternodeip}:8080"
+NGINX=$(sudo docker ps | grep nginx | wc -l)
+KUBEPROXY=$(sudo docker ps | grep k8s.gcr.io | wc -l)
+CONSTZERO="0"
 
-while read line
-do
-    nodeinfo="${line}"
-    nodeusr=$(echo ${nodeinfo} | cut -d"|" -f1)
-    nodeip=$(echo ${nodeinfo} | cut -d"|" -f2)
-    nodepaswd=$(echo ${nodeinfo} | cut -d"|" -f3)
-    masternodeip=$(echo ${nodeinfo} | cut -d"|" -f3)
-
-    sshpass -p ${nodepaswd} \
-    kubeedge reset --k8sserverip ${masternodeip}:8080
+# start
 
-done < nodelist
+echo "nginx container stop"
+if [ $NGINX != $CONSTZERO ]; then
+   sudo docker kill $(docker ps -q --filter ancestor=nginx:1.15.12 )
+fi
 
+echo "kubeproxy container stop"
+if [ $KUBEPROXY != $CONSTZERO ]; then
+   sudo docker kill $(docker ps -q --filter ancestor=k8s.gcr.io/kube-proxy:v1.14.2 )
+fi
+echo "Finished"
diff --git a/scripts/ci_management/cleanup_master.sh b/scripts/ci_management/cleanup_master.sh
new file mode 100755 (executable)
index 0000000..636535d
--- /dev/null
@@ -0,0 +1,70 @@
+#!/bin/bash -ex
+##############################################################################
+# Copyright (c) 2019 Huawei Tech and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# constants
+
+TESTYAML="testk8s-nginx.yaml"
+SUPERUSER="root"
+value=$(whoami)
+
+# start
+
+# kubeedge reset internally undo the things done by ./kubeedge init
+
+if [ -d "/root/go/src/github.com/kubeedge/kubeedge/keadm" ]; then
+   cd /root/go/src/github.com/kubeedge/kubeedge/keadm
+   ./kubeedge reset
+fi
+
+# delete the previously existing certificates
+
+if [ -d "/etc/kubeedge/ca" ]; then
+   sudo rm -rf /etc/kubeedge/ca
+fi
+
+if [ -d "/etc/kubeedge/certs" ]; then
+   cd /etc/kubeedge
+   sudo rm -rf certs
+fi
+
+cd /etc/kubeedge
+if [ -f "certs.tgz" ]; then
+   sudo rm certs.tgz
+fi
+
+# delete the kubeedge code
+
+if [ -d "/root/go/src" ]; then
+   cd /root/go
+   sudo rm -rf src
+fi
+
+# stop binaries edge_core edgecontroller
+
+cd /usr/local/bin
+
+if [ -f "edge_core" ]; then
+   sudo rm edge_core
+fi
+
+if [ -f "edgecontroller" ]; then
+   sudo rm edgecontroller
+fi
+
+if [ $value != $SUPERUSER ]; then
+   sudo su
+fi
+
+cd
+
+if [ -f $TESTYAML ]; then
+   sudo rm $TESTYAML
+fi
+
index 2d11960..3fa3fdc 100755 (executable)
@@ -1,6 +1,26 @@
-edgenodeusr="root"
-edgenodeip="10.10.0.54"
-edgenodepassword="Huawei@akraino"
-masternodeusr="root"
-masternodeip="10.10.0.45"
-masternodepassword="Huawei@akraino"
+# edge node user name
+EDGENODEUSR=""
+
+# edge node ip
+EDGENODEIP=""
+
+# edge node password
+EDGENODEPASSWORD=""
+
+# master node user name
+MASTERNODEUSR=""
+
+# master node ip
+MASTERNODEIP=""
+
+# master node password
+MASTERNODEPASSWORD=""
+
+# eliot source code path including eliot folder
+PATH_OF_ELIOTFOLDER=""
+
+# home path of edge node
+HOME_EDGENODE=""
+
+# edgenode id for kubeedge configuration
+EDGENODEID=""
index 8e7ca82..e75c1be 100755 (executable)
@@ -17,6 +17,7 @@ take_keedge(){
 }
 
 source config_kubeedge
+
 common_steps="echo $GOPATH && \
 echo $HOME && \
 echo $(whoami) && \
@@ -27,12 +28,9 @@ sudo chmod -R 777 github.com && \
 cd $GOPATH/src/github.com/kubeedge/kubeedge/keadm && \
 make"
 
-certif_copy="cd /etc/kubeedge &&\
-scp certs.tar.gz"
-
 edge_start="cd $GOPATH/src/github.com/kubeedge/kubeedge/keadm && \
 sudo chmod +x kubeedge && \
-sudo ./kubeedge join --edgecontrollerip=$masternodeip --edgenodeid=edgenode001 --k8sserverip=$masternodeip:8080"
+sudo ./kubeedge join --edgecontrollerip=$MASTERNODEIP --edgenodeid=$EDGENODEID --k8sserverip=$MASTERNODEIP:8080"
 
 execute_keedge_controller(){
    cd $GOPATH/src/github.com/kubeedge/kubeedge/keadm
@@ -41,42 +39,30 @@ execute_keedge_controller(){
 }
 
 exec_edge(){
-echo $(whoami)
-echo =========
-echo $(pwd)
-echo ========
-echo $GOPATH
-echo ========
-echo $HOME
-
-user_check="jenkins"
-home_path="/home/jenkins"
-   #if [ $HOME == $home_path ];then
-   cd /home/jenkins/work/workspace/eliot-deploy-kubeedge-virtual-daily-master/scripts/src
-   #else
-   #   cd $HOME/eliot/scripts/src
-   #fi
-
-   #if [ $HOME == $home_path ];then
-   sshpass -p ${edgenodepassword} scp /home/jenkins/work/workspace/eliot-deploy-kubeedge-virtual-daily-master/scripts/src/config_kubeedge ${edgenodeusr}@${edgenodeip}:/root
-   #else
-   #   sshpass -p ${edgenodepassword} scp $HOME/eliot/scripts/src/config_kubeedge ${edgenodeusr}@${edgenodeip}:/root
-   #fi
-
-   sshpass -p ${edgenodepassword} ssh ${edgenodeusr}@${edgenodeip} \
+
+   cd $PATH_OF_ELIOTFOLDER/scripts/src
+
+   sshpass -p ${EDGENODEPASSWORD} \
+   scp $PATH_OF_ELIOTFOLDER/scripts/src/config_kubeedge \
+   ${EDGENODEUSR}@${EDGENODEIP}:$HOME_EDGENODE
+
+   sshpass -p ${EDGENODEPASSWORD} ssh ${EDGENODEUSR}@${EDGENODEIP} \
    source config_kubeedge
 
    source config_kubeedge
-   sshpass -p ${edgenodepassword} ssh ${edgenodeusr}@${edgenodeip} ${common_steps} < /dev/null
+   sshpass -p ${EDGENODEPASSWORD} \
+   ssh ${EDGENODEUSR}@${EDGENODEIP} ${common_steps} < /dev/null
 
    echo "After cloning the code in ELIOT edge node"
-   sshpass -p ${edgenodepassword} scp /etc/kubeedge/certs.tgz ${edgenodeusr}@${edgenodeip}:/etc/kubeedge
+   sshpass -p ${EDGENODEPASSWORD} \
+   scp /etc/kubeedge/certs.tgz ${EDGENODEUSR}@${EDGENODEIP}:/etc/kubeedge
 
-   sshpass -p ${edgenodepassword} \
-   ssh ${edgenodeusr}@${edgenodeip} \
+   sshpass -p ${EDGENODEPASSWORD} \
+   ssh ${EDGENODEUSR}@${EDGENODEIP} \
    tar -xvzf /etc/kubeedge/certs.tgz --directory /etc/kubeedge
 
-   sshpass -p ${edgenodepassword} ssh ${edgenodeusr}@${edgenodeip} ${edge_start} < /dev/null
+   sshpass -p ${EDGENODEPASSWORD} \
+   ssh ${EDGENODEUSR}@${EDGENODEIP} ${edge_start} < /dev/null
 }
 
 # start
@@ -92,16 +78,6 @@ exec_edge
 sleep 10
 sudo kubectl get nodes
 
-#user_chec="jenkins"
-
-#if [ $(whoami) == $user_chec ];then
-
-chmod +x /home/jenkins/work/workspace/eliot-deploy-kubeedge-virtual-daily-master/scripts/verifyk8s.sh
-source /home/jenkins/work/workspace/eliot-deploy-kubeedge-virtual-daily-master/scripts/verifyk8s.sh
-
-#else
-
-#  chmod +x $HOME/eliot/scripts/verifyk8s.sh
-#  source $HOME/eliot/scripts/verifyk8s.sh
+chmod +x $PATH_OF_ELIOTFOLDER/scripts/verifyk8s.sh
+source $PATH_OF_ELIOTFOLDER/scripts/verifyk8s.sh
 
-#fi