Commit e5cb0a5e authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Merge branch 'develop' of ssh://gifrerenom_labs.etsi.org/tfs/controller into...

Merge branch 'develop' of ssh://gifrerenom_labs.etsi.org/tfs/controller into feat/367-cttc-end-to-end-integration-test-with-etsi-osm-ro-ietf-l2vpn
parents 4f1610ae ee1b4511
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -264,9 +264,9 @@ def process_site_network_access(
def process_site(site : Dict, errors : List[Dict]) -> None:
    site_id = site['site-id']

    # this change is made for ECOC2025 demo purposes
    if site['management']['type'] != 'provider-managed':
    # if site['management']['type'] == 'customer-managed':
    site_management_type = site['management']['type']
    site_management_type = site_management_type.replace('ietf-l2vpn-svc:', '')
    if site_management_type != 'provider-managed':
        MSG = 'Site Management Type: {:s}'
        raise NotImplementedError(MSG.format(str(site['management']['type'])))

@@ -275,7 +275,9 @@ def process_site(site : Dict, errors : List[Dict]) -> None:
        process_site_network_access(site_id, network_access, errors)

def update_vpn(site : Dict, errors : List[Dict]) -> None:
    if site['management']['type'] != 'provider-managed':
    site_management_type = site['management']['type']
    site_management_type = site_management_type.replace('ietf-l2vpn-svc:', '')
    if site_management_type != 'provider-managed':
        MSG = 'Site Management Type: {:s}'
        raise NotImplementedError(MSG.format(str(site['management']['type'])))

+42 −42
Original line number Diff line number Diff line
@@ -145,10 +145,10 @@ end2end_test l2_vpn_gnmi_oc:
    # Configure TeraFlowSDN deployment
    # Uncomment if DEBUG log level is needed for the components
    #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/contextservice.yaml
    - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/deviceservice.yaml
    #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/deviceservice.yaml
    #- 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/serviceservice.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}"
@@ -214,45 +214,45 @@ end2end_test l2_vpn_gnmi_oc:
    - ping_check "dc1" "172.16.1.20" "3 packets transmitted, 0 received,( [\+]{0,1}[0-9]+ error[s]{0,1},)? 100% packet loss"
    - ping_check "dc1" "172.16.1.30" "3 packets transmitted, 0 received,( [\+]{0,1}[0-9]+ error[s]{0,1},)? 100% packet loss"

#    # Run end-to-end test: configure service TFS
#    - >
#      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}:latest /var/teraflow/run-service-tfs-create.sh
#
#    # Give time to routers for being configured and stabilized
#    - sleep 60
#
#    # Dump configuration of the routers (after configure TFS service)
#    - containerlab exec --name ${TEST_NAME} --label clab-node-name=r1 --cmd "Cli --command \"enable"$'\n'$"show running-config\""
#    - containerlab exec --name ${TEST_NAME} --label clab-node-name=r2 --cmd "Cli --command \"enable"$'\n'$"show running-config\""
#    - containerlab exec --name ${TEST_NAME} --label clab-node-name=r3 --cmd "Cli --command \"enable"$'\n'$"show running-config\""
#
#    # Run end-to-end test: test connectivity with ping
#    - ping_check "dc1" "172.16.1.10" "3 packets transmitted, 3 received, 0% packet loss"
#    - ping_check "dc1" "172.16.1.20" "3 packets transmitted, 3 received, 0% packet loss"
#    - ping_check "dc1" "172.16.1.30" "3 packets transmitted, 0 received,( [\+]{0,1}[0-9]+ error[s]{0,1},)? 100% packet loss"
#
#    # Run end-to-end test: deconfigure service TFS
#    - >
#      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}:latest /var/teraflow/run-service-tfs-remove.sh
#
#    # Give time to routers for being configured and stabilized
#    - sleep 60
#
#    # Dump configuration of the routers (after deconfigure TFS service)
#    - containerlab exec --name ${TEST_NAME} --label clab-node-name=r1 --cmd "Cli --command \"enable"$'\n'$"show running-config\""
#    - containerlab exec --name ${TEST_NAME} --label clab-node-name=r2 --cmd "Cli --command \"enable"$'\n'$"show running-config\""
#    - containerlab exec --name ${TEST_NAME} --label clab-node-name=r3 --cmd "Cli --command \"enable"$'\n'$"show running-config\""
#
#    # Run end-to-end test: test no connectivity with ping
#    - ping_check "dc1" "172.16.1.10" "3 packets transmitted, 3 received, 0% packet loss"
#    - ping_check "dc1" "172.16.1.20" "3 packets transmitted, 0 received,( [\+]{0,1}[0-9]+ error[s]{0,1},)? 100% packet loss"
#    - ping_check "dc1" "172.16.1.30" "3 packets transmitted, 0 received,( [\+]{0,1}[0-9]+ error[s]{0,1},)? 100% packet loss"
    # Run end-to-end test: configure service TFS
    - >
      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}:latest /var/teraflow/run-service-tfs-create.sh

    # Give time to routers for being configured and stabilized
    - sleep 60

    # Dump configuration of the routers (after configure TFS service)
    - containerlab exec --name ${TEST_NAME} --label clab-node-name=r1 --cmd "Cli --command \"enable"$'\n'$"show running-config\""
    - containerlab exec --name ${TEST_NAME} --label clab-node-name=r2 --cmd "Cli --command \"enable"$'\n'$"show running-config\""
    - containerlab exec --name ${TEST_NAME} --label clab-node-name=r3 --cmd "Cli --command \"enable"$'\n'$"show running-config\""

    # Run end-to-end test: test connectivity with ping
    - ping_check "dc1" "172.16.1.10" "3 packets transmitted, 3 received, 0% packet loss"
    - ping_check "dc1" "172.16.1.20" "3 packets transmitted, 3 received, 0% packet loss"
    - ping_check "dc1" "172.16.1.30" "3 packets transmitted, 0 received,( [\+]{0,1}[0-9]+ error[s]{0,1},)? 100% packet loss"

    # Run end-to-end test: deconfigure service TFS
    - >
      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}:latest /var/teraflow/run-service-tfs-remove.sh

    # Give time to routers for being configured and stabilized
    - sleep 60

    # Dump configuration of the routers (after deconfigure TFS service)
    - containerlab exec --name ${TEST_NAME} --label clab-node-name=r1 --cmd "Cli --command \"enable"$'\n'$"show running-config\""
    - containerlab exec --name ${TEST_NAME} --label clab-node-name=r2 --cmd "Cli --command \"enable"$'\n'$"show running-config\""
    - containerlab exec --name ${TEST_NAME} --label clab-node-name=r3 --cmd "Cli --command \"enable"$'\n'$"show running-config\""

    # Run end-to-end test: test no connectivity with ping
    - ping_check "dc1" "172.16.1.10" "3 packets transmitted, 3 received, 0% packet loss"
    - ping_check "dc1" "172.16.1.20" "3 packets transmitted, 0 received,( [\+]{0,1}[0-9]+ error[s]{0,1},)? 100% packet loss"
    - ping_check "dc1" "172.16.1.30" "3 packets transmitted, 0 received,( [\+]{0,1}[0-9]+ error[s]{0,1},)? 100% packet loss"

    # Run end-to-end test: configure service IETF
    - >
