Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

Table of Contents

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

...

a single ONOS instance

The first scenario is deployed on a single ONOS instance, whose version should be beyond 2.0.

1.1) ONOS instance setup and equipment setup


Code Block
languagepowershell
titleonos setup
linenumberstrue
# 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
# make sure the installation directory, which would be used in command "onos-check-logs".
export OV=`echo $ONOS_VERSION | sed "s/\.$USER/-SNAPSHOT/g" `
export ONOS_INSTLLINSTALL_DIR=/tmp/onos-${OV}/apache-karaf-${KARAF_VERSION}/data
export EMULATOR_ROOT="${EMULATOR_ROOT:-$HOME/emulator}"

# start ONOS
cd ${ONOS_ROOT}
bazel run onos-local -- clean

# Check whether onos starts successfully in another CLI.
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
Info
titleAbout 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:

Image Removed

1.2) odtn-service installation and topology discovery

Code Block
languagetext
titlestc command
stc net-setup-odtn

The output of this command is listed:

Code Block
languagetext
linenumberstrue
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

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

The output of this command is listed:

After ONOS starts, the equipment should be ready for a connection. Here, we use the docker containers to simulate two Cassini emulators. The readers can also build their own emulators, which only need several configured Netconf servers for simplicity. 

Code Block
languagepowershell
# set this emulator variable. Please don't change the path of $EMULATOR_ROOT. If you want to specify it, please change "${ONOS_ROOT}/tools/test/scenarios/odtn/createNetCfg.sh" by yourself.
export EMULATOR_ROOT="${EMULATOR_ROOT:-$HOME/emulator}"
# run the emulators
cd ${EMULATOR_ROOT}
# the emulators run as docker containers.
docker-compose up -d
Info
titleAbout 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. This file will be copied to directory /tmp/odtn in the next step.

1.2) odtn-service installation and topology discovery


Code Block
languagetext
titlestc command
stc net-setup-odtn

In the command shown above, two topology json files are pushed into ONOS via restconf interface, and then ONOS starts the connection to the emulators. The content of these two json files must be matched with the configuration under directory ${EMULATOR_ROOT}. The default paths of these two json files are "${ONOS_ROOT}/apps/odtn/api/src/test/resources/openconfig-devices.json" and "${ONOS_ROOT}/apps/odtn/api/src/test/resources/openconfig-device-link.json" respectively. These json files would be copied to directory /tmp/odtn on standby.

The output of this command is listed:

Code Block
languagetext
linenumberstrue
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

After this command is executed successfully, we can find a temporary directory "/tmp/odtn" that contains  3 files, which are copied from :

  1. "openconfig-devices.json"
  2. "openconfig-device-link.json"
  3. "net-summary.json"


After this command is executed successfully, the topology view shows below:

Image Added

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


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

The output of this command is listed:

Code Block
languagetext
linenumberstrue
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


Info
titleDeployment

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


2.1) building docker containers


Code Block
languagetext
stc net-odtn-presmoke

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

Code Block
languagetext
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:

Code Block
languagetext
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


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

This command could be divided into three subcommands in order:

Code Block
languagetext
linenumberstrue
stc -ENV_DEFAULT=/tmp/odtn/OCvar.sh net-setup-odtn       # 2.2.1
stc -ENV_DEFAULT=/tmp/odtn/OCvar.sh net-odtn-restconf    # 2.2.2
stc -ENV_DEFAULT=/tmp/odtn/OCvar.sh net-teardown-odtn    # 2.2.3

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

2.2.1) net-setup-odtn

The same as net-setup-odtn in the single onos instance scenario, the output is shown below:

