Skip to content

Tutorial 4: Multi tenant DCN TNC 2016

Eduard Grasa edited this page Jun 22, 2016 · 28 revisions

Introduction

The goal of this tutorial is to experiment with the configuration of a small RINA-based data centre network using the Network Management System DAF (NMS-DAF) developed in the PRISTINE project. This experiment was demonstrated live at the TNC 2016 conference. This scenario has been tested with the pristine-1.5 branch, using 12 XEN Virtual Machines running in the same Host.

Tutorial 4 scenario: top view

The image above shows the top view of the DCN scenario, except for the Management DIF (not shown to not overcomplicate the picture). In the demo configuration the NMS-DAF was running over a dedicated DIF - to better enforce separation of user and management traffic - but this is just a possible configuration: the NMS-DAF can use any underlying DIF. The image below shows a side view of the different levels of DIFs in the DC.

Tutorial 4 scenario: side view

1. Bootstrapping the systems

Configuration files must be copied to the stack's installation path "etc" folder (e.g. if you installed it in /usr/local/irati, config files must be in /usr/local/irati/etc). The configuration files only create the shim IPCPs in each system as well the IPCP in the NMS DIF, all the other DIFs will be created via the Manager.

1.1 M1

1.1.1 M1 system configuration

Copy the following files into <installation_path>/etc.

1.1.2 M1 system initialization

Configure the required VLANs

modprobe 8021q
ip link add link eth1 name eth1.12 type vlan id 12
ip link set dev eth1 up
ip link set dev eth1.12 up
ip link add link eth2 name eth2.13 type vlan id 13
ip link set dev eth2 up
ip link set dev eth2.13 up
ip link add link eth3 name eth3.14 type vlan id 14
ip link set dev eth3 up
ip link set dev eth3.14 up
ip link add link eth4 name eth4.15 type vlan id 15
ip link set dev eth4 up
ip link set dev eth4.15 up
ip link add link eth5 name eth5.16 type vlan id 16
ip link set dev eth5 up
ip link set dev eth5.16 up
ip link add link eth6 name eth6.17 type vlan id 17
ip link set dev eth6 up
ip link set dev eth6.17 up
ip link add link eth7 name eth7.18 type vlan id 18
ip link set dev eth7 up
ip link set dev eth7.18 up
ip link add link eth8 name eth8.19 type vlan id 19
ip link set dev eth8 up
ip link set dev eth8.19 up
ip link add link eth9 name eth9.110 type vlan id 110
ip link set dev eth9 up
ip link set dev eth9.110 up
ip link add link eth10 name eth10.111 type vlan id 111
ip link set dev eth10 up
ip link set dev eth10.111 up
ip link add link eth11 name eth11.112 type vlan id 112
ip link set dev eth11 up
ip link set dev eth11.112 up

Load the RINA kernel modules

modprobe shim-eth-vlan
modprobe rina-default-plugin
modprobe normal-ipcp

Startup the IPC Manager in the background

cd <installation_path>/bin
./ipcm -c ../etc/ipcm-t4.conf -l DEBUG -a "console, scripting, mad" &

1.2 M2

1.2.1 M2 system configuration

Copy the following files into <installation_path>/etc.

1.2.2 M2 system initialization

Configure the required VLANs

modprobe 8021q
ip link add link eth1 name eth1.12 type vlan id 12
ip link set dev eth1 up
ip link set dev eth1.12 up
ip link add link eth8 name eth8.29 type vlan id 29
ip link set dev eth8 up
ip link set dev eth8.29 up

Load the RINA kernel modules

modprobe shim-eth-vlan
modprobe rina-default-plugin
modprobe normal-ipcp

Startup the IPC Manager in the background

cd <installation_path>/bin
./ipcm -c ../etc/ipcm-t4.conf -l DEBUG -a "console, scripting, mad" &

Log into the IPC Manager console and enroll with system m1 in the NMS DIF

root@m2:~# socat - UNIX:/usr/local/irati/var/run/ipcm-console.sock 
IPCM >>> enroll-to-dif 3 NMS.DIF 12 m1.nms 1
IPCM >>> DIF enrollment successfully completed
IPCM >>> list-ipcps
    Current IPC processes (id | name | type | state | Registered applications | Port-ids of flows provided)
        1 | m2.12:1:: | shim-eth-vlan | ASSIGNED TO DIF 12 | m2.nms-1-- | 2
        2 | m2.29:1:: | shim-eth-vlan | ASSIGNED TO DIF 29 | - | -
        3 | m2.nms:1:: | normal-ipc | ASSIGNED TO DIF NMS.DIF | - | -
IPCM >>> exit
root@m2:~#

1.3 M3

1.3.1 M3 system configuration

Copy the following files into <installation_path>/etc.

1.3.2 M3 system initialization

Configure the required VLANs

modprobe 8021q
ip link add link eth1 name eth1.13 type vlan id 13
ip link set dev eth1 up
ip link set dev eth1.13 up
ip link add link eth8 name eth8.39 type vlan id 39
ip link set dev eth8 up
ip link set dev eth8.39 up

Load the RINA kernel modules

modprobe shim-eth-vlan
modprobe rina-default-plugin
modprobe normal-ipcp

Startup the IPC Manager in the background

