Loading src/tests/ryu-openflow/.gitlab-ci.yml +99 −47 Original line number Original line Diff line number Diff line Loading @@ -246,7 +246,7 @@ end2end_test ryu-openflow: --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-onboarding.sh "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-onboarding.sh # Dump configuration of the switches (OpenFlow rules configured) (before configure IETF service) # Dump configuration of the switches (OpenFlow rules configured) (before configure IETF L3VPN services) - docker exec mininet bash -c "ovs-vsctl show" - docker exec mininet bash -c "ovs-vsctl show" - docker exec mininet ovs-ofctl dump-flows s1 - docker exec mininet ovs-ofctl dump-flows s1 - docker exec mininet ovs-ofctl dump-flows s2 - docker exec mininet ovs-ofctl dump-flows s2 Loading @@ -268,14 +268,14 @@ end2end_test ryu-openflow: - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' # Run end-to-end test: configure service IETF # Run end-to-end test: configure IETF L3VPN service between h1-h3 - > - > docker run -t --rm --name ${TEST_NAME} --network=host docker run -t --rm --name ${TEST_NAME} --network=host --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-service-ietf-create.sh "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-service-ietf-create-h1-h3.sh # Dump configuration of the switches (OpenFlow rules configured) (after configure IETF service) # Dump configuration of the switches (OpenFlow rules configured) (after configure IETF L3VPN service between h1-h3) - docker exec mininet bash -c "ovs-vsctl show" - docker exec mininet bash -c "ovs-vsctl show" - docker exec mininet ovs-ofctl dump-flows s1 - docker exec mininet ovs-ofctl dump-flows s1 - docker exec mininet ovs-ofctl dump-flows s2 - docker exec mininet ovs-ofctl dump-flows s2 Loading @@ -283,7 +283,7 @@ end2end_test ryu-openflow: - docker exec mininet ovs-ofctl dump-flows s4 - docker exec mininet ovs-ofctl dump-flows s4 - docker exec mininet ovs-ofctl dump-flows s5 - docker exec mininet ovs-ofctl dump-flows s5 # Run end-to-end test: test connectivity with ping # Run end-to-end test: test connectivity with ping (h1-h3 should work, rest should not work) - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' Loading @@ -297,34 +297,14 @@ end2end_test ryu-openflow: - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' ## Run end-to-end test: test connectivity with ping # Run end-to-end test: configure IETF L3VPN service between h2-h4 #- export TEST1_10=$(containerlab exec --name ryu-openflow --label clab-node-name=dc1 --cmd 'ping -n -c3 172.16.1.10' --format json) - > #- echo $TEST1_10 docker run -t --rm --name ${TEST_NAME} --network=host #- echo $TEST1_10 | grep -E '3 packets transmitted, 3 received, 0\% packet loss' --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" #- export TEST1_1=$(containerlab exec --name ryu-openflow --label clab-node-name=dc1 --cmd 'ping -n -c3 172.16.1.1' --format json) --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" #- echo $TEST1_1 "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-service-ietf-create-h2-h4.sh #- echo $TEST1_1 | grep -E '3 packets transmitted, 3 received, 0\% packet loss' #- export TEST2_1=$(containerlab exec --name ryu-openflow --label clab-node-name=dc1 --cmd 'ping -n -c3 172.16.2.1' --format json) #- echo $TEST2_1 #- echo $TEST2_1 | grep -E '3 packets transmitted, 3 received, 0\% packet loss' #- export TEST2_10=$(containerlab exec --name ryu-openflow --label clab-node-name=dc1 --cmd 'ping -n -c3 172.16.2.10' --format json) #- echo $TEST2_10 #- echo $TEST2_10 | grep -E '3 packets transmitted, 3 received, 0\% packet loss' #- export TEST3_1=$(containerlab exec --name ryu-openflow --label clab-node-name=dc1 --cmd 'ping -n -c3 172.16.3.1' --format json) #- echo $TEST3_1 #- echo $TEST3_1 | grep -E '3 packets transmitted, 0 received, 100\% packet loss' #- export TEST3_10=$(containerlab exec --name ryu-openflow --label clab-node-name=dc1 --cmd 'ping -n -c3 172.16.3.10' --format json) #- echo $TEST3_10 #- echo $TEST3_10 | grep -E '3 packets transmitted, 0 received, 100\% packet loss' # # Run end-to-end test: deconfigure service IETF # - > # docker run -t --rm --name ${TEST_NAME} --network=host # --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" # --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" # "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-service-ietf-remove.sh # Dump configuration of the switches (OpenFlow rules configured) (after deconfigure IETF service) # Dump configuration of the switches (OpenFlow rules configured) (after configure IETF L3VPN service between h2-h4) - docker exec mininet bash -c "ovs-vsctl show" - docker exec mininet bash -c "ovs-vsctl show" - docker exec mininet ovs-ofctl dump-flows s1 - docker exec mininet ovs-ofctl dump-flows s1 - docker exec mininet ovs-ofctl dump-flows s2 - docker exec mininet ovs-ofctl dump-flows s2 Loading @@ -332,12 +312,84 @@ end2end_test ryu-openflow: - docker exec mininet ovs-ofctl dump-flows s4 - docker exec mininet ovs-ofctl dump-flows s4 - docker exec mininet ovs-ofctl dump-flows s5 - docker exec mininet ovs-ofctl dump-flows s5 # # Run end-to-end test: cleanup scenario # Run end-to-end test: test connectivity with ping (h1-h3 should work, h2-h4 should work, rest should not work) # - > - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' # docker run -t --rm --name ${TEST_NAME} --network=host - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' # --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' # --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" - curl -s 'http://172.254.252.11:5000/ping?source=h2&target=h1&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' # "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-cleanup.sh - curl -s 'http://172.254.252.11:5000/ping?source=h2&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h2&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h3&target=h1&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h3&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h3&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h1&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' # Run end-to-end test: deconfigure IETF L3VPN service h1-h3 - > docker run -t --rm --name ${TEST_NAME} --network=host --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-service-ietf-remove-h1-h3.sh # Dump configuration of the switches (OpenFlow rules configured) (after deconfigure IETF L3VPN service between h1-h3) - docker exec mininet bash -c "ovs-vsctl show" - docker exec mininet ovs-ofctl dump-flows s1 - docker exec mininet ovs-ofctl dump-flows s2 - docker exec mininet ovs-ofctl dump-flows s3 - docker exec mininet ovs-ofctl dump-flows s4 - docker exec mininet ovs-ofctl dump-flows s5 # Run end-to-end test: test connectivity with ping (h2-h4 should work, rest should not work) - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h2&target=h1&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h2&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h2&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h3&target=h1&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h3&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h3&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h1&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' # Run end-to-end test: deconfigure IETF L3VPN service h2-h4 - > docker run -t --rm --name ${TEST_NAME} --network=host --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-service-ietf-remove-h2-h4.sh # Dump configuration of the switches (OpenFlow rules configured) (after deconfigure IETF L3VPN service between h2-h4) - docker exec mininet bash -c "ovs-vsctl show" - docker exec mininet ovs-ofctl dump-flows s1 - docker exec mininet ovs-ofctl dump-flows s2 - docker exec mininet ovs-ofctl dump-flows s3 - docker exec mininet ovs-ofctl dump-flows s4 - docker exec mininet ovs-ofctl dump-flows s5 # Run end-to-end test: test no connectivity with ping - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h2&target=h1&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h2&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h2&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h3&target=h1&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h3&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h3&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h1&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' # Run end-to-end test: cleanup scenario - > docker run -t --rm --name ${TEST_NAME} --network=host --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-cleanup.sh after_script: after_script: # Dump configuration of the switches (OpenFlow rules configured) (on after_script) # Dump configuration of the switches (OpenFlow rules configured) (on after_script) Loading @@ -353,16 +405,16 @@ end2end_test ryu-openflow: - docker logs mininet - docker logs mininet - docker logs ryu - docker logs ryu # # Dump TeraFlowSDN component logs # Dump TeraFlowSDN component logs # - source src/tests/${TEST_NAME}/deploy_specs.sh - source src/tests/${TEST_NAME}/deploy_specs.sh # - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server || true - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server || true # - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server || true - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server || true # - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/pathcompservice -c frontend || true - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/pathcompservice -c frontend || true # - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice -c server || true - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice -c server || true # - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server || true - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server || true # Clean up # Clean up # - kubectl delete namespaces tfs || true - kubectl delete namespaces tfs || true - docker ps --all --quiet | xargs --no-run-if-empty docker stop - docker ps --all --quiet | xargs --no-run-if-empty docker stop - docker container prune --force - docker container prune --force - docker ps --all --quiet | xargs --no-run-if-empty docker rm --force - docker ps --all --quiet | xargs --no-run-if-empty docker rm --force Loading Loading
src/tests/ryu-openflow/.gitlab-ci.yml +99 −47 Original line number Original line Diff line number Diff line Loading @@ -246,7 +246,7 @@ end2end_test ryu-openflow: --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-onboarding.sh "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-onboarding.sh # Dump configuration of the switches (OpenFlow rules configured) (before configure IETF service) # Dump configuration of the switches (OpenFlow rules configured) (before configure IETF L3VPN services) - docker exec mininet bash -c "ovs-vsctl show" - docker exec mininet bash -c "ovs-vsctl show" - docker exec mininet ovs-ofctl dump-flows s1 - docker exec mininet ovs-ofctl dump-flows s1 - docker exec mininet ovs-ofctl dump-flows s2 - docker exec mininet ovs-ofctl dump-flows s2 Loading @@ -268,14 +268,14 @@ end2end_test ryu-openflow: - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' # Run end-to-end test: configure service IETF # Run end-to-end test: configure IETF L3VPN service between h1-h3 - > - > docker run -t --rm --name ${TEST_NAME} --network=host docker run -t --rm --name ${TEST_NAME} --network=host --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-service-ietf-create.sh "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-service-ietf-create-h1-h3.sh # Dump configuration of the switches (OpenFlow rules configured) (after configure IETF service) # Dump configuration of the switches (OpenFlow rules configured) (after configure IETF L3VPN service between h1-h3) - docker exec mininet bash -c "ovs-vsctl show" - docker exec mininet bash -c "ovs-vsctl show" - docker exec mininet ovs-ofctl dump-flows s1 - docker exec mininet ovs-ofctl dump-flows s1 - docker exec mininet ovs-ofctl dump-flows s2 - docker exec mininet ovs-ofctl dump-flows s2 Loading @@ -283,7 +283,7 @@ end2end_test ryu-openflow: - docker exec mininet ovs-ofctl dump-flows s4 - docker exec mininet ovs-ofctl dump-flows s4 - docker exec mininet ovs-ofctl dump-flows s5 - docker exec mininet ovs-ofctl dump-flows s5 # Run end-to-end test: test connectivity with ping # Run end-to-end test: test connectivity with ping (h1-h3 should work, rest should not work) - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' Loading @@ -297,34 +297,14 @@ end2end_test ryu-openflow: - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' ## Run end-to-end test: test connectivity with ping # Run end-to-end test: configure IETF L3VPN service between h2-h4 #- export TEST1_10=$(containerlab exec --name ryu-openflow --label clab-node-name=dc1 --cmd 'ping -n -c3 172.16.1.10' --format json) - > #- echo $TEST1_10 docker run -t --rm --name ${TEST_NAME} --network=host #- echo $TEST1_10 | grep -E '3 packets transmitted, 3 received, 0\% packet loss' --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" #- export TEST1_1=$(containerlab exec --name ryu-openflow --label clab-node-name=dc1 --cmd 'ping -n -c3 172.16.1.1' --format json) --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" #- echo $TEST1_1 "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-service-ietf-create-h2-h4.sh #- echo $TEST1_1 | grep -E '3 packets transmitted, 3 received, 0\% packet loss' #- export TEST2_1=$(containerlab exec --name ryu-openflow --label clab-node-name=dc1 --cmd 'ping -n -c3 172.16.2.1' --format json) #- echo $TEST2_1 #- echo $TEST2_1 | grep -E '3 packets transmitted, 3 received, 0\% packet loss' #- export TEST2_10=$(containerlab exec --name ryu-openflow --label clab-node-name=dc1 --cmd 'ping -n -c3 172.16.2.10' --format json) #- echo $TEST2_10 #- echo $TEST2_10 | grep -E '3 packets transmitted, 3 received, 0\% packet loss' #- export TEST3_1=$(containerlab exec --name ryu-openflow --label clab-node-name=dc1 --cmd 'ping -n -c3 172.16.3.1' --format json) #- echo $TEST3_1 #- echo $TEST3_1 | grep -E '3 packets transmitted, 0 received, 100\% packet loss' #- export TEST3_10=$(containerlab exec --name ryu-openflow --label clab-node-name=dc1 --cmd 'ping -n -c3 172.16.3.10' --format json) #- echo $TEST3_10 #- echo $TEST3_10 | grep -E '3 packets transmitted, 0 received, 100\% packet loss' # # Run end-to-end test: deconfigure service IETF # - > # docker run -t --rm --name ${TEST_NAME} --network=host # --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" # --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" # "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-service-ietf-remove.sh # Dump configuration of the switches (OpenFlow rules configured) (after deconfigure IETF service) # Dump configuration of the switches (OpenFlow rules configured) (after configure IETF L3VPN service between h2-h4) - docker exec mininet bash -c "ovs-vsctl show" - docker exec mininet bash -c "ovs-vsctl show" - docker exec mininet ovs-ofctl dump-flows s1 - docker exec mininet ovs-ofctl dump-flows s1 - docker exec mininet ovs-ofctl dump-flows s2 - docker exec mininet ovs-ofctl dump-flows s2 Loading @@ -332,12 +312,84 @@ end2end_test ryu-openflow: - docker exec mininet ovs-ofctl dump-flows s4 - docker exec mininet ovs-ofctl dump-flows s4 - docker exec mininet ovs-ofctl dump-flows s5 - docker exec mininet ovs-ofctl dump-flows s5 # # Run end-to-end test: cleanup scenario # Run end-to-end test: test connectivity with ping (h1-h3 should work, h2-h4 should work, rest should not work) # - > - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' # docker run -t --rm --name ${TEST_NAME} --network=host - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' # --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' # --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" - curl -s 'http://172.254.252.11:5000/ping?source=h2&target=h1&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' # "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-cleanup.sh - curl -s 'http://172.254.252.11:5000/ping?source=h2&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h2&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h3&target=h1&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h3&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h3&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h1&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' # Run end-to-end test: deconfigure IETF L3VPN service h1-h3 - > docker run -t --rm --name ${TEST_NAME} --network=host --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-service-ietf-remove-h1-h3.sh # Dump configuration of the switches (OpenFlow rules configured) (after deconfigure IETF L3VPN service between h1-h3) - docker exec mininet bash -c "ovs-vsctl show" - docker exec mininet ovs-ofctl dump-flows s1 - docker exec mininet ovs-ofctl dump-flows s2 - docker exec mininet ovs-ofctl dump-flows s3 - docker exec mininet ovs-ofctl dump-flows s4 - docker exec mininet ovs-ofctl dump-flows s5 # Run end-to-end test: test connectivity with ping (h2-h4 should work, rest should not work) - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h2&target=h1&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h2&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h2&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h3&target=h1&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h3&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h3&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h1&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' # Run end-to-end test: deconfigure IETF L3VPN service h2-h4 - > docker run -t --rm --name ${TEST_NAME} --network=host --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-service-ietf-remove-h2-h4.sh # Dump configuration of the switches (OpenFlow rules configured) (after deconfigure IETF L3VPN service between h2-h4) - docker exec mininet bash -c "ovs-vsctl show" - docker exec mininet ovs-ofctl dump-flows s1 - docker exec mininet ovs-ofctl dump-flows s2 - docker exec mininet ovs-ofctl dump-flows s3 - docker exec mininet ovs-ofctl dump-flows s4 - docker exec mininet ovs-ofctl dump-flows s5 # Run end-to-end test: test no connectivity with ping - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h1&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h2&target=h1&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h2&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h2&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h3&target=h1&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h3&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h3&target=h4&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h1&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h2&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' - curl -s 'http://172.254.252.11:5000/ping?source=h4&target=h3&count=3' | grep -E '3 packets transmitted, 0 received, 100\% packet loss' # Run end-to-end test: cleanup scenario - > docker run -t --rm --name ${TEST_NAME} --network=host --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" "${CI_REGISTRY_IMAGE}/${TEST_NAME}-test:${IMAGE_TAG}" /var/teraflow/run-cleanup.sh after_script: after_script: # Dump configuration of the switches (OpenFlow rules configured) (on after_script) # Dump configuration of the switches (OpenFlow rules configured) (on after_script) Loading @@ -353,16 +405,16 @@ end2end_test ryu-openflow: - docker logs mininet - docker logs mininet - docker logs ryu - docker logs ryu # # Dump TeraFlowSDN component logs # Dump TeraFlowSDN component logs # - source src/tests/${TEST_NAME}/deploy_specs.sh - source src/tests/${TEST_NAME}/deploy_specs.sh # - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server || true - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server || true # - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server || true - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server || true # - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/pathcompservice -c frontend || true - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/pathcompservice -c frontend || true # - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice -c server || true - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice -c server || true # - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server || true - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server || true # Clean up # Clean up # - kubectl delete namespaces tfs || true - kubectl delete namespaces tfs || true - docker ps --all --quiet | xargs --no-run-if-empty docker stop - docker ps --all --quiet | xargs --no-run-if-empty docker stop - docker container prune --force - docker container prune --force - docker ps --all --quiet | xargs --no-run-if-empty docker rm --force - docker ps --all --quiet | xargs --no-run-if-empty docker rm --force Loading