You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

This page describes the ODTN Phase1.0 demonstration details which is done with Cassini equipment, and what is achieved by ODTN Phase1.0 development.

Scope

  • Point to point OLS network
  • Directly connected transponders, or OLS configured out-of-band
  • TAPI NB, OpenConfig SB
  • No optical configuration (Configure only port enable/disable and frame mapping)

Available Devices

  • Cassini

Available models

Available TAPI NBI endpoints

  • tapi-common
    • context
    • get-service-interface-point-details
    • get-service-interface-point-list
  • tapi-connectivity
    • create-connectivity-service
    • delete-connectivity-service
    • get-connectivity-service-details
    • get-connectivity-service-list

1) STC testing on singleONOSinstance


1.1) ONOS instance setup


onos setup
# This scrip is used to test ODTN on single ONOS instance in branch 2.0
# Before this script:
#   1. Make sure the default Python version is 2.x
#   2. Run ONOS locally (bazel run onos-local -- clean)
#   3. Start sshd service, and make sure "ssh $USER@localhost" operation doesn't need passwd
#   4. Emulator configuration could be found under directory $HOME/emulator

# env configuration based on the default ONOS environment
# single ONOS instance runs on local machine directly
export ONOS_ROOT="${ONOS_ROOT:-~/onos}"
source ${ONOS_ROOT}/tools/dev/bash_profile
source ${ONOS_ROOT}/tools/build/envDefaults
unset OC2
unset OC3
export OC1="127.0.0.1"
export OCI="$OC1"
export ONOS_INSTANCES="$OC1"
export ONOS_USER=$USER

export OV=`echo $ONOS_VERSION | sed "s/\.$USER/-SNAPSHOT/g" `
export ONOS_INSTLL_DIR=/tmp/onos-${OV}/apache-karaf-${KARAF_VERSION}/data
export EMULATOR_ROOT="${EMULATOR_ROOT:-$HOME/emulator}"

for t in {1..60}; do
    echo "$t-th times curl request"
    curl --fail -sS http://localhost:8181/onos/v1/applications --user "onos:rocks" 1>/dev/null 2>&1 && break;
    sleep 2
done

# run the emulators
cd ${EMULATOR_ROOT}
# The emulators run as docker containers.
docker-compose up -d

About the emulator

The directory ${EMULATOR_ROOT} contains:

  1. File "docker-compose.yaml"
  2. Directory "emulator-oc-cassini"
  3. File "net-summary.json" - This file contains one-line json content to describe the network topology briefly ("{"device_num":"2","port_num":"64","link_num":"12"}"), aiming to help information check for topology discovery.


The topology view shows:

1.2) odtn-service installation and topology discovery


stc command
stc net-setup-odtn


The output of this command is listed:

