Add ROP file creator script in each PNF-sim 72/82772/2
authorRehanRaza <muhammad.rehan.raza@est.tech>
Wed, 20 Mar 2019 08:12:55 +0000 (08:12 +0000)
committerMuhammad Rehan Raza <muhammad.rehan.raza@est.tech>
Wed, 20 Mar 2019 08:17:21 +0000 (08:17 +0000)
* The script runs in a background process
* The background process is killed when mass-pnf-sim is stopped
* Filename format is updated to include timezone, HOSTNAME, and PNF-node-name

Change-Id: If0a5a8c7bdd7ffb4958569e3037f1a7207770ef1
Issue-ID: DCAEGEN2-1225
Signed-off-by: RehanRaza <muhammad.rehan.raza@est.tech>
test/mocks/mass-pnf-sim/ROP_file_creator.sh [deleted file]
test/mocks/mass-pnf-sim/mass-pnf-sim.py
test/mocks/mass-pnf-sim/pnf-sim-lightweight/ROP_file_creator.sh [new file with mode: 0755]
test/mocks/mass-pnf-sim/pnf-sim-lightweight/docker-compose-template.yml
test/mocks/mass-pnf-sim/pnf-sim-lightweight/files/prepare-ROP-files.sh [deleted file]
test/mocks/mass-pnf-sim/pnf-sim-lightweight/simulator.sh
test/mocks/mass-pnf-sim/pnf-sim-lightweight/templates/file_template.xml.gz [moved from test/mocks/mass-pnf-sim/templates/file_template.xml.gz with 100% similarity]