cd <installation_path>/bin
./ipcm -c ../etc/ipcm-t4.conf -l DEBUG -a "console, scripting, mad" &

Log into the IPC Manager console and enroll with system m1 in the NMS DIF

root@m3:~# socat - UNIX:/usr/local/irati/var/run/ipcm-console.sock 
IPCM >>> enroll-to-dif 3 NMS.DIF 13 m1.nms 1
IPCM >>> DIF enrollment successfully completed
IPCM >>> list-ipcps
    Current IPC processes (id | name | type | state | Registered applications | Port-ids of flows provided)
        1 | m3.13:1:: | shim-eth-vlan | ASSIGNED TO DIF 13 | m3.nms-1-- | 2
        2 | m3.39:1:: | shim-eth-vlan | ASSIGNED TO DIF 39 | - | -
        3 | m3.nms:1:: | normal-ipc | ASSIGNED TO DIF NMS.DIF | - | -
IPCM >>> exit
root@m3:~#

1.4 M4

1.4.1 M4 system configuration

Copy the following files into <installation_path>/etc.

1.4.2 M4 system initialization

Configure the required VLANs

modprobe 8021q
ip link add link eth1 name eth1.14 type vlan id 14
ip link set dev eth1 up
ip link set dev eth1.14 up
ip link add link eth8 name eth8.49 type vlan id 49
ip link set dev eth8 up
ip link set dev eth8.49 up

Load the RINA kernel modules

modprobe shim-eth-vlan
modprobe rina-default-plugin
modprobe normal-ipcp

Startup the IPC Manager in the background

cd <installation_path>/bin
./ipcm -c ../etc/ipcm-t4.conf -l DEBUG -a "console, scripting, mad" &

Log into the IPC Manager console and enroll with system m1 in the NMS DIF

root@m4:~# socat - UNIX:/usr/local/irati/var/run/ipcm-console.sock 
IPCM >>> enroll-to-dif 3 NMS.DIF 14 m1.nms 1
IPCM >>> DIF enrollment successfully completed
IPCM >>> list-ipcps
    Current IPC processes (id | name | type | state | Registered applications | Port-ids of flows provided)
        1 | m4.14:1:: | shim-eth-vlan | ASSIGNED TO DIF 14 | m4.nms-1-- | 2
        2 | m4.49:1:: | shim-eth-vlan | ASSIGNED TO DIF 49 | - | -
        3 | m4.nms:1:: | normal-ipc | ASSIGNED TO DIF NMS.DIF | - | -
IPCM >>> exit
root@m4:~#

1.5 M5

1.5.1 M5 system configuration

Copy the following files into <installation_path>/etc.

1.5.2 M5 system initialization

Configure the required VLANs

modprobe 8021q
ip link add link eth1 name eth1.15 type vlan id 15
ip link set dev eth1 up
ip link set dev eth1.15 up
ip link add link eth7 name eth7.58 type vlan id 58
ip link set dev eth7 up
ip link set dev eth7.58 up

Load the RINA kernel modules

modprobe shim-eth-vlan
modprobe rina-default-plugin
modprobe normal-ipcp

Startup the IPC Manager in the background

cd <installation_path>/bin
./ipcm -c ../etc/ipcm-t4.conf -l DEBUG -a "console, scripting, mad" &

Log into the IPC Manager console and enroll with system m1 in the NMS DIF

root@m5:~# socat - UNIX:/usr/local/irati/var/run/ipcm-console.sock 
IPCM >>> enroll-to-dif 3 NMS.DIF 15 m1.nms 1
IPCM >>> DIF enrollment successfully completed
IPCM >>> list-ipcps
    Current IPC processes (id | name | type | state | Registered applications | Port-ids of flows provided)
        1 | m5.15:1:: | shim-eth-vlan | ASSIGNED TO DIF 15 | m5.nms-1-- | 2
        2 | m5.58:1:: | shim-eth-vlan | ASSIGNED TO DIF 58 | - | -
        3 | m5.nms:1:: | normal-ipc | ASSIGNED TO DIF NMS.DIF | - | -
IPCM >>> exit
root@m5:~#

1.6 M6

1.6.1 M6 system configuration

Copy the following files into <installation_path>/etc.

1.6.2 M6 system initialization

Configure the required VLANs

modprobe 8021q
ip link add link eth1 name eth1.16 type vlan id 16
ip link set dev eth1 up
ip link set dev eth1.16 up
ip link add link eth7 name eth7.68 type vlan id 68
ip link set dev eth7 up
ip link set dev eth7.68 up

Load the RINA kernel modules

modprobe shim-eth-vlan
modprobe rina-default-plugin
modprobe normal-ipcp

Startup the IPC Manager in the background

cd <installation_path>/bin
./ipcm -c ../etc/ipcm-t4.conf -l DEBUG -a "console, scripting, mad" &

Log into the IPC Manager console and enroll with system m1 in the NMS DIF

root@m6:~# socat - UNIX:/usr/local/irati/var/run/ipcm-console.sock 
IPCM >>> enroll-to-dif 3 NMS.DIF 16 m1.nms 1
IPCM >>> DIF enrollment successfully completed
IPCM >>> list-ipcps
    Current IPC processes (id | name | type | state | Registered applications | Port-ids of flows provided)
        1 | m6.16:1:: | shim-eth-vlan | ASSIGNED TO DIF 16 | m6.nms-1-- | 2
        2 | m6.68:1:: | shim-eth-vlan | ASSIGNED TO DIF 68 | - | -
        3 | m6.nms:1:: | normal-ipc | ASSIGNED TO DIF NMS.DIF | - | -