2019-04-08 12:55:55  ODTN-Net-Setup started
2019-04-08 12:55:55  ODTN-Net-Setup.Wipe-Out-Data-Before started -- onos-wipe-out
2019-04-08 12:55:55  ODTN-Net-Setup.Wipe-Out-Data-Before completed
2019-04-08 12:55:55  ODTN-Net-Setup.Initial-Summary-Check started -- onos-check-summary 127.0.0.1 [0-9]* 0 0 0
2019-04-08 12:55:56  ODTN-Net-Setup.Initial-Summary-Check completed
2019-04-08 12:55:56  ODTN-Net-Setup.Activate-Apps started -- onos 127.0.0.1 app activate odtn-service
2019-04-08 12:56:28  ODTN-Net-Setup.Activate-Apps completed
2019-04-08 12:56:28  ODTN-Net-Setup.Verify-Apps started
2019-04-08 12:56:28  Check-Apps-1 started -- onos-check-apps 127.0.0.1 optical-model,yang,config,configsync,faultmanagement,netconf,configsync-netconf,drivers,drivers.netconf,drivers.optical,restconf,protocols.restconfserver,odtn-api,drivers.odtn-driver,odtn-service,models.tapi,models.ietf,models.openconfig,models.openconfig-infinera,models.openconfig-odtn includes
2019-04-08 12:56:58  Check-Apps-1 completed
2019-04-08 12:56:58  ODTN-Net-Setup.Verify-Apps completed
2019-04-08 12:56:58  ODTN-Net-Setup.Tapi-context started
2019-04-08 12:56:58  ODTN-Net-Setup.Tapi-context-1 started -- /Users/onf/onos/tools/test/scenarios/odtn/checkUntilSucc.sh /Users/onf/onos/tools/test/scenarios/bin/execute-tapi-context-get-call.py+127.0.0.1+empty
2019-04-08 12:56:58  ODTN-Net-Setup.Tapi-context-1 completed
2019-04-08 12:56:58  ODTN-Net-Setup.Tapi-context completed
2019-04-08 12:56:58  ODTN-Net-Setup.Tapi-connectivity started -- /Users/onf/onos/tools/test/scenarios/odtn/checkUntilSucc.sh /Users/onf/onos/tools/test/scenarios/bin/execute-tapi-post-call.py+127.0.0.1+tapi-connectivity:get-connectivity-service-list+empty
2019-04-08 12:56:59  ODTN-Net-Setup.Tapi-connectivity completed
2019-04-08 12:56:59  ODTN-Net-Setup.Verify-Logs-1 started
2019-04-08 12:56:59  Check-Logs-Odtn-Setup-1-1 started -- onos-check-logs 127.0.0.1
2019-04-08 12:56:59  Check-Logs-Odtn-Setup-1-1 completed
2019-04-08 12:56:59  ODTN-Net-Setup.Verify-Logs-1 completed
2019-04-08 12:56:59  ODTN-Net-Setup.Init-network started
2019-04-08 12:56:59  ODTN-Net-Setup.Start-emulators started -- docker-compose -f /Users/onf/emulator/docker-compose.yaml up -d
2019-04-08 12:56:59  ODTN-Net-Setup.Start-emulators completed
2019-04-08 12:56:59  ODTN-Net-Setup.Generate-cfg-files started -- /Users/onf/onos/tools/test/scenarios/odtn/createNetCfg.sh
2019-04-08 12:57:29  ODTN-Net-Setup.Generate-cfg-files completed
2019-04-08 12:57:29  ODTN-Net-Setup.Put-nodes started -- onos-netcfg 127.0.0.1 /tmp/odtn/openconfig-devices.json
2019-04-08 12:57:29  ODTN-Net-Setup.Put-nodes completed
2019-04-08 12:57:29  ODTN-Net-Setup.Wait-nodes started
2019-04-08 12:57:29  ODTN-Net-Setup.Wait-node-1 started -- /Users/onf/onos/tools/test/scenarios/odtn/checkNetInit.sh device 127.0.0.1
2019-04-08 12:57:40  ODTN-Net-Setup.Wait-node-1 completed
2019-04-08 12:57:40  ODTN-Net-Setup.Wait-port-1 started -- /Users/onf/onos/tools/test/scenarios/odtn/checkNetInit.sh port 127.0.0.1
2019-04-08 12:57:40  ODTN-Net-Setup.Wait-port-1 completed
2019-04-08 12:57:40  ODTN-Net-Setup.Wait-nodes completed
2019-04-08 12:57:40  ODTN-Net-Setup.Verify-Logs-2 started
2019-04-08 12:57:40  Check-Logs-Odtn-Setup-2-1 started -- onos-check-logs 127.0.0.1
2019-04-08 12:57:40  Check-Logs-Odtn-Setup-2-1 completed
2019-04-08 12:57:40  ODTN-Net-Setup.Verify-Logs-2 completed
2019-04-08 12:57:40  ODTN-Net-Setup.Put-links started -- onos-netcfg 127.0.0.1 /tmp/odtn/openconfig-device-link.json
2019-04-08 12:57:41  ODTN-Net-Setup.Put-links completed
2019-04-08 12:57:41  ODTN-Net-Setup.Wait-links started
2019-04-08 12:57:41  ODTN-Net-Setup.Wait-link-1 started -- /Users/onf/onos/tools/test/scenarios/odtn/checkNetInit.sh link 127.0.0.1
2019-04-08 12:58:11  ODTN-Net-Setup.Wait-link-1 completed
2019-04-08 12:58:11  ODTN-Net-Setup.Wait-links completed
2019-04-08 12:58:11  ODTN-Net-Setup.Verify-Logs-3 started
2019-04-08 12:58:11  Check-Logs-Odtn-Setup-3-1 started -- onos-check-logs 127.0.0.1
2019-04-08 12:58:11  ODTN-Net-Setup.Init-network completed
2019-04-08 12:58:11  Check-Logs-Odtn-Setup-3-1 completed
2019-04-08 12:58:11  ODTN-Net-Setup.Verify-Logs-3 completed
2019-04-08 12:58:11  ODTN-Net-Setup completed
2:16 Passed! 25 steps succeeded