Code Block
languagetext
linenumberstrue
2019-04-08 21:47:05  ODTN-Net-Setup started
2019-04-08 21:47:05  ODTN-Net-Setup.Wipe-Out-Data-Before started -- onos-wipe-out
2019-04-08 21:47:06  ODTN-Net-Setup.Wipe-Out-Data-Before completed
2019-04-08 21:47:06  ODTN-Net-Setup.Initial-Summary-Check started -- onos-check-summary 172.17.0.5 [0-9]* 0 0 0
2019-04-08 21:47:06  ODTN-Net-Setup.Initial-Summary-Check completed
2019-04-08 21:47:06  ODTN-Net-Setup.Activate-Apps started -- onos 172.17.0.5 app activate odtn-service
2019-04-08 21:47:39  ODTN-Net-Setup.Activate-Apps completed
2019-04-08 21:47:39  ODTN-Net-Setup.Verify-Apps started
2019-04-08 21:47:39  Check-Apps-2 started -- onos-check-apps 172.17.0.6 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 21:47:39  Check-Apps-3 started -- onos-check-apps 172.17.0.7 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 21:47:39  Check-Apps-1 started -- onos-check-apps 172.17.0.5 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 21:48:10  Check-Apps-3 completed
2019-04-08 21:48:10  Check-Apps-1 completed
2019-04-08 21:48:10  Check-Apps-2 completed
2019-04-08 21:48:10  ODTN-Net-Setup.Verify-Apps completed
2019-04-08 21:48:10  ODTN-Net-Setup.Tapi-context started
2019-04-08 21:48:10  ODTN-Net-Setup.Tapi-context-1 started -- /home/sdn/onos/tools/test/scenarios/odtn/checkUntilSucc.sh /home/sdn/onos/tools/test/scenarios/bin/execute-tapi-context-get-call.py+172.17.0.5+empty
2019-04-08 21:48:10  ODTN-Net-Setup.Tapi-context-3 started -- /home/sdn/onos/tools/test/scenarios/odtn/checkUntilSucc.sh /home/sdn/onos/tools/test/scenarios/bin/
Code Block
languagetext
linenumberstrue
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+172.017.0.1 7+empty
2019-04-08 1221:58:12  Net-ODTN-Restconf.Tapi-context completed
2019-04-08 12:58:12  Net-ODTN-Restconf.Confirm-conn-empty48:10  ODTN-Net-Setup.Tapi-context-2 started -- /home/sdn/onos/tools/test/scenarios/odtn/checkUntilSucc.sh /Usershome/onfsdn/onos/tools/test/scenarios/bin/execute-tapi-postcontext-get-call.py 127+172.017.0.1 tapi-connectivity:get-connectivity-service-list 6+empty
2019-04-08 1221:5848:1319  ODTN-Net-ODTN-RestconfSetup.ConfirmTapi-conncontext-empty1 completed
2019-04-08 1221:5848:1319  ODTN-Net-ODTN-RestconfSetup.LineTapi-sidecontext-test2 startedcompleted
2019-04-08 1221:5848:1320  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-sideNet-Setup.Tapi-context-3 completed
2019-04-08 1221:5848:1320  ODTN-Net-ODTN-Restconf.Create-line-sideSetup.Tapi-context completed
2019-04-08 1221:5848:1320  ODTN-Net-ODTN-RestconfSetup.CheckTapi-line-sideconnectivity started -- /Usershome/onfsdn/onos/tools/test/scenarios/odtn/checkUntilSucc.sh 'python /Usershome/onfsdn/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/bin/execute-tapi-post-call.py+172.17.0.5+tapi-connectivity:get-connectivity-service-list+empty
2019-04-08 21:48:20  ODTN-Net-Setup.Tapi-connectivity completed
2019-04-08 21:48:20  ODTN-Net-Setup.Verify-Logs-1 started
2019-04-08 21:48:20  Check-Logs-Odtn-Setup-1-3 started -- onos-check-logs 172.17.0.7
2019-04-08 1221:58:13  Net-ODTN-Restconf.Check-line-side completed48:20  Check-Logs-Odtn-Setup-1-2 started -- onos-check-logs 172.17.0.6
2019-04-08 1221:5848:1320  NetCheck-Logs-ODTNOdtn-Restconf.DeleteSetup-line1-conn started -- /Users/onf/onos/tools/test/scenarios/bin/execute-tapi-delete-call.py 127.0.0.1 line1 started -- onos-check-logs 172.17.0.5
2019-04-08 1221:5848:1420  NetCheck-Logs-ODTNOdtn-Restconf.DeleteSetup-line1-conn1 completed
2019-04-08 1221:5848:1420  NetCheck-ODTNLogs-Restconf.ConfirmOdtn-connSetup-empty1-2 started -- /Users/onf/onos/tools/test/scenarios/bin/execute-tapi-post-call.py 127.0.0.1 tapi-connectivity:get-connectivity-service-list empty3 completed
2019-04-08 21:48:20  Check-Logs-Odtn-Setup-1-2 completed
2019-04-08 1221:5848:1420  ODTN-Net-ODTN-RestconfSetup.ConfirmVerify-connLogs-empty-21 completed
2019-04-08 1221:5848:1420  ODTN-Net-ODTN-RestconfSetup.VerifyInit-Logsnetwork started
2019-04-08 1221:5848:1420  Check-Logs-Restconf-1-1 started -- onos-check-logs 127.0.0.1ODTN-Net-Setup.Start-emulators started -- docker-compose -f /home/sdn/emulator/docker-compose.yaml up -d
2019-04-08 1221:5848:1423  CheckODTN-LogsNet-Restconf-1-1Setup.Start-emulators completed
2019-04-08 1221:5848:1423  ODTN-Net-ODTN-RestconfSetup.Verify-Logs completed
2019-04-08 12:58:14  Net-ODTN-Restconf.Line-side-test completedGenerate-cfg-files started -- /home/sdn/onos/tools/test/scenarios/odtn/createNetCfg.sh
2019-04-08 1221:5848:1453  ODTN-Net-ODTN-RestconfSetup.ClientGenerate-sidecfg-testfiles startedcompleted
2019-04-08 1221:5848:1453  ODTN-Net-ODTN-RestconfSetup.CreatePut-client-sidenodes started -- /Users/onf/onos/tools/test/scenarios/bin/execute-tapi-post-call.py 127.0.0.1 tapi-connectivity:create-connectivity-service client-sideonos-netcfg 172.17.0.5 /tmp/odtn/openconfig-devices.json
2019-04-08 21:48:53  ODTN-Net-Setup.Put-nodes completed
2019-04-08 1221:5848:2553  ODTN-Net-ODTN-RestconfSetup.CreateWait-client-sidenodes completedstarted
2019-04-08 1221:5848:2553  ODTN-Net-ODTN-RestconfSetup.CheckWait-clientnode-side1 started -- /Users/onf/onos/tools/test/scenarios/odtn/checkUntilSucc.sh 'python /Users/onfhome/sdn/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' 1odtn/checkNetInit.sh device 172.17.0.5
2019-04-08 1221:58:35  Net-ODTN-Restconf.Check-client-side completed48:53  ODTN-Net-Setup.Wait-node-2 started -- /home/sdn/onos/tools/test/scenarios/odtn/checkNetInit.sh device 172.17.0.6
2019-04-08 1221:5848:3553  ODTN-Net-ODTN-RestconfSetup.DeleteWait-clientnode-conn3 started -- /Usershome/onfsdn/onos/tools/test/scenarios/bin/execute-tapi-delete-call.py 127.0odtn/checkNetInit.sh device 172.17.0.1 both7
2019-04-08 1221:5849:4605  ODTN-Net-ODTN-RestconfSetup.DeleteWait-clientnode-conn1 completed
2019-04-08 1221:5849:4605  ODTN-Net-ODTN-RestconfSetup.ConfirmWait-connport-empty-31 started -- /Usershome/onfsdn/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 completedodtn/checkNetInit.sh port 172.17.0.5
2019-04-08 1221:5849:5605  ODTN-Net-ODTN-RestconfSetup.VerifyWait-Logsnode-2 startedcompleted
2019-04-08 1221:5849:5605  Check-Logs-RestconfODTN-Net-Setup.Wait-port-2-1 started -- onos-check-logs 127.0.0.1
2019-04-08 12:59:06  Check-Logs-Restconf-2-1 completed/home/sdn/onos/tools/test/scenarios/odtn/checkNetInit.sh port 172.17.0.6
2019-04-08 1221:5949:0605  ODTN-Net-ODTN-RestconfSetup.VerifyWait-Logsnode-23 completed
2019-04-08 1221:5949:0605  ODTN-Net-ODTN-RestconfSetup.ClientWait-sideport-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

