mirror of
				https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
				synced 2025-10-31 02:38:03 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			151 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| set -e
 | |
| unset proxy
 | |
| unset http_proxy
 | |
| Q='"'
 | |
| q="'"
 | |
| S='*'
 | |
| series=(10000 10001 10002 11000 11001 11002 12000 12001 12002)
 | |
| ra=1
 | |
| rb=2
 | |
| application_json="application/json"
 | |
| accept_json="Accept: $application_json"
 | |
| accept_html='Accept: text/html'
 | |
| accept_text='Accept: text/plain'
 | |
| #accept_any="'Accept: */*'" # just dont use
 | |
| content_plain='Content-Type: text/plain'
 | |
| content_json="Content-Type: $application_json"
 | |
| headers="/var/tmp/headers.$$"
 | |
| switches="-s -D $headers -o $result"
 | |
| #switches='-sq'
 | |
| data_file=/var/tmp/data.$$
 | |
| result=/var/tmp/result.$$
 | |
| 
 | |
| function Kurl() {
 | |
|    echo "======================================================================================="
 | |
|    echo "curl $switches $@"
 | |
|    echo "======================================================================================="
 | |
|    curl $switches "$@" | json_pp
 | |
|    echo ""
 | |
|    echo "======================================================================================="
 | |
| }
 | |
| 
 | |
| function Jurl() {
 | |
|    echo "=J====================================================================================="
 | |
|    echo "curl $switches -H $accept_json -H $content_json $@"
 | |
|    echo "=J====================================================================================="
 | |
|    curl $switches -H "$accept_json" -H "$content_json" -X POST "$@"
 | |
|    echo ""
 | |
|    echo "=J====================================================================================="
 | |
| }
 | |
| 
 | |
| function Kuurl() {
 | |
|    echo "URL: ${@:$#}"
 | |
|    echo "" > $result
 | |
|    echo "" > $headers
 | |
|    #curl $switches  -H "$accept_json" -H "$content_json" -X POST  -d"@$data_file" "$@" ||:
 | |
|    set -x
 | |
|    curl "$@" ||:
 | |
|    set +x
 | |
|    grep 'HTTP/1.1 200' $headers || (echo "${@:$#}"; cat $headers; exit 1)
 | |
| }
 | |
| 
 | |
| HOST=${1:-jedtest.jbr}
 | |
| url="http://${HOST}:8080"
 | |
| #url="http://127.0.0.1:8080"
 | |
| 
 | |
| function PortDown() {
 | |
|    switches="-s -D $headers -o $result"
 | |
|    echo "{\"shelf\":1,\"resource\":$ra,\"port\":\"$1\",\"current_flags\":1, \"interest\":8388610}" > $data_file
 | |
|    Kuurl $switches -H "$accept_json" -H "$content_json" -X POST  -d"@$data_file" "$url/cli-json/set_port"
 | |
|    sleep 0.3
 | |
|    for try in `seq 1 100`; do
 | |
|       echo "{\"shelf\":1,\"resource\":$ra,\"port\":\"$1\"}" > $data_file
 | |
|       cat $data_file
 | |
|       Kuurl $switches -H "$accept_json" -H "$content_json" -X POST -d"@$data_file" "$url/cli-json/nc_show_ports"
 | |
|       sleep 0.5
 | |
|       Kuurl $switches "$url/port/1/$ra/$1?fields=alias,ip,down"
 | |
|       json_pp < $result || cat $result
 | |
|       grep '"down".*true' $result && break || :
 | |
|    done
 | |
| }
 | |
| 
 | |
| function PortUp() {
 | |
|    #set_port 1 3 sta3101 NA NA NA NA 0 NA NA NA NA 8388610
 | |
|    echo "{\"shelf\":1,\"resource\":$ra,\"port\":\"$1\",\"current_flags\":0, \"interest\":8388610}" > $data_file
 | |
|    curl $switches -H "$accept_json" -H "$content_json" -X POST  -d"@$data_file" "$url/cli-json/set_port"
 | |
|    sleep 1
 | |
|    for try in `seq 1 100`; do
 | |
|       echo "{\"shelf\":1,\"resource\":$ra,\"port\":\"$1\"}" > $data_file
 | |
|       #Jurl -d"@$data_file" "$url/cli-json/nc_show_ports"
 | |
|       curl $switches -H "$accept_json" -H "$content_json" -X POST -d"@$data_file" "$url/cli-json/nc_show_ports"
 | |
|       sleep 0.5
 | |
|       curl $switches "$url/port/1/$ra/$1?fields=alias,ip,down"
 | |
|       json_pp < $result || cat $result
 | |
|       grep '"down".*false' $result && break || :
 | |
|    done
 | |
| }
 | |