1.3) creation and deletion for line-side/client-side connectivities


# If the previous command was executed successfully.
stc net-odtn-restconf

The output of this command is listed:

2019-04-08 12:58:12  Net-ODTN-Restconf started
2019-04-08 12:58:12  Net-ODTN-Restconf.Tapi-context started -- execute-tapi-context-get-call.py 127.0.0.1 empty
2019-04-08 12:58:12  Net-ODTN-Restconf.Tapi-context completed
2019-04-08 12:58:12  Net-ODTN-Restconf.Confirm-conn-empty started -- /Users/onf/onos/tools/test/scenarios/bin/execute-tapi-post-call.py 127.0.0.1 tapi-connectivity:get-connectivity-service-list empty
2019-04-08 12:58:13  Net-ODTN-Restconf.Confirm-conn-empty completed
2019-04-08 12:58:13  Net-ODTN-Restconf.Line-side-test started
2019-04-08 12:58:13  Net-ODTN-Restconf.Create-line-side started -- /Users/onf/onos/tools/test/scenarios/bin/execute-tapi-post-call.py 127.0.0.1 tapi-connectivity:create-connectivity-service line-side
2019-04-08 12:58:13  Net-ODTN-Restconf.Create-line-side completed
2019-04-08 12:58:13  Net-ODTN-Restconf.Check-line-side started -- /Users/onf/onos/tools/test/scenarios/odtn/checkUntilSucc.sh 'python /Users/onf/onos/tools/test/scenarios/bin/execute-tapi-post-call.py+127.0.0.1+tapi-connectivity:get-connectivity-service-list+empty+|+grep+'tapi-connectivity:output'+|+grep+connection-uuid+-o+|+wc+-l' 1
2019-04-08 12:58:13  Net-ODTN-Restconf.Check-line-side completed
2019-04-08 12:58:13  Net-ODTN-Restconf.Delete-line-conn started -- /Users/onf/onos/tools/test/scenarios/bin/execute-tapi-delete-call.py 127.0.0.1 line
2019-04-08 12:58:14  Net-ODTN-Restconf.Delete-line-conn completed
2019-04-08 12:58:14  Net-ODTN-Restconf.Confirm-conn-empty-2 started -- /Users/onf/onos/tools/test/scenarios/bin/execute-tapi-post-call.py 127.0.0.1 tapi-connectivity:get-connectivity-service-list empty
2019-04-08 12:58:14  Net-ODTN-Restconf.Confirm-conn-empty-2 completed
2019-04-08 12:58:14  Net-ODTN-Restconf.Verify-Logs started
2019-04-08 12:58:14  Check-Logs-Restconf-1-1 started -- onos-check-logs 127.0.0.1
2019-04-08 12:58:14  Check-Logs-Restconf-1-1 completed
2019-04-08 12:58:14  Net-ODTN-Restconf.Verify-Logs completed
2019-04-08 12:58:14  Net-ODTN-Restconf.Line-side-test completed
2019-04-08 12:58:14  Net-ODTN-Restconf.Client-side-test started
2019-04-08 12:58:14  Net-ODTN-Restconf.Create-client-side started -- /Users/onf/onos/tools/test/scenarios/bin/execute-tapi-post-call.py 127.0.0.1 tapi-connectivity:create-connectivity-service client-side
2019-04-08 12:58:25  Net-ODTN-Restconf.Create-client-side completed
2019-04-08 12:58:25  Net-ODTN-Restconf.Check-client-side started -- /Users/onf/onos/tools/test/scenarios/odtn/checkUntilSucc.sh 'python /Users/onf/onos/tools/test/scenarios/bin/execute-tapi-post-call.py+127.0.0.1+tapi-connectivity:get-connectivity-service-list+empty+|+grep+'tapi-connectivity:output'+|+grep+connection-uuid+-o+|+wc+-l' 1
2019-04-08 12:58:35  Net-ODTN-Restconf.Check-client-side completed
2019-04-08 12:58:35  Net-ODTN-Restconf.Delete-client-conn started -- /Users/onf/onos/tools/test/scenarios/bin/execute-tapi-delete-call.py 127.0.0.1 both
2019-04-08 12:58:46  Net-ODTN-Restconf.Delete-client-conn completed
2019-04-08 12:58:46  Net-ODTN-Restconf.Confirm-conn-empty-3 started -- /Users/onf/onos/tools/test/scenarios/bin/execute-tapi-post-call.py 127.0.0.1 tapi-connectivity:get-connectivity-service-list empty
2019-04-08 12:58:56  Net-ODTN-Restconf.Confirm-conn-empty-3 completed
2019-04-08 12:58:56  Net-ODTN-Restconf.Verify-Logs-2 started
2019-04-08 12:58:56  Check-Logs-Restconf-2-1 started -- onos-check-logs 127.0.0.1
2019-04-08 12:59:06  Check-Logs-Restconf-2-1 completed
2019-04-08 12:59:06  Net-ODTN-Restconf.Verify-Logs-2 completed
2019-04-08 12:59:06  Net-ODTN-Restconf.Client-side-test completed
2019-04-08 12:59:06  Net-ODTN-Restconf completed
0:53 Passed! 17 steps succeeded