Info
titleDeployment

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

2.1) building docker containers

Code Block
languagetext
stc net-odtn-presmoke

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

Code Block
languagetext
3 started -- /home/sdn/onos/tools/test/scenarios/odtn/checkNetInit.sh port 172.17.0.7
2019-04-08 21:49:38  ODTN-Net-Setup.Wait-port-1 completed
2019-04-08 21:2349:0138  ODTN-Net-Prepare started-Setup.Wait-port-2 completed
2019-04-08 21:2349:0139  ODTN-Net-PrepareSetup.cleanWait-port-docker started -- bash /home/sdn/onos/tools/test/scenarios/odtn/destroyOdtnCell.sh3 completed
2019-04-08 21:49:39  ODTN-Net-Setup.Wait-nodes completed
2019-04-08 21:2349:1639  ODTN-Net-PrepareSetup.cleanVerify-Logs-docker2 completedstarted
2019-04-08 21:23:16  ODTN-Net-Prepare.build-docker-img49:39  Check-Logs-Odtn-Setup-2-3 started -- onos-check-logs 172.17.0.7
2019-04-08 21:49:40  Check-Logs-Odtn-Setup-2-2 started -- bash /home/sdn/onos/tools/test/scenarios/odtn/buildOdtnDocker.shonos-check-logs 172.17.0.6
2019-04-08 21:25:05  ODTN-Net-Prepare.build-docker-img completed49:40  Check-Logs-Odtn-Setup-2-1 started -- onos-check-logs 172.17.0.5
2019-04-08 21:2549:0540  ODTNCheck-NetLogs-Prepare.createOdtn-docker-containers started -- source /home/sdn/onos/tools/test/scenarios/odtn/createOdtnCell.shSetup-2-3 completed
2019-04-08 21:2549:5740  ODTNCheck-Logs-NetOdtn-Prepare.createSetup-docker2-containers1 completed
2019-04-08 21:25:57  ODTN-Net-Prepare completed
2:55 Passed! 4 steps succeeded