IPCM >>> exit
root@m6:~#

1.7 M7

1.7.1 M7 system configuration

Copy the following files into <installation_path>/etc.

1.7.2 M7 system initialization

Configure the required VLANs

modprobe 8021q
ip link add link eth1 name eth1.17 type vlan id 17
ip link set dev eth1 up
ip link set dev eth1.17 up
ip link add link eth7 name eth7.78 type vlan id 78
ip link set dev eth7 up
ip link set dev eth7.78 up

Load the RINA kernel modules

modprobe shim-eth-vlan
modprobe rina-default-plugin
modprobe normal-ipcp

Startup the IPC Manager in the background

cd <installation_path>/bin
./ipcm -c ../etc/ipcm-t4.conf -l DEBUG -a "console, scripting, mad" &

Log into the IPC Manager console and enroll with system m1 in the NMS DIF

root@m7:~# socat - UNIX:/usr/local/irati/var/run/ipcm-console.sock 
IPCM >>> enroll-to-dif 3 NMS.DIF 17 m1.nms 1
IPCM >>> DIF enrollment successfully completed
IPCM >>> list-ipcps
    Current IPC processes (id | name | type | state | Registered applications | Port-ids of flows provided)
        1 | m7.17:1:: | shim-eth-vlan | ASSIGNED TO DIF 17 | m7.nms-1-- | 2
        2 | m7.78:1:: | shim-eth-vlan | ASSIGNED TO DIF 78 | - | -
        3 | m7.nms:1:: | normal-ipc | ASSIGNED TO DIF NMS.DIF | - | -
IPCM >>> exit
root@m7:~#

1.8 M8

1.8.1 M8 system configuration

Copy the following files into <installation_path>/etc.

1.8.2 M8 system initialization

Configure the required VLANs

modprobe 8021q
ip link add link eth1 name eth1.18 type vlan id 18
ip link set dev eth1 up
ip link set dev eth1.18 up
ip link add link eth5 name eth5.58 type vlan id 58
ip link set dev eth5 up
ip link set dev eth5.58 up
ip link add link eth6 name eth6.68 type vlan id 68
ip link set dev eth6 up
ip link set dev eth6.68 up
ip link add link eth7 name eth7.78 type vlan id 78
ip link set dev eth7 up
ip link set dev eth7.78 up
ip link add link eth9 name eth9.810 type vlan id 810
ip link set dev eth9 up
ip link set dev eth9.810 up
ip link add link eth10 name eth10.811 type vlan id 811
ip link set dev eth10 up
ip link set dev eth10.811 up

Load the RINA kernel modules

modprobe shim-eth-vlan
modprobe rina-default-plugin
modprobe normal-ipcp

Startup the IPC Manager in the background

cd <installation_path>/bin
./ipcm -c ../etc/ipcm-t4.conf -l DEBUG -a "console, scripting, mad" &

Log into the IPC Manager console and enroll with system m1 in the NMS DIF

root@m8:~# socat - UNIX:/usr/local/irati/var/run/ipcm-console.sock 
IPCM >>> enroll-to-dif 7 NMS.DIF 18 m1.nms 1
IPCM >>> DIF enrollment successfully completed
IPCM >>> list-ipcps
    Current IPC processes (id | name | type | state | Registered applications | Port-ids of flows provided)
        1 | m8.18:1:: | shim-eth-vlan | ASSIGNED TO DIF 18 | m8.nms-1-- | 2
        2 | m8.58:1:: | shim-eth-vlan | ASSIGNED TO DIF 58 | - | -
        3 | m8.68:1:: | shim-eth-vlan | ASSIGNED TO DIF 68 | - | -
        4 | m8.78:1:: | shim-eth-vlan | ASSIGNED TO DIF 78 | - | -
        5 | m8.810:1:: | shim-eth-vlan | ASSIGNED TO DIF 810 | - | -
        6 | m8.811:1:: | shim-eth-vlan | ASSIGNED TO DIF 811 | - | -
        7 | m8.nms:1:: | normal-ipc | ASSIGNED TO DIF NMS.DIF | - | -
IPCM >>> exit
root@m8:~#

1.9 M9

1.9.1 M9 system configuration

Copy the following files into <installation_path>/etc.

1.9.2 M9 system initialization

Configure the required VLANs

modprobe 8021q
ip link add link eth1 name eth1.19 type vlan id 19
ip link set dev eth1 up
ip link set dev eth1.19 up
ip link add link eth2 name eth2.29 type vlan id 29
ip link set dev eth2 up
ip link set dev eth2.29 up
ip link add link eth3 name eth3.39 type vlan id 39
ip link set dev eth3 up
ip link set dev eth3.39 up
ip link add link eth4 name eth4.49 type vlan id 49
ip link set dev eth4 up
ip link set dev eth4.49 up
ip link add link eth9 name eth9.910 type vlan id 910
ip link set dev eth9 up
ip link set dev eth9.910 up
ip link add link eth10 name eth10.911 type vlan id 911
ip link set dev eth10 up
ip link set dev eth10.911 up