diff --git a/test/mocks/mass-pnf-sim/ROP_file_creator.sh b/test/mocks/mass-pnf-sim/ROP_file_creator.sh
deleted file mode 100755 (executable)
index 1451658..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/bash
-MAIN_DIRECTORY=./files/onap
-FILE_TEMPLATE=./templates/file_template.xml.gz
-UPDATE_MINS=15
-NUM_NODES=20
-NUM_FILES=10
-
-rm -rf $MAIN_DIRECTORY/*
-for ((m=1;m<=$NUM_NODES;m++))
-do
-       DIRECTORY=$MAIN_DIRECTORY/"node"$m
-       mkdir -p "$DIRECTORY"
-done
-
-for ((n=0;n<$NUM_FILES;n++))
-do
-       if [[ "$OSTYPE" == "linux-gnu" ]]; then         # Linux OS
-               DATE=$(date -d $(($UPDATE_MINS*$n))" minutes ago" +"%Y%m%d")
-               TIME_START=$(date -d $(($UPDATE_MINS*($n+1)-1))" minutes ago" +"%H%M")
-               TIME_END=$(date -d $(($UPDATE_MINS*$n))" minutes ago" +"%H%M")  
-       elif [[ "$OSTYPE" == "darwin"* ]]; then         # Mac OS
-               DATE=$(date -v "-"$(($UPDATE_MINS*$n))"M" +"%Y%m%d")
-               TIME_START=$(date -v "-"$(($UPDATE_MINS*($n+1)-1))"M" +"%H%M")
-               TIME_END=$(date -v "-"$(($UPDATE_MINS*$n))"M" +"%H%M")
-       else
-               echo "ERROR: OS not supported"
-               exit 1
-       fi
-
-       FILE_NAME_TIMESTAMP="A"$DATE"."$TIME_START"-"$TIME_END
-       TIMESTAMP_ARRAY[$n]=$FILE_NAME_TIMESTAMP
-
-       for ((m=1;m<=$NUM_NODES;m++))
-       do
-               DIRECTORY=$MAIN_DIRECTORY/"node"$m
-               FILE_NAME=$FILE_NAME_TIMESTAMP"_node"$m".xml.gz"
-               cp $FILE_TEMPLATE $DIRECTORY/$FILE_NAME
-       done
-done
-
-while true
-do
-       sleep $(($UPDATE_MINS*60))
-       OLD_TIMESTAMP=${TIMESTAMP_ARRAY[$NUM_FILES-1]}
-       unset TIMESTAMP_ARRAY[$NUM_FILES-1]
-
-       DATE=$(date +"%Y%m%d")
-       TIME_END=$(date +"%H%M")
-       if [[ "$OSTYPE" == "linux-gnu" ]]; then         # Linux OS
-               TIME_START=$(date -d $(($UPDATE_MINS-1))" minutes ago" +"%H%M")
-       elif [[ "$OSTYPE" == "darwin"* ]]; then         # Mac OS
-               TIME_START=$(date -v "-"$(($UPDATE_MINS-1))"M" +"%H%M")
-       else
-               echo "ERROR: OS not supported"
-               exit 1
-       fi
-
-       NEW_TIMESTAMP="A"$DATE"."$TIME_START"-"$TIME_END
-       TIMESTAMP_ARRAY=("$NEW_TIMESTAMP" "${TIMESTAMP_ARRAY[@]}")
-
-       for ((m=1;m<=$NUM_NODES;m++))
-       do
-               DIRECTORY=$MAIN_DIRECTORY/"node"$m
-               OLD_FILE_NAME=$OLD_TIMESTAMP"_node"$m".xml.gz"
-               NEW_FILE_NAME=$NEW_TIMESTAMP"_node"$m".xml.gz"
-               mv $DIRECTORY/$OLD_FILE_NAME $DIRECTORY/$NEW_FILE_NAME
-               echo "Renamed OLD file: "$OLD_FILE_NAME" to NEW file: "$NEW_FILE_NAME
-       done
-done
index 9ec8c00..ba05986 100755 (executable)
@@ -135,7 +135,7 @@ if args.stop:
         completed = subprocess.run(
             'cd ' +
             foldername +
-            "; ./simulator.sh stop",
+            "; ./simulator.sh stop " + str(i),
             shell=True)
         print('Stopping:', completed.stdout)
 
diff --git a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/ROP_file_creator.sh b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/ROP_file_creator.sh
new file mode 100755 (executable)
index 0000000..39d8498
--- /dev/null
@@ -0,0 +1,57 @@
+#!/bin/bash
+MAIN_DIRECTORY=${PWD##*/}
+FILE_DIRECTORY=./files/onap
+FILE_TEMPLATE=./templates/file_template.xml.gz
+UPDATE_MINS=15
+NUM_FILES=96
+
+rm -rf $FILE_DIRECTORY
+mkdir -p "$FILE_DIRECTORY"
+
+for ((n=0;n<$NUM_FILES;n++))
+do
+       if [[ "$OSTYPE" == "linux-gnu" ]]; then         # Linux OS
+               DATE=$(date -d $(($UPDATE_MINS*$n))" minutes ago" +"%Y%m%d")
+               TIME_START=$(date -d $(($UPDATE_MINS*($n+1)-1))" minutes ago" +"%H%M%z")
+               TIME_END=$(date -d $(($UPDATE_MINS*$n))" minutes ago" +"%H%M%z")  
+       elif [[ "$OSTYPE" == "darwin"* ]]; then         # Mac OS
+               DATE=$(date -v "-"$(($UPDATE_MINS*$n))"M" +"%Y%m%d")
+               TIME_START=$(date -v "-"$(($UPDATE_MINS*($n+1)-1))"M" +"%H%M%z")
+               TIME_END=$(date -v "-"$(($UPDATE_MINS*$n))"M" +"%H%M%z")
+       else
+               echo "ERROR: OS not supported"
+               exit 1
+       fi
+
+       FILE_NAME_TIMESTAMP="A"$DATE"."$TIME_START"-"$TIME_END
+       FILE_NAME=$FILE_NAME_TIMESTAMP"_"$HOSTNAME"-"$MAIN_DIRECTORY".xml.gz"
+       cp $FILE_TEMPLATE $FILE_DIRECTORY/$FILE_NAME
+
+       TIMESTAMP_ARRAY[$n]=$FILE_NAME_TIMESTAMP
+done
+
+while true
+do
+       sleep $(($UPDATE_MINS*60))
+       OLD_TIMESTAMP=${TIMESTAMP_ARRAY[$NUM_FILES-1]}
+       unset TIMESTAMP_ARRAY[$NUM_FILES-1]
+
+       DATE=$(date +"%Y%m%d")
+       TIME_END=$(date +"%H%M%z")
+       if [[ "$OSTYPE" == "linux-gnu" ]]; then         # Linux OS
+               TIME_START=$(date -d $(($UPDATE_MINS-1))" minutes ago" +"%H%M%z")
+       elif [[ "$OSTYPE" == "darwin"* ]]; then         # Mac OS
+               TIME_START=$(date -v "-"$(($UPDATE_MINS-1))"M" +"%H%M%z")
+       else
+               echo "ERROR: OS not supported"
+               exit 1
+       fi
+
+       NEW_TIMESTAMP="A"$DATE"."$TIME_START"-"$TIME_END
+       OLD_FILE_NAME=$OLD_TIMESTAMP"_"$HOSTNAME"-"$MAIN_DIRECTORY".xml.gz"
+       NEW_FILE_NAME=$NEW_TIMESTAMP"_"$HOSTNAME"-"$MAIN_DIRECTORY".xml.gz"
+       mv $FILE_DIRECTORY/$OLD_FILE_NAME $FILE_DIRECTORY/$NEW_FILE_NAME
+       #echo "Renamed OLD file: "$OLD_FILE_NAME" to NEW file: "$NEW_FILE_NAME      # uncomment for debugging
+
+       TIMESTAMP_ARRAY=("$NEW_TIMESTAMP" "${TIMESTAMP_ARRAY[@]}")
+done
index 6500fbb..f532268 100644 (file)
@@ -51,10 +51,7 @@ services:
       - ./tls/ftp.key:/etc/ssl/private/ftp.key:ro
       - ./tls/dfc.crt:/etc/ssl/private/dfc.crt:ro
       - ./config/vsftpd_ssl.conf:/etc/vsftpd_ssl.conf:ro