And the docker status is shown below:

Code Block
languagetext
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

49:40  Check-Logs-Odtn-Setup-2-2 completed
2019-04-08 21:49:40  ODTN-Net-Setup.Verify-Logs-2 completed
2019-04-08 21:49:40  ODTN-Net-Setup.Put-links started -- onos-netcfg 172.17.0.5 /tmp/odtn/openconfig-device-link.json
2019-04-08 21:49:40  ODTN-Net-Setup.Put-links completed
2019-04-08 21:49:40  ODTN-Net-Setup.Wait-links started
2019-04-08 21:49:40  ODTN-Net-Setup.Wait-link-1 started -- /home/sdn/onos/tools/test/scenarios/odtn/checkNetInit.sh link 172.17.0.5
2019-04-08 21:49:40  ODTN-Net-Setup.Wait-link-2 started -- /home/sdn/onos/tools/test/scenarios/odtn/checkNetInit.sh link 172.17.0.6
2019-04-08 21:49:40  ODTN-Net-Setup.Wait-link-3 started -- /home/sdn/onos/tools/test/scenarios/odtn/checkNetInit.sh link 172.17.0.7
2019-04-08 21:50:11  ODTN-Net-Setup.Wait-link-2 completed
2019-04-08 21:50:11  ODTN-Net-Setup.Wait-link-3 completed
2019-04-08 21:50:11  ODTN-Net-Setup.Wait-link-1 completed
2019-04-08 21:50:11  ODTN-Net-Setup.Wait-links completed
2019-04-08 21:50:11  ODTN-Net-Setup.Verify-Logs-3 started
2019-04-08 21:50:11  Check-Logs-Odtn-Setup-3-2 started -- onos-check-logs 172.17.0.6
2019-04-08 21:50:11  Check-Logs-Odtn-Setup-3-1 started -- onos-check-logs 172.17.0.5
2019-04-08 21:50:11  Check-Logs-Odtn-Setup-3-3 started -- onos-check-logs 172.17.0.7
2019-04-08 21:50:11  ODTN-Net-Setup.Init-network completed
2019-04-08 21:50:11  Check-Logs-Odtn-Setup-3-1 completed
2019-04-08 21:50:11  Check-Logs-Odtn-Setup-3-3 completed
2019-04-08 21:50:11  Check-Logs-Odtn-Setup-3-2 completed
2019-04-08 21:50:11  ODTN-Net-Setup.Verify-Logs-3 completed
2019-04-08 21:50:11  ODTN-Net-Setup completed
3:06 Passed! 41 steps succeeded