Load the RINA kernel modules

modprobe shim-eth-vlan
modprobe rina-default-plugin
modprobe normal-ipcp

Startup the IPC Manager in the background

cd <installation_path>/bin
./ipcm -c ../etc/ipcm-t4.conf -l DEBUG -a "console, scripting, mad" &

Log into the IPC Manager console and enroll with system m1 in the NMS DIF

root@m9:~# socat - UNIX:/usr/local/irati/var/run/ipcm-console.sock 
IPCM >>> enroll-to-dif 7 NMS.DIF 19 m1.nms 1
IPCM >>> DIF enrollment successfully completed
IPCM >>> list-ipcps
    Current IPC processes (id | name | type | state | Registered applications | Port-ids of flows provided)
        1 | m9.19:1:: | shim-eth-vlan | ASSIGNED TO DIF 19 | m9.nms-1-- | 2
        2 | m9.29:1:: | shim-eth-vlan | ASSIGNED TO DIF 29 | - | -
        3 | m9.39:1:: | shim-eth-vlan | ASSIGNED TO DIF 39 | - | -
        4 | m9.49:1:: | shim-eth-vlan | ASSIGNED TO DIF 49 | - | -
        5 | m9.910:1:: | shim-eth-vlan | ASSIGNED TO DIF 910 | - | -
        6 | m9.911:1:: | shim-eth-vlan | ASSIGNED TO DIF 911 | - | -
        7 | m9.nms:1:: | normal-ipc | ASSIGNED TO DIF NMS.DIF | - | -
IPCM >>> exit
root@m9:~#

1.10 M10

1.10.1 M10 system configuration

Copy the following files into <installation_path>/etc.

1.10.2 M10 system initialization

Configure the required VLANs

modprobe 8021q
ip link add link eth1 name eth1.110 type vlan id 110
ip link set dev eth1 up
ip link set dev eth1.110 up
ip link add link eth8 name eth8.810 type vlan id 810
ip link set dev eth8 up
ip link set dev eth8.810 up
ip link add link eth9 name eth9.910 type vlan id 910
ip link set dev eth9 up
ip link set dev eth9.910 up
ip link add link eth11 name eth11.1012 type vlan id 1012
ip link set dev eth11 up
ip link set dev eth11.1012 up

Load the RINA kernel modules

modprobe shim-eth-vlan
modprobe rina-default-plugin
modprobe normal-ipcp

Startup the IPC Manager in the background

cd <installation_path>/bin
./ipcm -c ../etc/ipcm-t4.conf -l DEBUG -a "console, scripting, mad" &

Log into the IPC Manager console and enroll with system m1 in the NMS DIF

root@m10:~# socat - UNIX:/usr/local/irati/var/run/ipcm-console.sock 
IPCM >>> enroll-to-dif 5 NMS.DIF 110 m1.nms 1
IPCM >>> DIF enrollment successfully completed
IPCM >>> list-ipcps
    Current IPC processes (id | name | type | state | Registered applications | Port-ids of flows provided)
        1 | m10.110:1:: | shim-eth-vlan | ASSIGNED TO DIF 110 | m10.nms-1-- | 2
        2 | m10.810:1:: | shim-eth-vlan | ASSIGNED TO DIF 810 | - | -
        3 | m10.910:1:: | shim-eth-vlan | ASSIGNED TO DIF 910 | - | -
        4 | m10.1012:1:: | shim-eth-vlan | ASSIGNED TO DIF 1012 | - | -
        5 | m10.nms:1:: | normal-ipc | ASSIGNED TO DIF NMS.DIF | - | -
IPCM >>> exit
root@m10:~#

1.11 M11

1.11.1 M11 system configuration

Copy the following files into <installation_path>/etc.

1.11.2 M11 system initialization

Configure the required VLANs

modprobe 8021q
ip link add link eth1 name eth1.111 type vlan id 111
ip link set dev eth1 up
ip link set dev eth1.111 up
ip link add link eth8 name eth8.811 type vlan id 811
ip link set dev eth8 up
ip link set dev eth8.811 up
ip link add link eth9 name eth9.911 type vlan id 911
ip link set dev eth9 up
ip link set dev eth9.911 up
ip link add link eth11 name eth11.1112 type vlan id 1112
ip link set dev eth11 up
ip link set dev eth11.1112 up

Load the RINA kernel modules

modprobe shim-eth-vlan
modprobe rina-default-plugin
modprobe normal-ipcp

Startup the IPC Manager in the background

cd <installation_path>/bin
./ipcm -c ../etc/ipcm-t4.conf -l DEBUG -a "console, scripting, mad" &

Log into the IPC Manager console and enroll with system m1 in the NMS DIF

