From 291213135bc0ac0fd57b2d403fa6f9e5ab1beb19 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 9 Jul 2024 15:03:06 +0900 Subject: [PATCH] gh-718 Added cicd for ipmasquerade --- .github/workflows/advanced-lb-sanity.yml | 6 ++++ cicd/ipmasquerade/config.sh | 38 +++++++++++++++++++++++ cicd/ipmasquerade/rmconfig.sh | 18 +++++++++++ cicd/ipmasquerade/validation.sh | 39 ++++++++++++++++++++++++ 4 files changed, 101 insertions(+) create mode 100755 cicd/ipmasquerade/config.sh create mode 100755 cicd/ipmasquerade/rmconfig.sh create mode 100755 cicd/ipmasquerade/validation.sh diff --git a/.github/workflows/advanced-lb-sanity.yml b/.github/workflows/advanced-lb-sanity.yml index a8672e921..23549a666 100644 --- a/.github/workflows/advanced-lb-sanity.yml +++ b/.github/workflows/advanced-lb-sanity.yml @@ -101,6 +101,12 @@ jobs: ./validation.sh ./rmconfig.sh cd - + - run: | + cd cicd/ipmasquerade/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - #- run: | # cd cicd/httpsproxy/ # ./config.sh diff --git a/cicd/ipmasquerade/config.sh b/cicd/ipmasquerade/config.sh new file mode 100755 index 000000000..a894d53ac --- /dev/null +++ b/cicd/ipmasquerade/config.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +source ../common.sh + +echo "#########################################" +echo "Spawning all hosts" +echo "#########################################" + +spawn_docker_host --dock-type loxilb --dock-name llb1 +spawn_docker_host --dock-type host --dock-name l3h1 +spawn_docker_host --dock-type host --dock-name l3ep1 +spawn_docker_host --dock-type host --dock-name l3ep2 +spawn_docker_host --dock-type host --dock-name l3ep3 + +echo "#########################################" +echo "Connecting and configuring hosts" +echo "#########################################" + +connect_docker_hosts l3h1 llb1 +connect_docker_hosts l3ep1 llb1 +connect_docker_hosts l3ep2 llb1 +connect_docker_hosts l3ep3 llb1 + +sleep 5 + +#L3 config +config_docker_host --host1 l3h1 --host2 llb1 --ptype phy --addr 10.10.10.1/24 --gw 10.10.10.254 +config_docker_host --host1 l3ep1 --host2 llb1 --ptype phy --addr 31.31.31.1/24 --gw 31.31.31.254 +config_docker_host --host1 l3ep2 --host2 llb1 --ptype phy --addr 32.32.32.1/24 --gw 32.32.32.254 +config_docker_host --host1 l3ep3 --host2 llb1 --ptype phy --addr 33.33.33.1/24 --gw 33.33.33.254 +config_docker_host --host1 llb1 --host2 l3h1 --ptype phy --addr 10.10.10.254/24 +config_docker_host --host1 llb1 --host2 l3ep1 --ptype phy --addr 31.31.31.254/24 +config_docker_host --host1 llb1 --host2 l3ep2 --ptype phy --addr 32.32.32.254/24 +config_docker_host --host1 llb1 --host2 l3ep3 --ptype phy --addr 33.33.33.254/24 + +sleep 5 + +$dexec llb1 loxicmd create firewall --firewallRule="portName:ellb1l3ep1" --snat=10.10.10.254 diff --git a/cicd/ipmasquerade/rmconfig.sh b/cicd/ipmasquerade/rmconfig.sh new file mode 100755 index 000000000..9ea80577f --- /dev/null +++ b/cicd/ipmasquerade/rmconfig.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +source ../common.sh + +disconnect_docker_hosts l3h1 llb1 +disconnect_docker_hosts l3ep1 llb1 +disconnect_docker_hosts l3ep2 llb1 +disconnect_docker_hosts l3ep3 llb1 + +delete_docker_host llb1 +delete_docker_host l3h1 +delete_docker_host l3ep1 +delete_docker_host l3ep2 +delete_docker_host l3ep3 + +echo "#########################################" +echo "Deleted testbed" +echo "#########################################" diff --git a/cicd/ipmasquerade/validation.sh b/cicd/ipmasquerade/validation.sh new file mode 100755 index 000000000..fdff2d202 --- /dev/null +++ b/cicd/ipmasquerade/validation.sh @@ -0,0 +1,39 @@ +#!/bin/bash +source ../common.sh +echo SCENARIO-masquerade +$hexec l3h1 node ../common/tcp_server.js server1 & + +sleep 15 +code=0 +servIP=( "10.10.10.1" ) +servArr=( "server1" ) +clientArr=( "l3ep1" "l3ep2" "l3ep3" ) +j=0 +waitCount=0 + +echo "Testing Service IP: ${servIP[0]}" +lcode=0 +for i in {0..2} +do +for j in {0..2} +do + res=$($hexec ${clientArr[i]} curl --max-time 10 -s ${servIP[0]}:8080) + echo $res + if [[ $res != "${servArr[0]}" ]] + then + lcode=1 + fi + sleep 1 +done +done + +if [[ $lcode == 0 ]] +then + echo SCENARIO-masquerade with ${servIP[0]} [OK] +else + echo SCENARIO-masquerade with ${servIP[0]} [FAILED] + code=1 +fi + +sudo killall -9 node 2>&1 > /dev/null +exit $code