2) STC testing on multiple ONOS instances


Deployment

In this scenario, 3 ONOS instances and 3 related Atomix instances are deployed as Docker containers.


2.1) building docker containers


stc net-odtn-presmoke

This command creates and starts 3 onos containers and 3 atomix containers, the output is listed as below:

2019-04-08 21:23:01  ODTN-Net-Prepare started
2019-04-08 21:23:01  ODTN-Net-Prepare.clean-docker started -- bash /home/sdn/onos/tools/test/scenarios/odtn/destroyOdtnCell.sh
2019-04-08 21:23:16  ODTN-Net-Prepare.clean-docker completed
2019-04-08 21:23:16  ODTN-Net-Prepare.build-docker-img started -- bash /home/sdn/onos/tools/test/scenarios/odtn/buildOdtnDocker.sh
2019-04-08 21:25:05  ODTN-Net-Prepare.build-docker-img completed
2019-04-08 21:25:05  ODTN-Net-Prepare.create-docker-containers started -- source /home/sdn/onos/tools/test/scenarios/odtn/createOdtnCell.sh
2019-04-08 21:25:57  ODTN-Net-Prepare.create-docker-containers completed
2019-04-08 21:25:57  ODTN-Net-Prepare completed
2:55 Passed! 4 steps succeeded

And the docker status is shown below:

sdn@odtn:~$ docker ps -a
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                                      NAMES
ab3bfbf96846        onos:latest           "./bin/onos-service …"   3 minutes ago       Up 3 minutes        22/tcp, 6640/tcp, 6653/tcp, 8101/tcp, 8181/tcp, 9876/tcp   onos-3
10d534c9151d        onos:latest           "./bin/onos-service …"   4 minutes ago       Up 4 minutes        22/tcp, 6640/tcp, 6653/tcp, 8101/tcp, 8181/tcp, 9876/tcp   onos-2
74fe2fbfb163        onos:latest           "./bin/onos-service …"   4 minutes ago       Up 4 minutes        22/tcp, 6640/tcp, 6653/tcp, 8101/tcp, 8181/tcp, 9876/tcp   onos-1
378a13eb63d2        atomix/atomix:3.1.5   "./bin/atomix-agent …"   4 minutes ago       Up 4 minutes        5678-5679/tcp                                              atomix-3
331c68971a6f        atomix/atomix:3.1.5   "./bin/atomix-agent …"   4 minutes ago       Up 4 minutes        5678-5679/tcp                                              atomix-2
fd5d6abee1a4        atomix/atomix:3.1.5   "./bin/atomix-agent …"   4 minutes ago       Up 4 minutes        5678-5679/tcp                                              atomix-1


2.2) test ODTN


stc -ENV_DEFAULT=/tmp/odtn/OCvar.sh net-odtn-smoke

This command could be divided into three subcommands in order:

stc -ENV_DEFAULT=/tmp/odtn/OCvar.sh net-setup-odtn
stc -ENV_DEFAULT=/tmp/odtn/OCvar.sh net-odtn-restconf
stc -ENV_DEFAULT=/tmp/odtn/OCvar.sh net-teardown-odtn

The parameter "-ENV_DEFAULT*" is used to specify the default environment.

2.2.1) net-setup-odtn

The same as #net-setup-odtn http://#net-setup-odtnin single onos instance scenario, this 


  • No labels