-      - ./files/onap/0.5MB.tar.gz:/srv/0.5MB.tar.gz:ro
-      - ./files/onap/1MB.tar.gz:/srv/1MB.tar.gz:ro
-      - ./files/onap/5MB.tar.gz:/srv/5MB.tar.gz:ro
-      - ./files/onap/10MB.tar.gz:/srv/10MB.tar.gz:ro
+      - ./files/onap/:/srv/
     restart: on-failure
     command: vsftpd /etc/vsftpd_ssl.conf
 
diff --git a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/files/prepare-ROP-files.sh b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/files/prepare-ROP-files.sh
deleted file mode 100755 (executable)
index 4c7c506..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-echo "Creating ROP files"
-set -x
-mkdir -p onap
-
-dd if=/dev/urandom of=./onap/0.5MB.tar.gz bs=1k count=512
-dd if=/dev/urandom of=./onap/1MB.tar.gz bs=1M count=1
-dd if=/dev/urandom of=./onap/5MB.tar.gz bs=1M count=5
-dd if=/dev/urandom of=./onap/10MB.tar.gz bs=1M count=10
\ No newline at end of file
index 4fb725f..bed64b0 100755 (executable)
@@ -27,7 +27,7 @@ function main(){
         "start")
             start $COMPOSE_FILE_NAME;;
         "stop")
-            stop;;
+            stop $2;;
         "run-simulator")
             run_simulator;;
         "trigger-simulator")
@@ -74,9 +74,7 @@ function compose(){
        docker-compose -f docker-compose-temporary.yml config > docker-compose.yml
        rm docker-compose-temporary.yml
 
-       cd files
-       ./prepare-ROP-files.sh
-       cd -
+       ./ROP_file_creator.sh $I &
 
        set_vsftpd_file_owner
 
@@ -126,6 +124,8 @@ function running_containers(){
 
 function stop(){
        get_pnfsim_ip
+    kill $(ps -a | grep "[.]/ROP_file_creator.sh $1" | awk '{print $1}')
+
     if [[ $(running_containers) ]]; then
         docker-compose -f $RUNNING_COMPOSE_CONFIG down
         docker-compose -f $RUNNING_COMPOSE_CONFIG rm