Skip to content

Commit 04b2935

Browse files
committed
support for sctplb cicd with seagull
1 parent a377030 commit 04b2935

File tree

4 files changed

+117
-0
lines changed

4 files changed

+117
-0
lines changed

cicd/common.sh

+2
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,8 @@ spawn_docker_host() {
135135
else
136136
docker run -u root --cap-add SYS_ADMIN -dit --name $dname eyes852/ubuntu-iperf-test:0.5
137137
fi
138+
elif [[ "$dtype" == "seahost" ]]; then
139+
docker run -u root --cap-add SYS_ADMIN -i -t --rm --detach --entrypoint /bin/bash --name $dname ghcr.io/loxilb-io/seagull:ubuntu1804
138140
fi
139141

140142
pid=""

cicd/sctplb-seagull/config.sh

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#!/bin/bash
2+
3+
source ../common.sh
4+
5+
echo "#########################################"
6+
echo "Spawning all hosts"
7+
echo "#########################################"
8+
9+
spawn_docker_host --dock-type loxilb --dock-name llb1
10+
spawn_docker_host --dock-type seahost --dock-name l3h1
11+
spawn_docker_host --dock-type seahost --dock-name l3ep1
12+
spawn_docker_host --dock-type seahost --dock-name l3ep2
13+
spawn_docker_host --dock-type seahost --dock-name l3ep3
14+
15+
echo "#########################################"
16+
echo "Connecting and configuring hosts"
17+
echo "#########################################"
18+
19+
20+
connect_docker_hosts l3h1 llb1
21+
connect_docker_hosts l3ep1 llb1
22+
connect_docker_hosts l3ep2 llb1
23+
connect_docker_hosts l3ep3 llb1
24+
25+
26+
#L3 config
27+
config_docker_host --host1 l3h1 --host2 llb1 --ptype phy --addr 10.10.10.1/24 --gw 10.10.10.254
28+
config_docker_host --host1 l3ep1 --host2 llb1 --ptype phy --addr 31.31.31.1/24 --gw 31.31.31.254
29+
config_docker_host --host1 l3ep2 --host2 llb1 --ptype phy --addr 32.32.32.1/24 --gw 32.32.32.254
30+
config_docker_host --host1 l3ep3 --host2 llb1 --ptype phy --addr 33.33.33.1/24 --gw 33.33.33.254
31+
config_docker_host --host1 llb1 --host2 l3h1 --ptype phy --addr 10.10.10.254/24
32+
config_docker_host --host1 llb1 --host2 l3ep1 --ptype phy --addr 31.31.31.254/24
33+
config_docker_host --host1 llb1 --host2 l3ep2 --ptype phy --addr 32.32.32.254/24
34+
config_docker_host --host1 llb1 --host2 l3ep3 --ptype phy --addr 33.33.33.254/24
35+
sleep 5
36+
create_lb_rule llb1 20.20.20.1 --sctp=2020:8080 --endpoints=31.31.31.1:1
37+
create_lb_rule llb1 20.20.20.1 --tcp=2020:8080 --endpoints=31.31.31.1:1

cicd/sctplb-seagull/rmconfig.sh

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/bin/bash
2+
3+
source ../common.sh
4+
5+
disconnect_docker_hosts l3h1 llb1
6+
disconnect_docker_hosts l3ep1 llb1
7+
disconnect_docker_hosts l3ep2 llb1
8+
disconnect_docker_hosts l3ep3 llb1
9+
10+
delete_docker_host llb1
11+
delete_docker_host l3h1
12+
delete_docker_host l3ep1
13+
delete_docker_host l3ep2
14+
delete_docker_host l3ep3
15+
16+
echo "#########################################"
17+
echo "Deleted testbed"
18+
echo "#########################################"

cicd/sctplb-seagull/validation.sh

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
#!/bin/bash
2+
source ../common.sh
3+
echo SCENARIO-sctplb
4+
5+
servArr=( "server1" "server2" "server3" )
6+
ep=( "31.31.31.1" "32.32.32.1" "33.33.33.1" )
7+
8+
$hexec l3ep1 ../common/sctp_server ${ep[0]} 8080 server1 >/dev/null 2>&1 &
9+
$hexec l3ep2 ../common/sctp_server ${ep[1]} 8080 server2 >/dev/null 2>&1 &
10+
$hexec l3ep3 ../common/sctp_server ${ep[2]} 8080 server3 >/dev/null 2>&1 &
11+
12+
sleep 5
13+
code=0
14+
j=0
15+
waitCount=0
16+
while [ $j -le 2 ]
17+
do
18+
res=$($hexec l3h1 timeout 10 ../common/sctp_client 10.10.10.1 0 ${ep[j]} 8080)
19+
#echo $res
20+
if [[ $res == "${servArr[j]}" ]]
21+
then
22+
echo "$res UP"
23+
j=$(( $j + 1 ))
24+
else
25+
echo "Waiting for ${servArr[j]}(${ep[j]})"
26+
waitCount=$(( $waitCount + 1 ))
27+
if [[ $waitCount == 10 ]];
28+
then
29+
echo "All Servers are not UP"
30+
echo SCENARIO-sctplb [FAILED]
31+
sudo pkill sctp_server >/dev/null 2>&1
32+
exit 1
33+
fi
34+
35+
fi
36+
sleep 1
37+
done
38+
39+
for i in {1..4}
40+
do
41+
for j in {0..2}
42+
do
43+
res=$($hexec l3h1 timeout 10 ../common/sctp_client 10.10.10.1 0 20.20.20.1 2020)
44+
echo -e $res
45+
if [[ $res != "${servArr[j]}" ]]
46+
then
47+
code=1
48+
fi
49+
sleep 1
50+
done
51+
done
52+
sudo pkill sctp_server >/dev/null 2>&1
53+
if [[ $code == 0 ]]
54+
then
55+
echo SCENARIO-sctplb [OK]
56+
else
57+
echo SCENARIO-sctplb [FAILED]
58+
fi
59+
exit $code
60+

0 commit comments

Comments
 (0)