update scripts to be executable 95/895/1
authorkinkwan_tsui <kinkwan.tsui@nokia.com>
Wed, 29 May 2019 20:28:09 +0000 (23:28 +0300)
committerkinkwan_tsui <kinkwan.tsui@nokia.com>
Wed, 29 May 2019 20:28:20 +0000 (23:28 +0300)
Change-Id: I4a2e6df37b69bf60100c733495260270808af4a2
Signed-off-by: kinkwan_tsui <kinkwan.tsui@nokia.com>
workflows/nanobot.sh [new file with mode: 0755]
workflows/ric_automation.sh [new file with mode: 0755]
workflows/robot_test_ric.sh [new file with mode: 0755]

diff --git a/workflows/nanobot.sh b/workflows/nanobot.sh
new file mode 100755 (executable)
index 0000000..05f40b8
--- /dev/null
@@ -0,0 +1,65 @@
+#!/bin/bash\r
+#------------------nanobot Pre-modification------------------------------------------------------------\r
+cd RIC/test/ric_robot_suite\r
+#------------------Build the robot suite---------------------------------------------------------------\r
+docker build -t nanobot:latest -f docker/Dockerfile.nanobot .\r
+\r
+#---------pre-create the log file directory- find the value from the values.yaml-----------------------\r
+sudo chown -R cloudadmin /opt\r
+mkdir -p /opt/ric/robot/log\r
+\r
+kubectl create namespace rictest\r
+kubectl create namespace ricxapp\r
+\r
+#----------create ricplatform danmnet-------------------------------------------------------------------\r
+cat <<!   | kubectl apply -f -\r
+apiVersion: danm.k8s.io/v1\r
+kind: DanmNet\r
+metadata:\r
+  name: default\r
+  namespace: rictest\r
+spec:\r
+  NetworkID: flannel\r
+  NetworkType: flannel\r
+!\r
+\r
+docker tag nanobot:latest registry.kube-system.svc.rec.io:5555/rictest/nanobot:latest\r
+docker push registry.kube-system.svc.rec.io:5555/rictest/nanobot:latest\r
+pwd\r
+cd helm/nanobot\r
+#--------edit the values.yaml file in the helm chart for nanobot to point to local registry--------------\r
+values_files="$(find . -name values.yaml)"\r
+for file in $values_files; do\r
+  #sed -ri 's/^(\s*)(run\s*:\s*nanobot\s*$)/\1run: registry.kube-system.svc.rec.io:5555/rictest/nanobot/' "$file"\r
+  sed -i 's/  domain: cluster.local/  domain: rec.io/' "$file"\r
+  sed -i 's/     repository: .*$/     repository: registry.kube-system.svc.rec.io:5555/' "$file"\r
+  sed -i 's/     name: test\/nanobot/     name: rictest\/nanobot/' "$file"\r
+done\r
+\r
+\r
+deployment_files="$(find . -name job-ric-robot-run.yaml)"\r
+for file in $deployment_files; do\r
+  sed -i "/restartPolicy: Never/s//&\\n\      nodeSelector:\n        nodename: caas_master1\n/" "$file"\r
+done\r
+\r
+#-------------------------add the helm chart to the repo-------------------------------------------------\r
+cd ../\r
+mkdir -p dist/packages\r
+pkill helm\r
+helm package -d dist/packages nanobot\r
+helm serve --repo-path dist/packages &\r
+sleep 2\r
+helm repo update\r
+\r
+#-----------------------install the helm chart-----------------------------------------------------------\r
+helm install localric/nanobot --namespace rictest --name nanobot\r
+\r
+nanobot_pod=$(kubectl get pods -n rictest -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}')\r
+sleep 10\r
+kubectl logs $nanobot_pod -n rictest\r
+\r
+#------------checking the status of the rictest pod--------------------------------------\r
+command="$(kubectl get po --no-headers --namespace=rictest --field-selector status.phase=Completed 2> /dev/null)"\r
+if [[ $command != "" ]]; then\r
+  exit 1\r
+fi\r
diff --git a/workflows/ric_automation.sh b/workflows/ric_automation.sh
new file mode 100755 (executable)
index 0000000..57e53cc
--- /dev/null
@@ -0,0 +1,132 @@
+\r
+#------------------------Pre-Modification----------------------------------------------------\r
+mkdir RIC\r
+cd RIC\r
+\r
+#---------Clone the repo and perform the steps customize the deployment and values files------\r
+git clone https://gerrit.o-ran-sc.org/r/it/dep\r
+#run the localize script\r
+cd /home/cloudadmin/RIC/dep\r
+git checkout 189c974169043e89fa216df5ca638fb550e041e4\r
+cat <<EOF >runric_env.sh\r
+\r
+#!/bin/bash\r
+################################################################################\r
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #\r
+#   Copyright (c) 2019 Nokia.                                                  #\r
+#                                                                              #\r
+#   Licensed under the Apache License, Version 2.0 (the "License");            #\r
+#   you may not use this file except in compliance with the License.           #\r
+#   You may obtain a copy of the License at                                    #\r
+#                                                                              #\r
+#       http://www.apache.org/licenses/LICENSE-2.0                             #\r
+#                                                                              #\r
+#   Unless required by applicable law or agreed to in writing, software        #\r
+#   distributed under the License is distributed on an "AS IS" BASIS,          #\r
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #\r
+#   See the License for the specific language governing permissions and        #\r
+#   limitations under the License.                                             #\r
+################################################################################\r
+\r
+\r
+# customize the following repo info to local infrastructure\r
+export __RICENV_SET__='1'\r
+export __RUNRICENV_GERRIT_HOST__='gerrit-o-ran-sc.org'\r
+export __RUNRICENV_GERRIT_IP__='34.215.66.175'_\r
+\r
+export __RUNRICENV_DOCKER_HOST__='rancodev'\r
+export __RUNRICENV_DOCKER_IP__='127.0.0.1'\r
+export __RUNRICENV_DOCKER_PORT__='5555'\r
+export __RUNRICENV_DOCKER_USER__='docker'\r
+export __RUNRICENV_DOCKER_PASS__='docker'\r
+\r
+export __RUNRICENV_HELMREPO_HOST__='chart-repo.kube-system.svc.rec.io'\r
+export __RUNRICENV_HELMREPO_PORT__='8088/charts'\r
+export __RUNRICENV_HELMREPO_IP__='127.0.0.1'\r
+export __RUNRICENV_HELMREPO_USER__='helm'\r
+export __RUNRICENV_HELMREPO_PASS__='helm'\r
+EOF\r
+\r
+source runric_env.sh\r
+./localize.sh\r
+\r
+cd generated/ricplt\r
+deployment_files="$(find . -name deployment.yaml)"\r
+for file in $deployment_files; do\r
+  sed -i '/restartPolicy/d' "$file"\r
+done\r
+\r
+#------------------Delete the nodeport and privileges lines----------------------------------------\r
+sed -ri 's/^(\s*)(type\s*:\s*NodePort\s*$)/\1type: ClusterIP/' appmgr/charts/appmgr/values.yaml\r
+sed -ri 's/^(\s*)(type\s*:\s*NodePort\s*$)/\1type: ClusterIP/' e2mgr/charts/e2mgr/values.yaml\r
+deployment_files="$(find . -name deployment.yaml)"\r
+for file in $deployment_files; do\r
+  sed -i '/privileged: true/d' "$file"\r
+done\r
+\r
+#------------------Edit the appmgr file including the path of the ca certificate-------------------\r
+cp /etc/openssl/ca.pem preric/resources/helmrepo.crt\r
+sed -i '/hostAliases:/,/system.svc.rec.io"/d' appmgr/charts/appmgr/templates/deployment.yaml\r
+\r
+#-----------------Update tiller container name-----------------------------------------------------\r
+sed -ri 's/^(\s*)("tiller-service"\s*:\s*"tiller-deploy"\s*$)/\1"tiller-service": "tiller"/' appmgr/charts/appmgr/values.yaml\r
+\r
+#-----------------Change the repo location to rec.io----------------------------------------------\r
+values_files="$(find . -name values.yaml)"\r
+for file in $values_files; do\r
+  sed -i 's,rancodev:5555,registry.kube-system.svc.rec.io:5555/ric,g' "$file"\r
+done\r
+\r
+#-----------------Change the repo location to rec.io---------------------------------------------\r
+requirements_files="$(find . -name requirements.yaml)"\r
+for file in $requirements_files; do\r
+  sed -i 's,local,localric,g' "$file"\r
+done\r
+\r
+sed -i 's,rancodev:5555,rancodev,g' ./prepull.sh\r
+sed -i 's/docker logout/#/' ./prepull.sh\r
+sed -i 's/docker login/#/' ./prepull.sh\r
+\r
+#!/bin/bash\r
+#-----------------Installation--------------------------------------------------------------------\r
+#--------------Reloading docker images-----------------------------------------------------------\r
+echo "docker" | sh ./prepull.sh\r
+\r
+#retag scripts\r
+for i in  \\r
+"xapp-manager:latest" \\r
+"e2mgr:1.0.0" \\r
+"e2:1.0.0"  \\r
+"rtmgr:0.0.2"  \\r
+"redis-standalone:latest"\r
+do\r
+echo $i\r
+docker tag  rancodev/${i} registry.kube-system.svc.rec.io:5555/ric/${i}\r
+docker push  registry.kube-system.svc.rec.io:5555/ric/${i}\r
+done\r
+\r
+#-------------create ricplatform namespace------------------------------------------------------\r
+kubectl create namespace ricplatform\r
+\r
+#create ricplatform danmnet\r
+cat <<!   | kubectl apply -f -\r
+apiVersion: danm.k8s.io/v1\r
+kind: DanmNet\r
+metadata:\r
+  name: default\r
+  namespace: ricplatform\r
+spec:\r
+  NetworkID: flannel\r
+  NetworkType: flannel\r
+!\r
+\r
+#------------run ric_install script-----------------------------------------------------------\r
+sed -i 's,http://127.0.0.1:8879,http://127.0.0.1:8879/charts,g' "ric_install.sh"\r
+sed -i 's,local,localric,g' "ric_install.sh"\r
+\r
+bash -x ./ric_install.sh\r
+#-------------checking the output-------------------------------------------------------------\r
+command="$(kubectl get po --no-headers --namespace=ricplatform --field-selector status.phase!=Running 2> /dev/null)"\r
+if [[ $command != "" ]]; then\r
+  exit 1\r
+fi\r
diff --git a/workflows/robot_test_ric.sh b/workflows/robot_test_ric.sh
new file mode 100755 (executable)
index 0000000..d793542
--- /dev/null
@@ -0,0 +1,62 @@
+#!/bin/bash\r
+#-----------Pre-modification------------------------------\r
+cd RIC\r
+git clone https://gerrit.o-ran-sc.org/r/it/test\r
+cp test/ric_robot_suite/helm/robot_install.sh /home/cloudadmin/RIC/dep/generated/ricplt\r
+\r
+#-----------Changing the repo location to rec.io-----------\r
+sed -i 's,snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001,registry.kube-system.svc.rec.io:5555,g' test/ric_robot_suite/helm/ric-robot/values.yaml\r
+sed -ri '/nodePort: 30209/d' test/ric_robot_suite/helm/ric-robot/values.yaml\r
+sed -ri 's/^(\s*)(type\s*:\s*NodePort\s*$)/\1type: ClusterIP/' test/ric_robot_suite/helm/ric-robot/values.yaml\r
+sed -i 's/  tag: latest/  tag: 0.1.0-SNAPSHOT-20190318152929/' test/ric_robot_suite/helm/ric-robot/values.yaml\r
+cd dep/generated/ricplt\r
+\r
+#-----------Doing the Docker pull--------------------------\r
+#echo "docker" | docker login -u docker --password-stdin snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001\r
+#docker pull snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/test/ric-robot:latest\r
+docker pull rancodev/ric-robot:0.1.0-SNAPSHOT-20190318152929\r
+#docker logout snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001\r
+\r
+\r
+#-----------Retagging---------------------------------------\r
+docker tag  rancodev/ric-robot:0.1.0-SNAPSHOT-20190318152929 registry.kube-system.svc.rec.io:5555/test/ric-robot:0.1.0-SNAPSHOT-20190318152929\r
+docker push  registry.kube-system.svc.rec.io:5555/test/ric-robot:0.1.0-SNAPSHOT-20190318152929\r
+\r
+\r
+#----------- robot_install----------------------------------\r
+#  Note:\r
+#  This file needs to be in the it/dep/generated/ricplt directory with ric_install.sh/ric_uninstall.sh\r
+#  so that it can use the same dist/packages as the ricplt install\r
+#\r
+#  ricplt is in:     it/dep/geneated/ricplt\r
+#  ric-robot is in:  it/test/ric_robot_suite\r
+#\r
+if [ ! -e ric-robot ]; then\r
+    ln  -s ../../../test/ric_robot_suite/helm/ric-robot  ric-robot\r
+fi\r
+\r
+\r
+helm repo add localric http://127.0.0.1:8879/charts\r
+helm package -d dist/packages ric-robot\r
+pkill helm\r
+helm serve --repo-path dist/packages &\r
+sleep 2\r
+helm repo update\r
+\r
+# if you need to override the repo change the image.repository line for deployment\r
+# helm install local/ric-robot --namespace ricplatform --name ric-robot --set image.repository=snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/test/ric-robot\r
+#\r
+helm install localric/ric-robot --namespace ricplatform --name ric-robot\r
+helm repo update\r
+#cd ../../../\r
+ric_robot_pod=$(kubectl get pods -l app.kubernetes.io/instance=ric-robot -n ricplatform -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}')\r
+kubectl exec -n ricplatform -it $ric_robot_pod -- sed -i '17,19 s/^/#/' /var/opt/RIC/robot/testsuites/health-check.robot\r
+\r
+#---------show the test cases------------------------------\r
+cd /home/cloudadmin/RIC/test/ric_robot_suite/helm/ric-robot/\r
+bash ete-k8s.sh ricplatform health\r
+#----------checking the status of the pods------------------\r
+command="$(kubectl get po --no-headers --namespace=ricplatform --field-selector status.phase!=Running 2> /dev/null)"\r
+if [[ $command != "" ]]; then\r
+  exit 1\r
+fi\r