| 
 | |
| function CxToggle() {
 | |
|    echo "{\"test_mgr\":\"all\",\"cx_name\":\"$1\",\"cx_state\":\"$2\"}" > $data_file
 | |
|    cat $data_file
 | |
|    Kuurl $switches -H "$accept_json" -H "$content_json" -X POST  -d"@$data_file" "$url/cli-json/set_cx_state"
 | |
| }
 | |
| 
 | |
| function CxCreate() { # alias, port
 | |
|    echo "{\"alias\":\"$1-A\",\"shelf\":1,\"resource\":$ra,\"port\":\"$2\",\"type\":\"lf_udp\",\"ip_port\":\"AUTO\",\"is_rate_bursty\":\"NO\",\"min_rate\":164000,\"min_pkt\":-1,\"max_pkt\":0}" > $data_file
 | |
|    cat $data_file
 | |
|    Kuurl $switches -H "$accept_json" -H "$content_json" -X POST  -d"@$data_file" "$url/cli-json/add_endp"
 | |
| 
 | |
|    echo "{\"alias\":\"$1-B\",\"shelf\":1,\"resource\":$rb,\"port\":\"b2000\",\"type\":\"lf_udp\",\"ip_port\":\"AUTO\",\"is_rate_bursty\":\"NO\",\"min_rate\":64000,\"min_pkt\":-1,\"max_pkt\":0}" > $data_file
 | |
|    cat $data_file
 | |
|    Kuurl $switches -H "$accept_json" -H "$content_json" -X POST  -d"@$data_file" "$url/cli-json/add_endp"
 | |
| 
 | |
|    echo "{\"alias\":\"$1\",\"test_mgr\":\"default_tm\",\"tx_endp\":\"$1-A\",\"rx_endp\":\"$1-B\"}" > $data_file
 | |
|    cat $data_file
 | |
|    Kuurl $switches -H "$accept_json" -H "$content_json" -X POST  -d"@$data_file" "$url/cli-json/add_cx"
 | |
| 
 | |
|    echo "{\"endpoint\":\"$1-A\"}" > $data_file
 | |
|    Kuurl $switches -H "$accept_json" -H "$content_json" -X POST  -d"@$data_file" "$url/cli-json/nc_show_endpoints"
 | |
| 
 | |
|    echo "{\"endpoint\":\"$1-B\"}" > $data_file
 | |
|    Kuurl $switches -H "$accept_json" -H "$content_json" -X POST  -d"@$data_file" "$url/cli-json/nc_show_endpoints"
 | |
| }
 | |
| 
 | |
| # create some cx
 | |
| for eidcx in "${series[@]}" ; do
 | |
|    CxCreate "udp-$eidcx" "vsta$eidcx"
 | |
|    sleep 1
 | |
|    Kuurl $switches  -H "$accept_json" "$url/endp/udp-$eidcx-A?fields=name,run"
 | |
|    Kuurl $switches  -H "$accept_json" "$url/endp/udp-$eidcx-B?fields=name,run"
 | |
|    Kuurl $switches  -H "$accept_json" "$url/cx/udp-$eidcx?fields=name,state"
 | |
| done
 | |
| 
 | |
| sleep 4
 | |
| for try in 1 2; do
 | |
|    for eidcx in "${series[@]}" ; do
 | |
|       sleep 1
 | |
|       CxToggle "udp-$eidcx" "STOPPED"
 | |
|       Kuurl $switches  -H "$accept_json" "$url/endp/udp-$eidcx-A?fields=name,run"
 | |
|       Kuurl $switches  -H "$accept_json" "$url/endp/udp-$eidcx-B?fields=name,run"
 | |
|       Kuurl $switches  -H "$accept_json" "$url/cx/udp-$eidcx?fields=name,state"
 | |
|    done
 | |
|    for sta in "${series[@]}"; do
 | |
|       PortDown "vsta$sta"
 | |
|    done
 | |
|    sleep 5
 | |
|    for sta in "${series[@]}"; do
 | |
|       PortUp "vsta$sta"
 | |
|    done
 | |
|    sleep 5
 | |
|    for eidcx in "${series[@]}" ; do
 | |
|       sleep 1
 | |
|       CxToggle "udp-$eidcx" "RUNNING"
 | |
|       Kuurl $switches  -H "$accept_json" "$url/endp/udp-$eidcx-A?fields=name,run"
 | |
|       Kuurl $switches  -H "$accept_json" "$url/endp/udp-$eidcx-B?fields=name,run"
 | |
|       Kuurl $switches  -H "$accept_json" "$url/cx/udp-$eidcx?fields=name,state"
 | |
|    done
 | |
|    sleep 20
 | |
| done
 | |
| echo "DONE"
 | |
| # | 
