Loading src/tests/.gitlab-ci.yml +12 −12 Original line number Diff line number Diff line Loading @@ -14,18 +14,18 @@ # include the individual .gitlab-ci.yml of each end-to-end integration test include: # - local: '/src/tests/ofc22/.gitlab-ci.yml' # #- local: '/src/tests/oeccpsc22/.gitlab-ci.yml' # - local: '/src/tests/ecoc22/.gitlab-ci.yml' # #- local: '/src/tests/nfvsdn22/.gitlab-ci.yml' # #- local: '/src/tests/ofc23/.gitlab-ci.yml' # - local: '/src/tests/ofc24/.gitlab-ci.yml' # - local: '/src/tests/eucnc24/.gitlab-ci.yml' # #- local: '/src/tests/ofc25-camara-agg-net-controller/.gitlab-ci.yml' # #- local: '/src/tests/ofc25-camara-e2e-controller/.gitlab-ci.yml' # #- local: '/src/tests/ofc25/.gitlab-ci.yml' # #- local: '/src/tests/ryu-openflow/.gitlab-ci.yml' - local: '/src/tests/ofc22/.gitlab-ci.yml' #- local: '/src/tests/oeccpsc22/.gitlab-ci.yml' - local: '/src/tests/ecoc22/.gitlab-ci.yml' #- local: '/src/tests/nfvsdn22/.gitlab-ci.yml' #- local: '/src/tests/ofc23/.gitlab-ci.yml' - local: '/src/tests/ofc24/.gitlab-ci.yml' - local: '/src/tests/eucnc24/.gitlab-ci.yml' #- local: '/src/tests/ofc25-camara-agg-net-controller/.gitlab-ci.yml' #- local: '/src/tests/ofc25-camara-e2e-controller/.gitlab-ci.yml' #- local: '/src/tests/ofc25/.gitlab-ci.yml' #- local: '/src/tests/ryu-openflow/.gitlab-ci.yml' - local: '/src/tests/qkd_end2end/.gitlab-ci.yml' # - local: '/src/tests/tools/mock_tfs_nbi_dependencies/.gitlab-ci.yml' - local: '/src/tests/tools/mock_tfs_nbi_dependencies/.gitlab-ci.yml' - local: '/src/tests/tools/mock_qkd_node/.gitlab-ci.yml' src/tests/ecoc22/.gitlab-ci.yml +63 −2 Original line number Diff line number Diff line Loading @@ -45,13 +45,61 @@ end2end_test ecoc22: #needs: # - build ecoc22 before_script: # Do Docker cleanup - docker ps --all --quiet | xargs --no-run-if-empty docker stop - docker container prune --force - docker ps --all --quiet | xargs --no-run-if-empty docker rm --force - docker image prune --force - docker network prune --force - docker volume prune --all --force - docker buildx prune --force # Check MicroK8s is ready - microk8s status --wait-ready # Always delete Kubernetes namespaces - export K8S_NAMESPACES=$(kubectl get namespace -o jsonpath='{.items[*].metadata.name}') - echo "K8S_NAMESPACES=${K8S_NAMESPACES}" - export OLD_NATS_NAMESPACES=$(echo "${K8S_NAMESPACES}" | tr ' ' '\n' | grep -E '^nats') - echo "OLD_NATS_NAMESPACES=${OLD_NATS_NAMESPACES}" - > for ns in ${OLD_NATS_NAMESPACES}; do if [[ "$ns" == nats* ]]; then helm3 uninstall "$ns" -n "$ns" fi done - export OLD_NAMESPACES=$(echo "${K8S_NAMESPACES}" | tr ' ' '\n' | grep -E '^(tfs|crdb|qdb|kafka|nats)') - echo "OLD_NAMESPACES=${OLD_NAMESPACES}" - kubectl delete namespace ${OLD_NAMESPACES} || true # Clean-up Kubernetes Failed pods - > kubectl get pods --all-namespaces --no-headers --field-selector=status.phase=Failed -o custom-columns=NAMESPACE:.metadata.namespace,NAME:.metadata.name | xargs --no-run-if-empty --max-args=2 kubectl delete pod --namespace # Login Docker repository - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: # Download Docker image to run the test - docker pull "${CI_REGISTRY_IMAGE}/${TEST_NAME}:latest" # Check MicroK8s is ready - microk8s status --wait-ready - LOOP_MAX_ATTEMPTS=10 - LOOP_COUNTER=0 - > while ! kubectl get pods --all-namespaces &> /dev/null; do printf "%c" "." sleep 1 LOOP_COUNTER=$((LOOP_COUNTER + 1)) if [ "$LOOP_COUNTER" -ge "$LOOP_MAX_ATTEMPTS" ]; then echo "Max attempts reached, exiting the loop." exit 1 fi done - kubectl get pods --all-namespaces # Configure TeraFlowSDN deployment Loading @@ -62,6 +110,7 @@ end2end_test ecoc22: #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/serviceservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/sliceservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/nbiservice.yaml - source src/tests/${TEST_NAME}/deploy_specs.sh #- export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" #- export TFS_SKIP_BUILD="YES" Loading @@ -88,7 +137,9 @@ end2end_test ecoc22: --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}:latest after_script: # Dump TeraFlowSDN component logs - source src/tests/${TEST_NAME}/deploy_specs.sh - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server Loading @@ -96,8 +147,18 @@ end2end_test ecoc22: - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/sliceservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi # Clean up - docker rm -f ${TEST_NAME} || true - kubectl delete namespaces tfs || true - docker rm --force qkd-node-01 qkd-node-02 qkd-node-03 - docker network rm --force qkd-node-br - docker volume prune --force - docker image prune --force # Clean old docker images - docker images --filter="dangling=true" --quiet | xargs -r docker rmi #coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' Loading src/tests/eucnc24/.gitlab-ci.yml +56 −6 Original line number Diff line number Diff line Loading @@ -45,16 +45,64 @@ end2end_test eucnc24: #needs: # - build eucnc24 before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - docker rm -f ${TEST_NAME} || true # Cleanup old ContainerLab scenarios - containerlab destroy --all --cleanup || true # Do Docker cleanup - docker ps --all --quiet | xargs --no-run-if-empty docker stop - docker container prune --force - docker ps --all --quiet | xargs --no-run-if-empty docker rm --force - docker image prune --force - docker network prune --force - docker volume prune --all --force - docker buildx prune --force # Check MicroK8s is ready - microk8s status --wait-ready # Always delete Kubernetes namespaces - export K8S_NAMESPACES=$(kubectl get namespace -o jsonpath='{.items[*].metadata.name}') - echo "K8S_NAMESPACES=${K8S_NAMESPACES}" - export OLD_NATS_NAMESPACES=$(echo "${K8S_NAMESPACES}" | tr ' ' '\n' | grep -E '^nats') - echo "OLD_NATS_NAMESPACES=${OLD_NATS_NAMESPACES}" - > for ns in ${OLD_NATS_NAMESPACES}; do if [[ "$ns" == nats* ]]; then helm3 uninstall "$ns" -n "$ns" fi done - export OLD_NAMESPACES=$(echo "${K8S_NAMESPACES}" | tr ' ' '\n' | grep -E '^(tfs|crdb|qdb|kafka|nats)') - echo "OLD_NAMESPACES=${OLD_NAMESPACES}" - kubectl delete namespace ${OLD_NAMESPACES} || true # Clean-up Kubernetes Failed pods - > kubectl get pods --all-namespaces --no-headers --field-selector=status.phase=Failed -o custom-columns=NAMESPACE:.metadata.namespace,NAME:.metadata.name | xargs --no-run-if-empty --max-args=2 kubectl delete pod --namespace # Login Docker repository - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: # Download Docker image to run the test - docker pull "${CI_REGISTRY_IMAGE}/${TEST_NAME}:latest" # Check MicroK8s is ready - microk8s status --wait-ready - LOOP_MAX_ATTEMPTS=10 - LOOP_COUNTER=0 - > while ! kubectl get pods --all-namespaces &> /dev/null; do printf "%c" "." sleep 1 LOOP_COUNTER=$((LOOP_COUNTER + 1)) if [ "$LOOP_COUNTER" -ge "$LOOP_MAX_ATTEMPTS" ]; then echo "Max attempts reached, exiting the loop." exit 1 fi done - kubectl get pods --all-namespaces # Deploy ContainerLab Scenario Loading Loading @@ -83,7 +131,6 @@ end2end_test eucnc24: #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="frontend").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/pathcompservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/serviceservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/nbiservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/monitoringservice.yaml - source src/tests/${TEST_NAME}/deploy_specs.sh #- export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" Loading @@ -95,7 +142,7 @@ end2end_test eucnc24: - ./deploy/crdb.sh - ./deploy/nats.sh - ./deploy/kafka.sh - ./deploy/qdb.sh #- ./deploy/qdb.sh - ./deploy/tfs.sh - ./deploy/show.sh Loading Loading @@ -233,9 +280,8 @@ end2end_test eucnc24: - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/pathcompservice -c frontend - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server #- kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/monitoringservice -c server # Destroy Scenario # Clean up - docker rm -f ${TEST_NAME} || true - RUNNER_PATH=`pwd` #- cd $PWD/src/tests/${TEST_NAME} Loading @@ -244,6 +290,10 @@ end2end_test eucnc24: - sudo rm -rf clab-eucnc24/ .eucnc24.clab.yml.bak || true - cd $RUNNER_PATH - kubectl delete namespaces tfs || true - docker rm --force qkd-node-01 qkd-node-02 qkd-node-03 - docker network rm --force qkd-node-br - docker volume prune --force - docker image prune --force # Clean old docker images - docker images --filter="dangling=true" --quiet | xargs -r docker rmi Loading src/tests/ofc22/.gitlab-ci.yml +62 −2 Original line number Diff line number Diff line Loading @@ -45,13 +45,61 @@ end2end_test ofc22: #needs: # - build ofc22 before_script: # Do Docker cleanup - docker ps --all --quiet | xargs --no-run-if-empty docker stop - docker container prune --force - docker ps --all --quiet | xargs --no-run-if-empty docker rm --force - docker image prune --force - docker network prune --force - docker volume prune --all --force - docker buildx prune --force # Check MicroK8s is ready - microk8s status --wait-ready # Always delete Kubernetes namespaces - export K8S_NAMESPACES=$(kubectl get namespace -o jsonpath='{.items[*].metadata.name}') - echo "K8S_NAMESPACES=${K8S_NAMESPACES}" - export OLD_NATS_NAMESPACES=$(echo "${K8S_NAMESPACES}" | tr ' ' '\n' | grep -E '^nats') - echo "OLD_NATS_NAMESPACES=${OLD_NATS_NAMESPACES}" - > for ns in ${OLD_NATS_NAMESPACES}; do if [[ "$ns" == nats* ]]; then helm3 uninstall "$ns" -n "$ns" fi done - export OLD_NAMESPACES=$(echo "${K8S_NAMESPACES}" | tr ' ' '\n' | grep -E '^(tfs|crdb|qdb|kafka|nats)') - echo "OLD_NAMESPACES=${OLD_NAMESPACES}" - kubectl delete namespace ${OLD_NAMESPACES} || true # Clean-up Kubernetes Failed pods - > kubectl get pods --all-namespaces --no-headers --field-selector=status.phase=Failed -o custom-columns=NAMESPACE:.metadata.namespace,NAME:.metadata.name | xargs --no-run-if-empty --max-args=2 kubectl delete pod --namespace # Login Docker repository - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: # Download Docker image to run the test - docker pull "${CI_REGISTRY_IMAGE}/${TEST_NAME}:latest" # Check MicroK8s is ready - microk8s status --wait-ready - LOOP_MAX_ATTEMPTS=10 - LOOP_COUNTER=0 - > while ! kubectl get pods --all-namespaces &> /dev/null; do printf "%c" "." sleep 1 LOOP_COUNTER=$((LOOP_COUNTER + 1)) if [ "$LOOP_COUNTER" -ge "$LOOP_MAX_ATTEMPTS" ]; then echo "Max attempts reached, exiting the loop." exit 1 fi done - kubectl get pods --all-namespaces # Configure TeraFlowSDN deployment Loading @@ -63,6 +111,7 @@ end2end_test ofc22: #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/sliceservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/nbiservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/monitoringservice.yaml - source src/tests/${TEST_NAME}/deploy_specs.sh #- export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" #- export TFS_SKIP_BUILD="YES" Loading Loading @@ -90,6 +139,7 @@ end2end_test ofc22: --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest after_script: # Dump TeraFlowSDN component logs - source src/tests/${TEST_NAME}/deploy_specs.sh - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server Loading @@ -99,8 +149,18 @@ end2end_test ofc22: - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/monitoringservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/ztpservice -c ztpservice - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi # Clean up - docker rm -f ${TEST_NAME} || true - kubectl delete namespaces tfs || true - docker rm --force qkd-node-01 qkd-node-02 qkd-node-03 - docker network rm --force qkd-node-br - docker volume prune --force - docker image prune --force # Clean old docker images - docker images --filter="dangling=true" --quiet | xargs -r docker rmi #coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' Loading src/tests/ofc24/.gitlab-ci.yml +56 −7 Original line number Diff line number Diff line Loading @@ -45,9 +45,42 @@ end2end_test ofc24: #needs: # - build ofc24 before_script: # Do Docker cleanup - docker ps --all --quiet | xargs --no-run-if-empty docker stop - docker container prune --force - docker ps --all --quiet | xargs --no-run-if-empty docker rm --force - docker image prune --force - docker network prune --force - docker volume prune --all --force - docker buildx prune --force # Check MicroK8s is ready - microk8s status --wait-ready # Always delete Kubernetes namespaces - export K8S_NAMESPACES=$(kubectl get namespace -o jsonpath='{.items[*].metadata.name}') - echo "K8S_NAMESPACES=${K8S_NAMESPACES}" - export OLD_NATS_NAMESPACES=$(echo "${K8S_NAMESPACES}" | tr ' ' '\n' | grep -E '^nats') - echo "OLD_NATS_NAMESPACES=${OLD_NATS_NAMESPACES}" - > for ns in ${OLD_NATS_NAMESPACES}; do if [[ "$ns" == nats* ]]; then helm3 uninstall "$ns" -n "$ns" fi done - export OLD_NAMESPACES=$(echo "${K8S_NAMESPACES}" | tr ' ' '\n' | grep -E '^(tfs|crdb|qdb|kafka|nats)') - echo "OLD_NAMESPACES=${OLD_NAMESPACES}" - kubectl delete namespace ${OLD_NAMESPACES} || true # Clean-up Kubernetes Failed pods - > kubectl get pods --all-namespaces --no-headers --field-selector=status.phase=Failed -o custom-columns=NAMESPACE:.metadata.namespace,NAME:.metadata.name | xargs --no-run-if-empty --max-args=2 kubectl delete pod --namespace # Login Docker repository - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - docker rm -f na-t1 na-t2 na-r1 na-r2 - docker network rm -f na-br script: # Download Docker image to run the test Loading @@ -57,6 +90,18 @@ end2end_test ofc24: # Check MicroK8s is ready - microk8s status --wait-ready - LOOP_MAX_ATTEMPTS=10 - LOOP_COUNTER=0 - > while ! kubectl get pods --all-namespaces &> /dev/null; do printf "%c" "." sleep 1 LOOP_COUNTER=$((LOOP_COUNTER + 1)) if [ "$LOOP_COUNTER" -ge "$LOOP_MAX_ATTEMPTS" ]; then echo "Max attempts reached, exiting the loop." exit 1 fi done - kubectl get pods --all-namespaces # Deploy Optical Device Node Agents Loading Loading @@ -104,6 +149,7 @@ end2end_test ofc24: #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/serviceservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/sliceservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/nbiservice.yaml - source src/tests/${TEST_NAME}/deploy_specs.sh #- export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" #- export TFS_SKIP_BUILD="YES" Loading Loading @@ -140,7 +186,6 @@ end2end_test ofc24: - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/opticalcontrollerservice -c server - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi # Dump Optical Device Node Agents container status and logs - docker ps -a Loading @@ -149,9 +194,13 @@ end2end_test ofc24: - docker logs na-r1 - docker logs na-r2 # Destroy Optical Device Node Agents - docker rm -f na-t1 na-t2 na-r1 na-r2 - docker network rm -f na-br # Clean up - docker rm -f ${TEST_NAME} || true - kubectl delete namespaces tfs || true - docker rm --force qkd-node-01 qkd-node-02 qkd-node-03 - docker network rm --force qkd-node-br - docker volume prune --force - docker image prune --force # Clean old docker images - docker images --filter="dangling=true" --quiet | xargs -r docker rmi Loading Loading
src/tests/.gitlab-ci.yml +12 −12 Original line number Diff line number Diff line Loading @@ -14,18 +14,18 @@ # include the individual .gitlab-ci.yml of each end-to-end integration test include: # - local: '/src/tests/ofc22/.gitlab-ci.yml' # #- local: '/src/tests/oeccpsc22/.gitlab-ci.yml' # - local: '/src/tests/ecoc22/.gitlab-ci.yml' # #- local: '/src/tests/nfvsdn22/.gitlab-ci.yml' # #- local: '/src/tests/ofc23/.gitlab-ci.yml' # - local: '/src/tests/ofc24/.gitlab-ci.yml' # - local: '/src/tests/eucnc24/.gitlab-ci.yml' # #- local: '/src/tests/ofc25-camara-agg-net-controller/.gitlab-ci.yml' # #- local: '/src/tests/ofc25-camara-e2e-controller/.gitlab-ci.yml' # #- local: '/src/tests/ofc25/.gitlab-ci.yml' # #- local: '/src/tests/ryu-openflow/.gitlab-ci.yml' - local: '/src/tests/ofc22/.gitlab-ci.yml' #- local: '/src/tests/oeccpsc22/.gitlab-ci.yml' - local: '/src/tests/ecoc22/.gitlab-ci.yml' #- local: '/src/tests/nfvsdn22/.gitlab-ci.yml' #- local: '/src/tests/ofc23/.gitlab-ci.yml' - local: '/src/tests/ofc24/.gitlab-ci.yml' - local: '/src/tests/eucnc24/.gitlab-ci.yml' #- local: '/src/tests/ofc25-camara-agg-net-controller/.gitlab-ci.yml' #- local: '/src/tests/ofc25-camara-e2e-controller/.gitlab-ci.yml' #- local: '/src/tests/ofc25/.gitlab-ci.yml' #- local: '/src/tests/ryu-openflow/.gitlab-ci.yml' - local: '/src/tests/qkd_end2end/.gitlab-ci.yml' # - local: '/src/tests/tools/mock_tfs_nbi_dependencies/.gitlab-ci.yml' - local: '/src/tests/tools/mock_tfs_nbi_dependencies/.gitlab-ci.yml' - local: '/src/tests/tools/mock_qkd_node/.gitlab-ci.yml'
src/tests/ecoc22/.gitlab-ci.yml +63 −2 Original line number Diff line number Diff line Loading @@ -45,13 +45,61 @@ end2end_test ecoc22: #needs: # - build ecoc22 before_script: # Do Docker cleanup - docker ps --all --quiet | xargs --no-run-if-empty docker stop - docker container prune --force - docker ps --all --quiet | xargs --no-run-if-empty docker rm --force - docker image prune --force - docker network prune --force - docker volume prune --all --force - docker buildx prune --force # Check MicroK8s is ready - microk8s status --wait-ready # Always delete Kubernetes namespaces - export K8S_NAMESPACES=$(kubectl get namespace -o jsonpath='{.items[*].metadata.name}') - echo "K8S_NAMESPACES=${K8S_NAMESPACES}" - export OLD_NATS_NAMESPACES=$(echo "${K8S_NAMESPACES}" | tr ' ' '\n' | grep -E '^nats') - echo "OLD_NATS_NAMESPACES=${OLD_NATS_NAMESPACES}" - > for ns in ${OLD_NATS_NAMESPACES}; do if [[ "$ns" == nats* ]]; then helm3 uninstall "$ns" -n "$ns" fi done - export OLD_NAMESPACES=$(echo "${K8S_NAMESPACES}" | tr ' ' '\n' | grep -E '^(tfs|crdb|qdb|kafka|nats)') - echo "OLD_NAMESPACES=${OLD_NAMESPACES}" - kubectl delete namespace ${OLD_NAMESPACES} || true # Clean-up Kubernetes Failed pods - > kubectl get pods --all-namespaces --no-headers --field-selector=status.phase=Failed -o custom-columns=NAMESPACE:.metadata.namespace,NAME:.metadata.name | xargs --no-run-if-empty --max-args=2 kubectl delete pod --namespace # Login Docker repository - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: # Download Docker image to run the test - docker pull "${CI_REGISTRY_IMAGE}/${TEST_NAME}:latest" # Check MicroK8s is ready - microk8s status --wait-ready - LOOP_MAX_ATTEMPTS=10 - LOOP_COUNTER=0 - > while ! kubectl get pods --all-namespaces &> /dev/null; do printf "%c" "." sleep 1 LOOP_COUNTER=$((LOOP_COUNTER + 1)) if [ "$LOOP_COUNTER" -ge "$LOOP_MAX_ATTEMPTS" ]; then echo "Max attempts reached, exiting the loop." exit 1 fi done - kubectl get pods --all-namespaces # Configure TeraFlowSDN deployment Loading @@ -62,6 +110,7 @@ end2end_test ecoc22: #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/serviceservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/sliceservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/nbiservice.yaml - source src/tests/${TEST_NAME}/deploy_specs.sh #- export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" #- export TFS_SKIP_BUILD="YES" Loading @@ -88,7 +137,9 @@ end2end_test ecoc22: --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}:latest after_script: # Dump TeraFlowSDN component logs - source src/tests/${TEST_NAME}/deploy_specs.sh - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server Loading @@ -96,8 +147,18 @@ end2end_test ecoc22: - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/sliceservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi # Clean up - docker rm -f ${TEST_NAME} || true - kubectl delete namespaces tfs || true - docker rm --force qkd-node-01 qkd-node-02 qkd-node-03 - docker network rm --force qkd-node-br - docker volume prune --force - docker image prune --force # Clean old docker images - docker images --filter="dangling=true" --quiet | xargs -r docker rmi #coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' Loading
src/tests/eucnc24/.gitlab-ci.yml +56 −6 Original line number Diff line number Diff line Loading @@ -45,16 +45,64 @@ end2end_test eucnc24: #needs: # - build eucnc24 before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - docker rm -f ${TEST_NAME} || true # Cleanup old ContainerLab scenarios - containerlab destroy --all --cleanup || true # Do Docker cleanup - docker ps --all --quiet | xargs --no-run-if-empty docker stop - docker container prune --force - docker ps --all --quiet | xargs --no-run-if-empty docker rm --force - docker image prune --force - docker network prune --force - docker volume prune --all --force - docker buildx prune --force # Check MicroK8s is ready - microk8s status --wait-ready # Always delete Kubernetes namespaces - export K8S_NAMESPACES=$(kubectl get namespace -o jsonpath='{.items[*].metadata.name}') - echo "K8S_NAMESPACES=${K8S_NAMESPACES}" - export OLD_NATS_NAMESPACES=$(echo "${K8S_NAMESPACES}" | tr ' ' '\n' | grep -E '^nats') - echo "OLD_NATS_NAMESPACES=${OLD_NATS_NAMESPACES}" - > for ns in ${OLD_NATS_NAMESPACES}; do if [[ "$ns" == nats* ]]; then helm3 uninstall "$ns" -n "$ns" fi done - export OLD_NAMESPACES=$(echo "${K8S_NAMESPACES}" | tr ' ' '\n' | grep -E '^(tfs|crdb|qdb|kafka|nats)') - echo "OLD_NAMESPACES=${OLD_NAMESPACES}" - kubectl delete namespace ${OLD_NAMESPACES} || true # Clean-up Kubernetes Failed pods - > kubectl get pods --all-namespaces --no-headers --field-selector=status.phase=Failed -o custom-columns=NAMESPACE:.metadata.namespace,NAME:.metadata.name | xargs --no-run-if-empty --max-args=2 kubectl delete pod --namespace # Login Docker repository - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: # Download Docker image to run the test - docker pull "${CI_REGISTRY_IMAGE}/${TEST_NAME}:latest" # Check MicroK8s is ready - microk8s status --wait-ready - LOOP_MAX_ATTEMPTS=10 - LOOP_COUNTER=0 - > while ! kubectl get pods --all-namespaces &> /dev/null; do printf "%c" "." sleep 1 LOOP_COUNTER=$((LOOP_COUNTER + 1)) if [ "$LOOP_COUNTER" -ge "$LOOP_MAX_ATTEMPTS" ]; then echo "Max attempts reached, exiting the loop." exit 1 fi done - kubectl get pods --all-namespaces # Deploy ContainerLab Scenario Loading Loading @@ -83,7 +131,6 @@ end2end_test eucnc24: #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="frontend").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/pathcompservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/serviceservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/nbiservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/monitoringservice.yaml - source src/tests/${TEST_NAME}/deploy_specs.sh #- export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" Loading @@ -95,7 +142,7 @@ end2end_test eucnc24: - ./deploy/crdb.sh - ./deploy/nats.sh - ./deploy/kafka.sh - ./deploy/qdb.sh #- ./deploy/qdb.sh - ./deploy/tfs.sh - ./deploy/show.sh Loading Loading @@ -233,9 +280,8 @@ end2end_test eucnc24: - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/pathcompservice -c frontend - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server #- kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/monitoringservice -c server # Destroy Scenario # Clean up - docker rm -f ${TEST_NAME} || true - RUNNER_PATH=`pwd` #- cd $PWD/src/tests/${TEST_NAME} Loading @@ -244,6 +290,10 @@ end2end_test eucnc24: - sudo rm -rf clab-eucnc24/ .eucnc24.clab.yml.bak || true - cd $RUNNER_PATH - kubectl delete namespaces tfs || true - docker rm --force qkd-node-01 qkd-node-02 qkd-node-03 - docker network rm --force qkd-node-br - docker volume prune --force - docker image prune --force # Clean old docker images - docker images --filter="dangling=true" --quiet | xargs -r docker rmi Loading
src/tests/ofc22/.gitlab-ci.yml +62 −2 Original line number Diff line number Diff line Loading @@ -45,13 +45,61 @@ end2end_test ofc22: #needs: # - build ofc22 before_script: # Do Docker cleanup - docker ps --all --quiet | xargs --no-run-if-empty docker stop - docker container prune --force - docker ps --all --quiet | xargs --no-run-if-empty docker rm --force - docker image prune --force - docker network prune --force - docker volume prune --all --force - docker buildx prune --force # Check MicroK8s is ready - microk8s status --wait-ready # Always delete Kubernetes namespaces - export K8S_NAMESPACES=$(kubectl get namespace -o jsonpath='{.items[*].metadata.name}') - echo "K8S_NAMESPACES=${K8S_NAMESPACES}" - export OLD_NATS_NAMESPACES=$(echo "${K8S_NAMESPACES}" | tr ' ' '\n' | grep -E '^nats') - echo "OLD_NATS_NAMESPACES=${OLD_NATS_NAMESPACES}" - > for ns in ${OLD_NATS_NAMESPACES}; do if [[ "$ns" == nats* ]]; then helm3 uninstall "$ns" -n "$ns" fi done - export OLD_NAMESPACES=$(echo "${K8S_NAMESPACES}" | tr ' ' '\n' | grep -E '^(tfs|crdb|qdb|kafka|nats)') - echo "OLD_NAMESPACES=${OLD_NAMESPACES}" - kubectl delete namespace ${OLD_NAMESPACES} || true # Clean-up Kubernetes Failed pods - > kubectl get pods --all-namespaces --no-headers --field-selector=status.phase=Failed -o custom-columns=NAMESPACE:.metadata.namespace,NAME:.metadata.name | xargs --no-run-if-empty --max-args=2 kubectl delete pod --namespace # Login Docker repository - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: # Download Docker image to run the test - docker pull "${CI_REGISTRY_IMAGE}/${TEST_NAME}:latest" # Check MicroK8s is ready - microk8s status --wait-ready - LOOP_MAX_ATTEMPTS=10 - LOOP_COUNTER=0 - > while ! kubectl get pods --all-namespaces &> /dev/null; do printf "%c" "." sleep 1 LOOP_COUNTER=$((LOOP_COUNTER + 1)) if [ "$LOOP_COUNTER" -ge "$LOOP_MAX_ATTEMPTS" ]; then echo "Max attempts reached, exiting the loop." exit 1 fi done - kubectl get pods --all-namespaces # Configure TeraFlowSDN deployment Loading @@ -63,6 +111,7 @@ end2end_test ofc22: #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/sliceservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/nbiservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/monitoringservice.yaml - source src/tests/${TEST_NAME}/deploy_specs.sh #- export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" #- export TFS_SKIP_BUILD="YES" Loading Loading @@ -90,6 +139,7 @@ end2end_test ofc22: --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest after_script: # Dump TeraFlowSDN component logs - source src/tests/${TEST_NAME}/deploy_specs.sh - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server Loading @@ -99,8 +149,18 @@ end2end_test ofc22: - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/monitoringservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/ztpservice -c ztpservice - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi # Clean up - docker rm -f ${TEST_NAME} || true - kubectl delete namespaces tfs || true - docker rm --force qkd-node-01 qkd-node-02 qkd-node-03 - docker network rm --force qkd-node-br - docker volume prune --force - docker image prune --force # Clean old docker images - docker images --filter="dangling=true" --quiet | xargs -r docker rmi #coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' Loading
src/tests/ofc24/.gitlab-ci.yml +56 −7 Original line number Diff line number Diff line Loading @@ -45,9 +45,42 @@ end2end_test ofc24: #needs: # - build ofc24 before_script: # Do Docker cleanup - docker ps --all --quiet | xargs --no-run-if-empty docker stop - docker container prune --force - docker ps --all --quiet | xargs --no-run-if-empty docker rm --force - docker image prune --force - docker network prune --force - docker volume prune --all --force - docker buildx prune --force # Check MicroK8s is ready - microk8s status --wait-ready # Always delete Kubernetes namespaces - export K8S_NAMESPACES=$(kubectl get namespace -o jsonpath='{.items[*].metadata.name}') - echo "K8S_NAMESPACES=${K8S_NAMESPACES}" - export OLD_NATS_NAMESPACES=$(echo "${K8S_NAMESPACES}" | tr ' ' '\n' | grep -E '^nats') - echo "OLD_NATS_NAMESPACES=${OLD_NATS_NAMESPACES}" - > for ns in ${OLD_NATS_NAMESPACES}; do if [[ "$ns" == nats* ]]; then helm3 uninstall "$ns" -n "$ns" fi done - export OLD_NAMESPACES=$(echo "${K8S_NAMESPACES}" | tr ' ' '\n' | grep -E '^(tfs|crdb|qdb|kafka|nats)') - echo "OLD_NAMESPACES=${OLD_NAMESPACES}" - kubectl delete namespace ${OLD_NAMESPACES} || true # Clean-up Kubernetes Failed pods - > kubectl get pods --all-namespaces --no-headers --field-selector=status.phase=Failed -o custom-columns=NAMESPACE:.metadata.namespace,NAME:.metadata.name | xargs --no-run-if-empty --max-args=2 kubectl delete pod --namespace # Login Docker repository - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - docker rm -f na-t1 na-t2 na-r1 na-r2 - docker network rm -f na-br script: # Download Docker image to run the test Loading @@ -57,6 +90,18 @@ end2end_test ofc24: # Check MicroK8s is ready - microk8s status --wait-ready - LOOP_MAX_ATTEMPTS=10 - LOOP_COUNTER=0 - > while ! kubectl get pods --all-namespaces &> /dev/null; do printf "%c" "." sleep 1 LOOP_COUNTER=$((LOOP_COUNTER + 1)) if [ "$LOOP_COUNTER" -ge "$LOOP_MAX_ATTEMPTS" ]; then echo "Max attempts reached, exiting the loop." exit 1 fi done - kubectl get pods --all-namespaces # Deploy Optical Device Node Agents Loading Loading @@ -104,6 +149,7 @@ end2end_test ofc24: #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/serviceservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/sliceservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/nbiservice.yaml - source src/tests/${TEST_NAME}/deploy_specs.sh #- export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" #- export TFS_SKIP_BUILD="YES" Loading Loading @@ -140,7 +186,6 @@ end2end_test ofc24: - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/opticalcontrollerservice -c server - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi # Dump Optical Device Node Agents container status and logs - docker ps -a Loading @@ -149,9 +194,13 @@ end2end_test ofc24: - docker logs na-r1 - docker logs na-r2 # Destroy Optical Device Node Agents - docker rm -f na-t1 na-t2 na-r1 na-r2 - docker network rm -f na-br # Clean up - docker rm -f ${TEST_NAME} || true - kubectl delete namespaces tfs || true - docker rm --force qkd-node-01 qkd-node-02 qkd-node-03 - docker network rm --force qkd-node-br - docker volume prune --force - docker image prune --force # Clean old docker images - docker images --filter="dangling=true" --quiet | xargs -r docker rmi Loading