2.2.2) net-odtn-restconf


The same as net-odtn-restconf in the single onos instance scenario, the output is shown below:

Code Block
languagetext
linenumberstrue
2019-04-08 22:01:53  Net-ODTN-Restconf started
2019-04-08 22:01:53  Net-ODTN-Restconf.Tapi-context started -- execute-tapi-context-get-call.py 172.17.0.5 empty
2019-04-08 22:01:54  Net-ODTN-Restconf.Tapi-context completed
2019-04-08 22:01:54  Net-ODTN-Restconf.Confirm-conn-empty started -- execute-tapi-post-call.py 172.17.0.5 tapi-connectivity:get-connectivity-service-list empty
2019-04-08 22:01:56  Net-ODTN-Restconf.Confirm-conn-empty completed
2019-04-08 22:01:56  Net-ODTN-Restconf.Line-side-test started
2019-04-08 22:01:56  Net-ODTN-Restconf.Create-line-side started -- execute-tapi-post-call.py 172.17.0.5 tapi-connectivity:create-connectivity-service line-side
2019-04-08 22:02:00  Net-ODTN-Restconf.Create-line-side completed
2019-04-08 22:02:00  Net-ODTN-Restconf.Check-line-side started -- /home/sdn/onos/tools/test/scenarios/odtn/checkUntilSucc.sh 'python /home/sdn/onos/tools/test/scenarios/bin/execute-tapi-post-call.py+172.17.0.5+tapi-connectivity:get-connectivity-service-list+empty+|+grep+'tapi-connectivity:output'+|+grep+connection-uuid+-o+|+wc+-l' 1
2019-04-08 22:02:00  Net-ODTN-Restconf.Check-line-side completed
2019-04-08 22:02:00  Net-ODTN-Restconf.Delete-line-conn started -- execute-tapi-delete-call.py 172.17.0.5 line
2019-04-08 22:02:03  Net-ODTN-Restconf.Delete-line-conn completed
2019-04-08 22:02:03  Net-ODTN-Restconf.Confirm-conn-empty-2 started -- execute-tapi-post-call.py 172.17.0.5 tapi-connectivity:get-connectivity-service-list empty
2019-04-08 22:02:05  Net-ODTN-Restconf.Confirm-conn-empty-2 completed
2019-04-08 22:02:05  Net-ODTN-Restconf.Verify-Logs started
2019-04-08 22:02:05  Check-Logs-Restconf-1-1 started -- onos-check-logs 172.17.0.5
2019-04-08 22:02:05  Check-Logs-Restconf-1-3 started -- onos-check-logs 172.17.0.7
2019-04-08 22:02:05  Check-Logs-Restconf-1-2 started -- onos-check-logs 172.17.0.6
2019-04-08 22:02:05  Check-Logs-Restconf-1-3 completed
2019-04-08 22:02:05  Check-Logs-Restconf-1-2 completed
2019-04-08 22:02:05  Check-Logs-Restconf-1-1 completed
2019-04-08 22:02:05  Net-ODTN-Restconf.Verify-Logs completed
2019-04-08 22:02:05  Net-ODTN-Restconf.Line-side-test completed
2019-04-08 22:02:05  Net-ODTN-Restconf.Client-side-test started
2019-04-08 22:02:05  Net-ODTN-Restconf.Create-client-side started -- execute-tapi-post-call.py 172.17.0.5 tapi-connectivity:create-connectivity-service client-side
2019-04-08 22:02:21  Net-ODTN-Restconf.Create-client-side completed
2019-04-08 22:02:21  Net-ODTN-Restconf.Check-client-side started -- /home/sdn/onos/tools/test/scenarios/odtn/checkUntilSucc.sh 'python /home/sdn/onos/tools/test/scenarios/bin/execute-tapi-post-call.py+172.17.0.5+tapi-connectivity:get-connectivity-service-list+empty+|+grep+'tapi-connectivity:output'+|+grep+connection-uuid+-o+|+wc+-l' 1
2019-04-08 22:02:31  Net-ODTN-Restconf.Check-client-side completed
2019-04-08 22:02:31  Net-ODTN-Restconf.Delete-client-conn started -- execute-tapi-delete-call.py 172.17.0.5 both
2019-04-08 22:02:48  Net-ODTN-Restconf.Delete-client-conn completed
2019-04-08 22:02:48  Net-ODTN-Restconf.Confirm-conn-empty-3 started -- execute-tapi-post-call.py 172.17.0.5 tapi-connectivity:get-connectivity-service-list empty
2019-04-08 22:02:59  Net-ODTN-Restconf.Confirm-conn-empty-3 completed
2019-04-08 22:02:59  Net-ODTN-Restconf.Verify-Logs-2 started
2019-04-08 22:02:59  Check-Logs-Restconf-2-2 started -- onos-check-logs 172.17.0.6
2019-04-08 22:02:59  Check-Logs-Restconf-2-1 started -- onos-check-logs 172.17.0.5
2019-04-08 22:02:59  Check-Logs-Restconf-2-3 started -- onos-check-logs 172.17.0.7
2019-04-08 22:03:10  Check-Logs-Restconf-2-2 completed
2019-04-08 22:03:10  Check-Logs-Restconf-2-3 completed
2019-04-08 22:03:10  Check-Logs-Restconf-2-1 completed
2019-04-08 22:03:10  Net-ODTN-Restconf.Verify-Logs-2 completed
2019-04-08 22:03:10  Net-ODTN-Restconf.Client-side-test completed
2019-04-08 22:03:10  Net-ODTN-Restconf completed
1:16 Passed! 21 steps succeeded


2.2.3) net-teardown-odtn

This command is used to deactivate odtn-setvice and destroy docker containers.

The output is shown below:

Code Block
languagetext
linenumberstrue
2019-04-08 22:10:17  Net-Teardown-ODTN started
2019-04-08 22:10:17  App-Dectivate-Odtn-Service started -- onos 172.17.0.5 app deactivate org.onosproject.odtn-service
2019-04-08 22:10:19  App-Dectivate-Odtn-Service completed
2019-04-08 22:10:19  Remove-onos-images-stop-emulators started -- /home/sdn/onos/tools/test/scenarios/odtn/destroyOdtnCell.sh
2019-04-08 22:10:32  Remove-onos-images-stop-emulators completed
2019-04-08 22:10:32  Net-Teardown-ODTN completed
0:15 Passed! 3 steps succeeded
Code Block
languagetext
stc -ENV_DEFAULT=/tmp/odtn/OCvar.sh net-odtn-smoke