Add ROP file creator script in each PNF-sim
* 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>
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
index 0000000..39d8498
--- /dev/null
+++ b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/ROP_file_creator.sh
@@ -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
diff --git a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/docker-compose-template.yml b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/docker-compose-template.yml
index 6500fbb..f532268 100644
--- a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/docker-compose-template.yml
+++ b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/docker-compose-template.yml
@@ -51,10 +51,7 @@
- ./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
index 4c7c506..0000000
--- a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/files/prepare-ROP-files.sh
+++ /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
diff --git a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/simulator.sh b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/simulator.sh
index 4fb725f..bed64b0 100755
--- a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/simulator.sh
+++ b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/simulator.sh
@@ -27,7 +27,7 @@
"start")
start $COMPOSE_FILE_NAME;;
"stop")
- stop;;
+ stop $2;;
"run-simulator")
run_simulator;;
"trigger-simulator")
@@ -74,9 +74,7 @@
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 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
diff --git a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/templates/file_template.xml.gz b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/templates/file_template.xml.gz
new file mode 100644
index 0000000..0e6624a
--- /dev/null
+++ b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/templates/file_template.xml.gz
Binary files differ