Changes between Initial Version and Version 1 of Tutorials/4G5G/Inter Digital-Edge Link


Ignore:
Timestamp:
Jan 28, 2021, 4:39:36 PM (4 years ago)
Author:
seskar
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Tutorials/4G5G/Inter Digital-Edge Link

    v1 v1  
     1[[Include(WikiToC)]]
     2
     3= Getting Started with !InterDigital EdgeLink Platform =
     4
     5[[TOC()]]
     6
     7== Description ==
     8In this tutorial we'll demonstrate how to use [wiki:/Hardware/SubSystems/IDEdgeLink#InterdigitalEdgeLink60GHzmmWaveMeshTransportSystem InterDigital EdgeLink mmW Mesh Transport System]. The setup for the experiment is shown in Figure 1.
     9
     10[[Image(EdgeLink-Setup.jpg, width=600px)]]
     11
     12In order to access the test bed, create a reservation and have it approved by the reservation service. Access to the resources are granted only after the reservation is confirmed. Please follow the process shown on [wiki:CosmosOverview/Workflow the COSMOS work flow page] to get started.
     13
     14== Tutorial Setup ==
     15
     16 Follow the steps below to gain access to the [wiki:Architecture/Domains/cosmos_sb1 sandbox 1] console and set up nodes with appropriate images.
     17 
     18 1. If you don't have one already, sign up for a [wiki:GettingStarted#MakeanAccount COSMOS account]
     19 1. [wiki:GettingStarted#MakeaReservation Create a resource reservation] on sandbox 1
     20 1. Prepare your local computer (i.e. laptop) for Edgelink ONOS and Orchestrator status page access:
     21   * To access the ONOS GUI prepare [wiki:UserGuide/RemoteAccess/SshTunnel ssh tunnel] to the sandbox 1 console and the Network Controller server, port 8181 (i.e. map localhost:8181 to srv3-lg1.sb1.cosmos-lab.org:8181)
     22   * To access the ORCHESTRATOR GUI prepare [wiki:UserGuide/RemoteAccess/SshTunnel ssh tunnel] to the sandbox 1 console to the Network Controller server, port 8888 (i.e. map localhost:8888 to srv3-lg1.sb1.cosmos-lab.org:8888)
     23   * If VPN is preferred over SSH then follow the instructions to establish a [wiki:UserGuide/RemoteAccess/VPN VPN tunnel] to the [wiki:Architecture/Domains/cosmos_sb1 COSMOS sandbox 1]. This will be used by the browser to connect to a web server running on the server nodes.
     24 1. [wiki:UserGuide/RemoteAccess#RemoteAccess Login] into sandbox 1 console (console.sb1.cosmos-lab.org) with multiple SSH sessions as needed.
     25 1. Check the status and make sure the server and all the devices used in the experiment are turned off:
     26{{{#!shell
     27omf stat -t rfdev1-1,rfdev1-2,srv5-lg1
     28}}}
     29  To turn off the resources needed for the experiment:
     30  {{{#!shell
     31omf tell -a offh -t rfdev1-1,rfdev1-2,srv5-lg1
     32}}}
     33 1. Load the image on the server [Documentation/Short/LoadImage  omf image loading] commands:
     34 {{{#!shell
     35omf load -t srv5-lg1 -i idel.ndz -r 50
     36}}}
     37 1. Turn the server and Mesh nodes on:
     38{{{#!shell-session
     39omf tell -a on -t rfdev2-1,rfdev2-2,srv5-lg1
     40}}}
     41   
     42== Experiment Execution ==
     43The Mesh Network Controller (NC) will autonomously detect the available Mesh Nodes and establish links between the GW Node and the detected Mesh Nodes.   
     44=== Configure Routing between the NC machine and the Gateway Node ===
     45The communication link between the Controller located on the srv5-lg1 compute machine and the Gateway Node must be established.
     46{{{#!shell-session
     47userid@console:~$ ssh native@srv5-lg1
     48-------------------
     49password: native
     50-------------------
     51native@srv3-lg1:~$ sudo ./Rutgers_Package/setup_routes.sh
     52}}}
     53
     54[[CollapsibleStart(Routing Script)]]
     55The script to setup a communication route between the NC and GW Node
     56{{{#!shell
     57#!/bin/bash
     58route add -host 192.168.200.10 dev enp3s0
     59route add -net 192.168.150.0/24 dev enp3s0 gw 192.168.200.10
     60}}}
     61[[CollapsibleEnd]]
     62
     63=== Check routes and connections are in place before starting ONOS ===
     64
     65Display the routing table. NOTE: the user interface displayed in Figure 2 is for example purposes, your NC machine may be different.  The routes for subnets 192.168.150.0, 192.168.200.0 & 192.168.200.10 should be in place as shown in Figure 2.
     66{{{#!shell
     67native@srv3-lg1:~$route -n
     68}}}
     69Expected routes are shown as per Figure 2
     70[[Image(Routing.png, 800px)]]
     71
     72=== Verify the GW Node is reachable by the NC Controller ===
     73{{{#!shell-session
     74native@srv3-lg1:~$ ping 192.168.200.10
     75}}}
     76 === Start the ONOS controller ===
     77{{{#!shell-session
     78native@srv3-lg1:~$ ./onos/onos-1.9.0/bin/onos-service start
     79}}}
     80Figure 3 – ONOS startup is successful.
     81[[Image(Routes1.png, 800px)]]
     82
     83=== Services on the Mesh Nodes ===
     84Each Mesh node is configured to execute the mesh SW upon a power cycle or soft reboot.  You can manually restart the Mesh SW on each node by momentarily removing the ethernet PoE connection to each of the Nodes or use the omf command to “turn off” & “turn on” rfdev1-1 & rfdev1-2 which are the GW Node and NON-GW Node respectively .  A soft reboot of the nodes can be executed by accessing the Wi-Fi debug subnet.
     85==== The Edgelink GW node can be accessed via the IP address assigned by the debug network ====
     86{{{#!shell-session
     87userid@console:>ssh native@srv5-lg1
     88native@srv3-lg1:~$ ssh root@10.113.1.102
     89}}}
     90==== The EdgeLink NON-GW node can be accessed via the IP address assigned by the debug network ====
     91{{{#!shell-session
     92userid@console:>ssh native@srv5-lg1
     93native@srv3-lg1:~$ ssh root@10.113.1.103
     94}}}
     95
     96
     97Once you have accessed the node via the debug network you can ping the connected node and send iperf data.  From here you can also issue the soft reboot command but ONLY if necessary, to restart the node.  The bridge IP address is 192.168.150.1 and 192.168.150.3 respectively for the  GW Node and the NON-GW Node.
     98{{{#!shell-session
     99root@ls1043ardb:#ping 192.168.150.x
     100(OR to REBOOT)
     101root@ls1043ardb:#reboot
     102}}}
     103
     104== Start the ONOS GUI ==
     105Open a Google or FireFox browser and enter the url of the ssh or VPN  tunnel established to the COSMOS sandbox 1 for your local machine to connect to a web server running on the server node.
     106{{{#!shell-session
     107localhost :8181/onos/ui
     108}}}
     109You should see the ONOS login page as shown in Figure 4
     110[[Image(, 400px)]]
     111Enter ONOS credentials:
     112{{{#!shell-session
     113User :          onos
     114Password:       rocks
     115}}}
     116ONOS topology will display the GW node and the non-GW node as shown in Figure 5 when the network controller detects/registers the nodes.
     117[[Image( ONOS.png, 800px)]]
     118
     119== Start the ORCHESTRATOR ==
     120The Orchestrator is a thin client application used to provision transport slices.  See Orchestrator User Guide for additional information.
     121
     122=== Start the Thin Client Orchestrator ===
     123Start the TomCat Service
     124{{{#!shell-session
     125native@srv3-lg1:~$ sudo systemctl daemon-reload
     126native@srv3-lg1:~$ sudo systemctl start tomcat
     127--------------------------------------
     128Status of the tomcat service can be verified with the following:
     129--------------------------------------
     130native@srv3-lg1:~$ sudo systemctl status tomcat
     131
     132}}}
     133=== Access Orchestrator in a web browser ===
     134Open a Google or FireFox browser and enter the url of the ssh or VPN tunnel established to the COSMOS sandbox 1 for your local machine to connect to the TomCat web server running on the server node.
     135{{{#!shell-session
     136localhost:8888/orchestrator
     137}}}
     138•       You should see the Customer Registration page as shown in Figure 6
     139[[Image( ONOS-Login.png, 400px)]]
     140Enter credentials:
     141{{{#!shell-session
     142Customer ID:            1
     143Password:                       root
     144}}}
     145
     146•       Select Register and you should receive a “Registration Successful” indication.
     147
     148•       Select the Configuration Page as shown in Figure 7.
     149[[Image( ONOS-Topo, 400px)]]
     150
     151{{{#!shell-session
     152NC IP:                  where ONOS is running
     153NC RPC Port:    8181 (this is the port at which ONOS UI is accessed)
     154}}}
     155*       Select the Save button
     156*       At this point you will be able to select from the operations displayed. 
     157*       Please refer to the Orchestrator User Manual for further directions and capabilities.
     158
     159== Saving the Node Images ==
     160If you modify software on the server node save the image by the [omf save image commands] but don't forget to first prepare the node by executing '''as root user''' (this is the example for srv5-lg1 node):
     161{{{#!shell-session
     162root@srv5-lg1:~# ./prepare.sh
     163}}}
     164This script will “clean” and “dump” old log files and any other unnecessary files that do not need to be saved as part of the image, thereby reducing the size of the saved image.
     165At the end of this script, the node will shutdown (it might block your ssh window forcing you to open another one); once back on the console, you can save that node disk image with
     166{{{#!shell-session
     167username@console:~# omf save -n srv5-lg1.sb1.cosmos-lab.org
     168}}}
     169(please note the -n option and the FQDN for the node both of which are mandatory for successful saving operation).