ROP file processing in mass-pnf-simulator
Change-Id: I66203ff66e9d91865f8eee06bef01e55bcd6c39c
Issue-ID: DCAEGEN2-1225
Signed-off-by: TamasBakai <tamas.bakai@est.tech>
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 12b2047..4fb725f 100755
--- a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/simulator.sh
+++ b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/simulator.sh
@@ -6,9 +6,12 @@
NETOPEER_CONTAINER_NAME=netopeer
SIMULATOR_CONTAINER_NAME=pnf-simulator
SIMULATOR_PORT=5000
-SIMULATOR_START_URL=http://localhost:$SIMULATOR_PORT/simulator/start
-SIMULATOR_STOP_URL=http://localhost:$SIMULATOR_PORT/simulator/stop
-SIMULATOR_STATUS_URL=http://localhost:$SIMULATOR_PORT/simulator/status
+
+SIMULATOR_BASE=http://localhost:$SIMULATOR_PORT/simulator/
+SIMULATOR_START_URL=$SIMULATOR_BASE/start
+SIMULATOR_STOP_URL=$SIMULATOR_BASE/stop
+SIMULATOR_STATUS_URL=$SIMULATOR_BASE/status
+
RUNNING_COMPOSE_CONFIG=$COMPOSE_FILE_NAME
function main(){
@@ -27,6 +30,8 @@
stop;;
"run-simulator")
run_simulator;;
+ "trigger-simulator")
+ trigger_simulator;;
"stop-simulator")
stop_simulator;;
"status")
@@ -38,6 +43,18 @@
esac
}
+
+function get_pnfsim_ip() {
+
+ export IPPNFSIM=$(cat ./config/config.yml | grep ippnfsim | awk -F'[ ]' '{print $2}')
+ echo "PNF-Sim IP: " $IPPNFSIM
+
+ export SIMULATOR_BASE=http://$IPPNFSIM:$SIMULATOR_PORT/simulator/
+ export SIMULATOR_START_URL=$SIMULATOR_BASE/start
+ export SIMULATOR_STOP_URL=$SIMULATOR_BASE/stop
+ export SIMULATOR_STATUS_URL=$SIMULATOR_BASE/status
+}
+
function compose(){
#creating custom docker-compose based on IP arguments
#creting config.json by injecting the same IP
@@ -63,13 +80,13 @@
set_vsftpd_file_owner
- write_config $IPVES $IPFTPS $IPSFTP
+ write_config $IPVES $IPFTPS $IPSFTP $IPPNFSIM
}
function build_image(){
if [ -f pom.xml ]; then
- mvn clean package docker:build
+ mvn clean package docker:build -Dcheckstyle.skip -DskipTests
else
echo "pom.xml file not found"
exit 1
@@ -83,15 +100,15 @@
function write_config(){
#building a YML file for usage in Java
- echo "---" > config/config.yml
- echo "configuration:" >> config/config.yml
- echo " vesip: $1" >> config/config.yml
- echo " ipftps: $2" >> config/config.yml
- echo " ipsftp: $3" >> config/config.yml
+ echo "vesip: $1" > config/config.yml
+ echo "ipftps: $2" >> config/config.yml
+ echo "ipsftp: $3" >> config/config.yml
+ echo "ippnfsim: $4" >> config/config.yml
}
function start(){
+ get_pnfsim_ip
if [[ $(running_containers) ]]; then
echo "Simulator containers are already up"
else
@@ -108,7 +125,7 @@
}
function stop(){
-
+ get_pnfsim_ip
if [[ $(running_containers) ]]; then
docker-compose -f $RUNNING_COMPOSE_CONFIG down
docker-compose -f $RUNNING_COMPOSE_CONFIG rm
@@ -117,8 +134,16 @@
fi
}
-function run_simulator(){
+function trigger_simulator(){
+get_pnfsim_ip
+cat << EndOfMessage
+Simulator response:
+$(curl -s -X POST -H "Content-Type: application/json" -H "X-ONAP-RequestID: 123" -H "X-InvocationID: 456" -d @config/config.json $SIMULATOR_START_URL)
+EndOfMessage
+}
+function run_simulator(){
+get_pnfsim_ip
cat << EndOfMessage
Simulator response:
$(curl -s -X POST -H "Content-Type: application/json" -H "X-ONAP-RequestID: 123" -H "X-InvocationID: 456" -d @config/$CONFIG_JSON $SIMULATOR_START_URL)
@@ -126,6 +151,7 @@
}
function stop_simulator(){
+get_pnfsim_ip
cat << EndOfMessage
Simulator response:
$(curl -s -X POST $SIMULATOR_STOP_URL)
@@ -133,7 +159,7 @@
}
function get_status(){
-
+ get_pnfsim_ip
if [[ $(running_containers) ]]; then
print_status
else
@@ -142,6 +168,7 @@
}
function print_status(){
+get_pnfsim_ip
cat << EndOfMessage
$(docker-compose -f $RUNNING_COMPOSE_CONFIG ps)
@@ -156,6 +183,7 @@
build - locally builds simulator image from existing code
start - starts simulator and netopeer2 containers using remote simulator image and specified model name
compose - customize the docker-compose and configuration based on arguments
+trigger-simulator - start monitoring the ROP files and report periodically
run-simulator - starts sending PNF registration messages with parameters specified in config.json
stop-simulator - stop sending PNF registration messages
stop - stops both containers