root@m11:~# socat - UNIX:/usr/local/irati/var/run/ipcm-console.sock 
IPCM >>> enroll-to-dif 5 NMS.DIF 111 m1.nms 1
IPCM >>> DIF enrollment successfully completed
IPCM >>> list-ipcps
    Current IPC processes (id | name | type | state | Registered applications | Port-ids of flows provided)
        1 | m11.111:1:: | shim-eth-vlan | ASSIGNED TO DIF 111 | m11.nms-1-- | 2
        2 | m11.811:1:: | shim-eth-vlan | ASSIGNED TO DIF 811 | - | -
        3 | m11.911:1:: | shim-eth-vlan | ASSIGNED TO DIF 911 | - | -
        4 | m11.1112:1:: | shim-eth-vlan | ASSIGNED TO DIF 1112 | - | -
        5 | m11.nms:1:: | normal-ipc | ASSIGNED TO DIF NMS.DIF | - | -
IPCM >>> exit
root@m11:~#

1.12 M12

1.12.1 M12 system configuration

Copy the following files into <installation_path>/etc.

1.12.2 M12 system initialization

Configure the required VLANs

modprobe 8021q
ip link add link eth1 name eth1.112 type vlan id 112
ip link set dev eth1 up
ip link set dev eth1.112 up
ip link add link eth10 name eth10.1012 type vlan id 1012
ip link set dev eth10 up
ip link set dev eth10.1012 up
ip link add link eth11 name eth11.1112 type vlan id 1112
ip link set dev eth11 up
ip link set dev eth11.1112 up
ip link add link tap0 name tap0.300 type vlan id 300
ip link set dev tap0 up
ip link set dev tap0.300 up

Load the RINA kernel modules

modprobe shim-eth-vlan
modprobe rina-default-plugin
modprobe normal-ipcp

Startup the IPC Manager in the background

cd <installation_path>/bin
./ipcm -c ../etc/ipcm-t4.conf -l DEBUG -a "console, scripting, mad" &

Log into the IPC Manager console and enroll with system m1 in the NMS DIF

root@m12:~# socat - UNIX:/usr/local/irati/var/run/ipcm-console.sock 
IPCM >>> enroll-to-dif 5 NMS.DIF 112 m1.nms 1
IPCM >>> DIF enrollment successfully completed
IPCM >>> list-ipcps
    Current IPC processes (id | name | type | state | Registered applications | Port-ids of flows provided)
        1 | m12.112:1:: | shim-eth-vlan | ASSIGNED TO DIF 112 | m12.nms-1-- | 2
        2 | m12.1012:1:: | shim-eth-vlan | ASSIGNED TO DIF 1012 | - | -
        3 | m12.1112:1:: | shim-eth-vlan | ASSIGNED TO DIF 1112 | - | -
        4 | m12.300:1:: | shim-eth-vlan | INITIALIZED | - | -
        5 | m12.nms:1:: | normal-ipc | ASSIGNED TO DIF NMS.DIF | - | -
IPCM >>> exit
root@m12:~#

2. Installing and configuring the Manager

The Manager binaries will be soon available from the ICT PRISTINE project website.

2.1 Manager installation

Unzip the manager binaries to your preferred location in system m1, e.g. /home/manager. Once this is done initialize the manager binary scripts:

root@m1:~/home/manager/bin# ./init.sh
    -----------------------------------------------------------------
    - generating for target sh
    gen-run-scripts: using configuration: 
      - run script name: run
      - run class      : eu.ict_pristine.wp5.dms.manager.service.DmsExec
      - java cp        : lib/java/* scripts data
      - auto-gen reg   : true
      - java property  : java.property.encoding = file.encoding:UTF-8
      - java property  : java.property.logback = logback.configurationFile:{APPLICATION_HOME}/etc/logback.xml

    gen-run-scripts: generating scripts for target: sh

    gen-run-scripts: no classmap file name given
     --> generating main run script - /root/manager/bin/sh/run.sh
     --> generating script from auto-gen-reg - /root/manager/bin/sh/dms-manager-ws.sh
     --> generating script from auto-gen-reg - /root/manager/bin/sh/dms-manager-zk-ws.sh
     --> generating script from auto-gen-reg - /root/manager/bin/sh/dms-shell-ws.sh
     --> generating script from auto-gen-reg - /root/manager/bin/sh/dms-shell-zk-ws.sh
     --> generating script from auto-gen-reg - /root/manager/bin/sh/dms-trigger-sim-ws.sh
     --> generating script from auto-gen-reg - /root/manager/bin/sh/dms-trigger-sim-zk-ws.sh
     --> generating script from auto-gen-reg - /root/manager/bin/sh/event-to-file-ws.sh
     --> generating script from auto-gen-reg - /root/manager/bin/sh/event-to-file-zk-ws.sh
     --> generating script from auto-gen-reg - /root/manager/bin/sh/events-from-log-ws.sh
     --> generating script from auto-gen-reg - /root/manager/bin/sh/events-from-log-zk-ws.sh
     --> generating script from auto-gen-reg - /root/manager/bin/sh/gen-configure.sh
     --> generating script from auto-gen-reg - /root/manager/bin/sh/gen-run-scripts.sh
     --> generating script from auto-gen-reg - /root/manager/bin/sh/simple-console-ws.sh
     --> generating script from auto-gen-reg - /root/manager/bin/sh/simple-console-zk-ws.sh
     --> generating script from auto-gen-reg - /root/manager/bin/sh/ws-server.sh
     --> generating script from auto-gen-reg - /root/manager/bin/sh/zk-init.sh
     --> generating script from auto-gen-reg - /root/manager/bin/sh/zk-reset.sh
     --> generating script from auto-gen-reg - /root/manager/bin/sh/zk-ws-server.sh
    -----------------------------------------------------------------

2.2 Copying DIF templates

Copy the following DIF template files to the /home/manager/scripts/ folder.

2.3 Copying configuration scripts

Copy the following DIF template files to the /home/manager/scripts/ folder.

3. Running the Manager and configuring the DCN

3.1 Starting the Manager processes

Start the websockets server:

root@m1:~/home/manager/bin/sh# ./ws-server.sh

Start the Manager process:

root@m1:~/home/manager/bin/sh# ./dms-manager-ws.sh

Start the Manager shell and initialize the Manager with the RINA strategies:

root@m1:~/home/manager/bin/sh# ./dms-shell-ws.sh
...
scrun pr/setup

Start the CDAP connector. Now the Manager will register to the NMS DIF and all the MAs will connect to it.

root@m1:~/home/manager/bin/sh# LD_LIBRARY_PATH=/usr/local/irati/lib/ ./cc-ws.sh 
...
INFO:CDAP M_CONNECT. Sending to Manager.
INFO: JSON=  {"TAX_VERSION":"1.0.0","TAX_LANGUAGE":"CDAP","TAX_DIALECT":"CDAP_RES","TAX_TIME":"1466590270157","TAX_TYPE":"ES_CDAP","TAX_SOURCE":"DMS_AGENT","TAX_ID":"ES_Event#1","TAX_ID_HASH":"-2017988137","TAX_TIME_STRING":"2016-06-22 12:11:10.157","reason":"CDAP_RES","name":"tDMS_AGENT","info":"CDAP response","absSyntax": 115,"opCode": "M_CONNECT","invokeID": 1,"objClass": "","objName": "","objInst": 0,"result": 0,"scope": 0,"authPolicy": {"name": "PSOC_authentication-none"},"destAEInst": "","destAEName": "","destApInst": "1","destApName": "rina.apps.manager","srcAEInst": "","srcAEName": "","srcApInst": "1","srcApName": "m5.mad","resultReason": "","version": 1}
INFO:CDAP M_CONNECT. Sending to Manager.
INFO: JSON={"TAX_VERSION":"1.0.0","TAX_LANGUAGE":"CDAP","TAX_DIALECT":"CDAP_RES","TAX_TIME":"1466590270206","TAX_TYPE":"ES_CDAP","TAX_SOURCE":"DMS_AGENT","TAX_ID":"ES_Event#2","TAX_ID_HASH":"-2017988136","TAX_TIME_STRING":"2016-06-22 12:11:10.206","reason":"CDAP_RES","name":"tDMS_AGENT","info":"CDAP response","absSyntax": 115,"opCode": "M_CONNECT","invokeID": 1,"objClass": "","objName": "","objInst": 0,"result": 0,"scope": 0,"authPolicy": {"name": "PSOC_authentication-none"},"destAEInst": "","destAEName": "","destApInst": "1","destApName": "rina.apps.manager","srcAEInst": "","srcAEName": "","srcApInst": "1","srcApName": "m6.mad","resultReason": "","version": 1}
INFO:CDAP M_CONNECT. Sending to Manager.
INFO: JSON={"TAX_VERSION":"1.0.0","TAX_LANGUAGE":"CDAP","TAX_DIALECT":"CDAP_RES","TAX_TIME":"1466590270290","TAX_TYPE":"ES_CDAP","TAX_SOURCE":"DMS_AGENT","TAX_ID":"ES_Event#3","TAX_ID_HASH":"-2017988135","TAX_TIME_STRING":"2016-06-22 12:11:10.290","reason":"CDAP_RES","name":"tDMS_AGENT","info":"CDAP response","absSyntax": 115,"opCode": "M_CONNECT","invokeID": 1,"objClass": "","objName": "","objInst": 0,"result": 0,"scope": 0,"authPolicy": {"name": "PSOC_authentication-none"},"destAEInst": "","destAEName": "","destApInst": "1","destApName": "rina.apps.manager","srcAEInst": "","srcAEName": "","srcApInst": "1","srcApName": "m10.mad","resultReason": "","version": 1}
...

The CDAP connector log should reflect the flows allocated to the Manager as well as the setup of application connections between the Manager and the Management agents. If we now look at the DMS shell console at type the listMas command, we will see all the systems that have registered.

listMas dialect:dif
dms @ ws-server on ws://localhost:8887: dms: Response from <DMS_MANAGER> 

List of connected MAs
----
3	{m10.mad,1}	Connected
4	{m7.mad,1}	Connected
1	{m5.mad,1}	Connected
2	{m6.mad,1}	Connected
11	{m1.mad,1}	Connected
10	{m9.mad,1}	Connected
9	{m2.mad,1}	Connected
12	{m4.mad,1}	Connected
7	{m3.mad,1}	Connected
8	{m12.mad,1}	Connected
5	{m11.mad,1}	Connected
6	{m8.mad,1}	Connected

3.2 Configuring the Fabric DIF

We just need to tell the manager to execute the fabric.ssc script. To do so, we go to the Manager shell and type:

scrun fabric

running file fabric.ssc
....dms: Response from <DMS_MANAGER> 

DIFManager: createIPCP -- request dispatched

dms: Response from <DMS_MANAGER> 

DIFManager: createIPCP -- request dispatched

dms: Response from <DMS_MANAGER> 

DIFManager: createIPCP -- request dispatched

..dms: Response from <DMS_MANAGER> 

DIFManager: createIPCP -- request dispatched

..dms: Response from <DMS_MANAGER> 

DIFManager: createIPCP -- request dispatched

.dms @ ws-server on ws://localhost:8887: dms: Response from <DMS_MANAGER> 

DIFManager: createIPCP -- request dispatched

The Manager will issue CDAP operations in form of messages to the Management Agents, which will create the IPC Processes required for the fabric DIF, register them to N-1 DIFs, configure them as members of the fabric DIF and discover its neighbors. If we look at the output of the list-ipcps command in system m12 we will see the updated configuration after the fabric DIF has been created.

socat - UNIX:/usr/local/irati/var/run/ipcm-console.sock
IPCM >>> list-ipcps
Current IPC processes (id | name | type | state | Registered applications | Port-ids of flows provided)
    1 | m12.112:1:: | shim-eth-vlan | ASSIGNED TO DIF 112 | m12.nms-1-- | 2
    2 | m12.1012:1:: | shim-eth-vlan | ASSIGNED TO DIF 1012 | m12.fabric-1-- | 8
    3 | m12.1112:1:: | shim-eth-vlan | ASSIGNED TO DIF 1112 | m12.fabric-1-- | 9
    4 | m12.300:1:: | shim-eth-vlan | INITIALIZED | - | -
    5 | m12.nms:1:: | normal-ipc | ASSIGNED TO DIF NMS.DIF | - | 7
    6 | m12.overlay:1:: | normal-ipc | ASSIGNED TO DIF overlay.DIF | - | -
    7 | m12.fabric:1:: | normal-ipc | ASSIGNED TO DIF fabric.DIF | - | -

IPCM >>> exit

3.3 Configuring the VPN1 DIF

We just need to tell the manager to execute the vpn1.ssc script. To do so, we go to the Manager shell and type:

scrun vpn1

The Manager shell will display a similar output than before. If we go to system m12, we will see the updated configuration:

socat - UNIX:/usr/local/irati/var/run/ipcm-console.sock
IPCM >>> list-ipcps
Current IPC processes (id | name | type | state | Registered applications | Port-ids of flows provided)
    1 | m12.112:1:: | shim-eth-vlan | ASSIGNED TO DIF 112 | m12.nms-1-- | 2
    2 | m12.1012:1:: | shim-eth-vlan | ASSIGNED TO DIF 1012 | m12.fabric-1-- | 8
    3 | m12.1112:1:: | shim-eth-vlan | ASSIGNED TO DIF 1112 | m12.fabric-1-- | 9
    4 | m12.300:1:: | shim-eth-vlan | INITIALIZED | - | -
    5 | m12.nms:1:: | normal-ipc | ASSIGNED TO DIF NMS.DIF | - | 7
    6 | m12.overlay:1:: | normal-ipc | ASSIGNED TO DIF overlay.DIF | m12.vpn1-1-- | -
    7 | m12.fabric:1:: | normal-ipc | ASSIGNED TO DIF fabric.DIF | m12.vpn1-1-- | 10
    8 | m12.vpn1:1:: | normal-ipc | ASSIGNED TO DIF vpn1.DIF | - | -

3.3 Configuring the VPN2 DIF

We just need to tell the manager to execute the vpn2.ssc script. To do so, we go to the Manager shell and type:

scrun vpn2

The Manager shell will display a similar output than before. If we go to system m12, we will see the updated configuration:

socat - UNIX:/usr/local/irati/var/run/ipcm-console.sock
IPCM >>> list-ipcps
Current IPC processes (id | name | type | state | Registered applications | Port-ids of flows provided)
    1 | m12.112:1:: | shim-eth-vlan | ASSIGNED TO DIF 112 | m12.nms-1-- | 2
    2 | m12.1012:1:: | shim-eth-vlan | ASSIGNED TO DIF 1012 | m12.fabric-1-- | 8
    3 | m12.1112:1:: | shim-eth-vlan | ASSIGNED TO DIF 1112 | m12.fabric-1-- | 9
    4 | m12.300:1:: | shim-eth-vlan | INITIALIZED | - | -
    5 | m12.nms:1:: | normal-ipc | ASSIGNED TO DIF NMS.DIF | - | 7
    6 | m12.overlay:1:: | normal-ipc | ASSIGNED TO DIF overlay.DIF | m12.vpn1-1--, m12.vpn2-1-- | -
    7 | m12.fabric:1:: | normal-ipc | ASSIGNED TO DIF fabric.DIF | m12.vpn1-1--, m12.vpn2-1-- | 10, 11
    8 | m12.vpn1:1:: | normal-ipc | ASSIGNED TO DIF vpn1.DIF | - | -
    9 | m12.vpn2:1:: | normal-ipc | ASSIGNED TO DIF vpn2.DIF | - | -

3.4 Configuring the VPN3 DIF

We just need to tell the manager to execute the vpn3.ssc script. To do so, we go to the Manager shell and type:

scrun vpn3

The Manager shell will display a similar output than before. Now we will check that the configuration applied to the different systems work. To do so, we will start a rina-tgen server and client in VPN3. We start the server in system m2:

root@m2:/usr/local/irati/bin# ./rina-tgen -l
61623(1466591055)#librina.logs (DBG): New log level: INFO
61623(1466591055)#librina.nl-manager (INFO): Netlink socket connected to local port 61623 

Now we start the client in system m7 and run a test of 20 seconds.

root@m7:/usr/local/irati/bin# ./rina-tgen --duration 20 -s 1400
61117(1466591124)#librina.logs (DBG): New log level: INFO
61117(1466591124)#librina.nl-manager (INFO): Netlink socket connected to local port 61117 
61117(1466591124)#traffic-generator (INFO): starting test
61117(1466591144)#traffic-generator (INFO): sent statistics:    498985 SDUs,    698579000 bytes in  19999842 us, 279.4338 Mb/s

This is the log of the server at m2:

61623(1466591124)#traffic-generator (INFO): New flow allocated [port-id = 6]
61623(1466591124)#traffic-generator (INFO): Starting test from client traffic.generator.client-1 on port-id 6
61623(1466591124)#traffic-generator (INFO): Duration: 20 s, count: 0 sdus, sdu size: 1400 bytes, reporting interval: 1000 ms
61623(1466591125)#traffic-generator (INFO): Port    6:     26906 SDUs (    37668400 bytes) in      1000282 us => 26898.4146 p/s,  301.2622 Mb/s
61623(1466591126)#traffic-generator (INFO): Port    6:     25961 SDUs (    36345400 bytes) in      1001604 us => 25919.4252 p/s,  290.2976 Mb/s
61623(1466591127)#traffic-generator (INFO): Port    6:     26163 SDUs (    36628200 bytes) in      1000527 us => 26149.2194 p/s,  292.8713 Mb/s
61623(1466591128)#traffic-generator (INFO): Port    6:     26215 SDUs (    36701000 bytes) in      1000447 us => 26203.2871 p/s,  293.4768 Mb/s
61623(1466591129)#traffic-generator (INFO): Port    6:     25749 SDUs (    36048600 bytes) in      1000058 us => 25747.5066 p/s,  288.3721 Mb/s
61623(1466591130)#traffic-generator (INFO): Port    6:     26491 SDUs (    37087400 bytes) in      1000213 us => 26485.3586 p/s,  296.6360 Mb/s
61623(1466591131)#traffic-generator (INFO): Port    6:     27437 SDUs (    38411800 bytes) in      1000341 us => 27427.6472 p/s,  307.1896 Mb/s
61623(1466591132)#traffic-generator (INFO): Port    6:     26222 SDUs (    36710800 bytes) in      1002108 us => 26166.8403 p/s,  293.0686 Mb/s
61623(1466591133)#traffic-generator (INFO): Port    6:     26884 SDUs (    37637600 bytes) in      1000023 us => 26883.3817 p/s,  301.0939 Mb/s
61623(1466591134)#traffic-generator (INFO): Port    6:     27128 SDUs (    37979200 bytes) in      1000399 us => 27117.1802 p/s,  303.7124 Mb/s
61623(1466591135)#traffic-generator (INFO): Port    6:     26201 SDUs (    36681400 bytes) in      1000750 us => 26181.3640 p/s,  293.2313 Mb/s
61623(1466591136)#traffic-generator (INFO): Port    6:     27711 SDUs (    38795400 bytes) in      1001607 us => 27666.5399 p/s,  309.8652 Mb/s 
61623(1466591137)#traffic-generator (INFO): Port    6:     27160 SDUs (    38024000 bytes) in      1000265 us => 27152.8045 p/s,  304.1114 Mb/s
61623(1466591138)#traffic-generator (INFO): Port    6:     25253 SDUs (    35354200 bytes) in      1000130 us => 25249.7175 p/s,  282.7968 Mb/s
61623(1466591139)#traffic-generator (INFO): Port    6:     26224 SDUs (    36713600 bytes) in      1000931 us => 26199.6082 p/s,  293.4356 Mb/s
61623(1466591141)#traffic-generator (INFO): Port    6:     10542 SDUs (    14758800 bytes) in      1506909 us => 6995.7774 p/s,   78.3527 Mb/s
61623(1466591141)#traffic-generator (INFO): Port    6:     12268 SDUs (    17175200 bytes) in      1000808 us => 12258.0955 p/s,  137.2907 Mb/s
61623(1466591142)#traffic-generator (INFO): Port    6:     25849 SDUs (    36188600 bytes) in      1000302 us => 25841.1960 p/s,  289.4214 Mb/s
61623(1466591143)#traffic-generator (INFO): Port    6:     27138 SDUs (    37993200 bytes) in      1000306 us => 27129.6983 p/s,  303.8526 Mb/s
61623(1466591144)#traffic-generator (INFO): Port    6:     25393 SDUs (    35550200 bytes) in      1002403 us => 25332.1269 p/s,  283.7198 Mb/s
61623(1466591144)#traffic-generator (INFO): Port    6:    498895 SDUs,    698453000 bytes in     20002 ms, 279.3533 Mb/s
61623(1466591144)#traffic-generator (INFO): Flow torn down remotely [port-id = 6]
Clone this wiki locally