+13 −5
Original line number Diff line number Diff line
@@ -48,20 +48,28 @@ sudo rm -rf clab-l2_vpn_gnmi_oc/ .l2_vpn_gnmi_oc.clab.yml.bak
```bash
docker exec -it clab-l2_vpn_gnmi_oc-r1 bash
docker exec -it clab-l2_vpn_gnmi_oc-r2 bash
docker exec -it clab-l2_vpn_gnmi_oc-r3 bash
docker exec -it clab-l2_vpn_gnmi_oc-r1 Cli
docker exec -it clab-l2_vpn_gnmi_oc-r2 Cli
docker exec -it clab-l2_vpn_gnmi_oc-r3 Cli
```

## Configure ContainerLab clients
```bash
docker exec -it clab-l2_vpn_gnmi_oc-dc1 bash
    ip address add 172.16.1.10/24 dev eth1
    ip route add 172.16.2.0/24 via 172.16.1.1
    ping 172.16.2.10
    ip link set address 00:c1:ab:00:01:0a dev eth1
    ip link set eth1 up
    ip link add link eth1 name eth1.125 type vlan id 125
    ip address add 172.16.1.10/24 dev eth1.125
    ip link set eth1.125 up
    ping 172.16.1.20

docker exec -it clab-l2_vpn_gnmi_oc-dc2 bash
    ip address add 172.16.2.10/24 dev eth1
    ip route add 172.16.1.0/24 via 172.16.2.1
    ip link set address 00:c1:ab:00:01:14 dev eth1
    ip link set eth1 up
    ip link add link eth1 name eth1.125 type vlan id 125
    ip address add 172.16.1.20/24 dev eth1.125
    ip link set eth1.125 up
    ping 172.16.1.10
```

+2 −2
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ topology:
        - ip link set address 00:c1:ab:00:01:0a dev eth1
        - ip link set eth1 up
        - ip link add link eth1 name eth1.125 type vlan id 125
        - ip addr add 172.16.1.10/24 dev eth1.125
        - ip address add 172.16.1.10/24 dev eth1.125
        - ip link set eth1.125 up

    dc2:
@@ -70,7 +70,7 @@ topology:
        - ip link set address 00:c1:ab:00:01:14 dev eth1
        - ip link set eth1 up
        - ip link add link eth1 name eth1.125 type vlan id 125
        - ip addr add 172.16.1.20/24 dev eth1.125
        - ip address add 172.16.1.20/24 dev eth1.125
        - ip link set eth1.125 up

  links: