Added Put file to put scripts onto the mininet vm & also added sudo command to handle...
authormahesh.manivasagam <mahesh_manivasagam@dell.com>
Thu, 16 Apr 2015 10:48:19 +0000 (16:18 +0530)
committerLuis Gomez <ecelgp@gmail.com>
Tue, 28 Apr 2015 22:49:58 +0000 (22:49 +0000)
Change-Id: I012ede4017783fe98d6f16c8c018cf0744182f17
Signed-off-by: mahesh.manivasagam <mahesh_manivasagam@dell.com>
test/csit/suites/lacp/Lacp_Feature_OF13/010__lacp_inventory.robot [new file with mode: 0644]
test/csit/suites/lacp/Lacp_Feature_OF13/010__lacp_inventory.txt [deleted file]
test/csit/suites/lacp/Lacp_Feature_OF13/LACP_custom1.py
test/csit/suites/lacp/Lacp_Feature_OF13/__init__.robot [new file with mode: 0644]
test/csit/suites/lacp/Lacp_Feature_OF13/__init__.txt [deleted file]
test/csit/suites/lacp/Lacp_Feature_OF13/h1-bond0.sh
test/csit/suites/lacp/Lacp_Feature_OF13/h2-bond0.sh
test/csit/variables/Variables.py

diff --git a/test/csit/suites/lacp/Lacp_Feature_OF13/010__lacp_inventory.robot b/test/csit/suites/lacp/Lacp_Feature_OF13/010__lacp_inventory.robot
new file mode 100644 (file)
index 0000000..c962976
--- /dev/null
@@ -0,0 +1,82 @@
+*** Settings ***\r
+Documentation     Test suite for RESTCONF LACP inventory\r
+Suite Setup       Create Session    session    http://${CONTROLLER}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}\r
+Suite Teardown    Delete All Sessions\r
+Library           SSHLibrary\r
+Library           Collections\r
+Library           ../../../libraries/RequestsLibrary.py\r
+Library           ../../../libraries/Common.py\r
+Variables         ../../../variables/Variables.py\r
+\r
+*** Variables ***\r
+${node1}          openflow:1\r
+${agg-id1}        1\r
+${agg-id2}        2\r
+${agg1-connector-id1}    1\r
+${agg1-connector-id2}    2\r
+${agg2-connector-id1}    3\r
+${agg2-connector-id2}    4\r
+\r
+*** Test Cases ***\r
+Get list of nodes and LACP reference on Inventory\r
+    [Documentation]    Get the nodes data\r
+    ${resp}    Get    session    ${OPERATIONAL_NODES_API}\r
+    Verify LACP RESTAPI Response Code for node\r
+    Verify LACP RESTAPI Aggregator and Tag Contents    ${resp.content}    non-lag-groupid\r
+    Verify LACP RESTAPI Aggregator and Tag Contents    ${resp.content}    lacp-aggregators\r
+\r
+Get the Specific Node Inventory and Lacp aggregator details\r
+    [Documentation]    Get the lacp-aggregator data for specific node\r
+    ${resp}    Get    session    ${OPERATIONAL_NODES_API}/node/${node1}\r
+    Verify LACP RESTAPI Response Code for node\r
+    Verify LACP RESTAPI Aggregator and Tag Contents    ${resp.content}    ${agg-id1}\r
+    Verify LACP RESTAPI Aggregator and Tag Contents    ${resp.content}    ${agg-id2}\r
+\r
+Get information of each lacp-aggregator for a node\r
+    [Documentation]    Get each lacp-aggregator data for a node\r
+    ${resp}    Get    session    ${OPERATIONAL_NODES_API}/node/${node1}/lacp-aggregators/${agg-id1}\r
+    Verify LACP RESTAPI Response Code for node\r
+    Verify LACP connector associated for aggregator    ${resp.content}    ${node1}    ${agg1-connector-id1}\r
+    Verify LACP connector associated for aggregator    ${resp.content}    ${node1}    ${agg1-connector-id2}\r
+    Verify LACP RESTAPI Aggregator and Tag Contents    ${resp.content}    lag-groupid\r
+    ${resp}    Get    session    ${OPERATIONAL_NODES_API}/node/${node1}/lacp-aggregators/${agg-id2}\r
+    Verify LACP RESTAPI Response Code for node\r
+    Verify LACP connector associated for aggregator    ${resp.content}    ${node1}    ${agg2-connector-id1}\r
+    Verify LACP connector associated for aggregator    ${resp.content}    ${node1}    ${agg2-connector-id2}\r
+    Verify LACP RESTAPI Aggregator and Tag Contents    ${resp.content}    lag-groupid\r
+\r
+Get node connector data for node 1\r
+    [Documentation]    Get the node connector inventory for node 1\r
+    ${resp}    Get    session    ${OPERATIONAL_NODES_API}/node/${node1}/node-connector/${node1}:${agg1-connector-id1}\r
+    Verify LACP RESTAPI Response Code for node\r
+    Verify specific LACP node connector data for node    ${resp.content}    ${agg-id1}    agg-id\r
+    ${resp}    Get    session    ${OPERATIONAL_NODES_API}/node/${node1}/node-connector/${node1}:${agg1-connector-id2}\r
+    Verify LACP RESTAPI Response Code for node\r
+    Verify specific LACP node connector data for node    ${resp.content}    ${agg-id1}    agg-id\r
+    ${resp}    Get    session    ${OPERATIONAL_NODES_API}/node/${node1}/node-connector/${node1}:${agg2-connector-id1}\r
+    Verify LACP RESTAPI Response Code for node\r
+    Verify specific LACP node connector data for node    ${resp.content}    ${agg-id2}    agg-id\r
+    ${resp}    Get    session    ${OPERATIONAL_NODES_API}/node/${node1}/node-connector/${node1}:${agg2-connector-id2}\r
+    Verify LACP RESTAPI Response Code for node\r
+    Verify specific LACP node connector data for node    ${resp.content}    ${agg-id2}    agg-id\r
+\r
+*** Keywords ***\r
+Verify LACP RESTAPI Response Code for node\r
+    [Documentation]    Will check for the response code of the REST query\r
+    Should Be Equal As Strings    ${resp.status_code}    200\r
+    Should Contain    ${resp.content}    ${node1}\r
+\r
+Verify LACP RESTAPI Aggregator and Tag Contents\r
+    [Arguments]    ${resp.content}    ${content-lookup}\r
+    [Documentation]    Will check for the LACP Specific tags or Aggregator ID for node\r
+    Should Contain    ${resp.content}    ${content-lookup}\r
+\r
+Verify LACP connector associated for aggregator\r
+    [Arguments]    ${resp.content}    ${node}    ${agg-connector-id}\r
+    [Documentation]    Will check for the LACP connector info for each aggregator\r
+    Should Contain    ${resp.content}    ${node}:${agg-connector-id}\r
+\r
+Verify specific LACP node connector data for node\r
+    [Arguments]    ${resp.content}    ${agg-id}    ${connector}\r
+    [Documentation]    Will check for node connectory info for node\r
+    Should Contain    ${resp.content}    ${connector}='${agg-id}'\r
diff --git a/test/csit/suites/lacp/Lacp_Feature_OF13/010__lacp_inventory.txt b/test/csit/suites/lacp/Lacp_Feature_OF13/010__lacp_inventory.txt
deleted file mode 100644 (file)
index 9f88310..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-*** Settings ***
-Documentation     Test suite for RESTCONF LACP inventory
-Suite Setup       Create Session   session   http://${CONTROLLER}:8181   auth=${AUTH}   headers=${HEADERS}
-Suite Teardown    Delete All Sessions
-Library     SSHLibrary
-Library           Collections
-Library           ../../../libraries/RequestsLibrary.py
-Library           ../../../libraries/Common.py
-Library           robot.libraries.XML
-Variables         ../../../variables/Variables.py
-
-
-*** Variables ***
-${REST_CONTEXT}    /restconf/operational/opendaylight-inventory:nodes
-${node1}    openflow:1
-${agg-id1}   1
-${agg-id2}   2
-${agg1-connector-id1}  1
-${agg1-connector-id2}  2
-${agg2-connector-id1}  3
-${agg2-connector-id2}  4
-${lacp-mac}    01:80:c2:00:00:02
-${lacp-ether-type}     0x8809
-
-*** Test Cases *** 
-Get list of nodes and LACP reference on Inventory
-    [Documentation]    Get the nodes data
-       ${resp}    Get    session    ${REST_CONTEXT}
-       Should Be Equal As Strings    ${resp.status_code}    200
-       Should Contain     ${resp.content}      ${node1} 
-        Should Contain     ${resp.content}      non-lag-groupid 
-        Should Contain     ${resp.content}      lacp-aggregators
-        
-Get the Specific Node Inventory and Lacp aggregator details
-    [Documentation]    Get the lacp-aggregator data for specific node
-        ${resp}    Get    session    ${REST_CONTEXT}/node/${node1}
-        Should Be Equal As Strings    ${resp.status_code}    200
-        Should Contain     ${resp.content}      ${node1}
-        Should Contain     ${resp.content}      <agg-id>${agg-id1}</agg-id>
-        Should Contain     ${resp.content}      <agg-id>${agg-id2}</agg-id>
-        ${non-lag-group-id}=      Get_Element    ${resp}     non-lag-groupid
-
-Get information of each lacp-aggregator for a node
-    [Documentation]    Get each lacp-aggregator data for a node
-        ${resp}    Get    session    ${REST_CONTEXT}/node/${node1}/lacp-aggregators/${agg-id1}
-        Should Be Equal As Strings   ${resp.status_code}    200
-        Should Contain     ${resp.content}      ${agg-id1}
-        Should Contain     ${resp.content}      ${node1}
-        Should Contain     ${resp.content}      ${node1}:${agg1-connector-id1}
-        Should Contain     ${resp.content}      ${node1}:${agg1-connector-id2}
-        Should Contain     ${resp.content}      lag-groupid
-        ${lag-group-id1}=      Get_Element    ${resp}     lag-groupid        
-
-        ${resp}    Get    session    ${REST_CONTEXT}/node/${node1}/lacp-aggregators/${agg-id2}
-        Should Be Equal As Strings   ${resp.status_code}    200
-        Should Contain     ${resp.content}      ${agg-id2}
-        Should Contain     ${resp.content}      ${node1}
-        Should Contain     ${resp.content}      ${node1}:${agg2-connector-id1}
-        Should Contain     ${resp.content}      ${node1}:${agg2-connector-id2}
-        Should Contain     ${resp.content}      lag-groupid
-        ${lag-group-id2}=      Get_Element    ${resp}     lag-groupid   
-
-Get node connector data for node 1
-    [Documentation]    Get the node connector inventory for node 1
-        ${resp}    Get    session    ${REST_CONTEXT}/node/${node1}/node-connector/${node1}:${agg1-connector-id1}
-        Should Be Equal As Strings   ${resp.status_code}    200
-        Should Contain      ${resp.content}      ${node1}
-        Should Contain      ${resp.content}      agg-id='${agg-id1}'
-
-        ${resp}    Get    session    ${REST_CONTEXT}/node/${node1}/node-connector/${node1}:${agg1-connector-id2}
-        Should Be Equal As Strings   ${resp.status_code}    200
-        Should Contain      ${resp.content}      ${node1}
-        Should Contain      ${resp.content}      agg-id='${agg-id1}'
-
-        ${resp}    Get    session    ${REST_CONTEXT}/node/${node1}/node-connector/${node1}:${agg2-connector-id1}
-        Should Be Equal As Strings   ${resp.status_code}    200
-        Should Contain      ${resp.content}      ${node1}
-        Should Contain      ${resp.content}      agg-id='${agg-id2}'
-
-        ${resp}    Get    session    ${REST_CONTEXT}/node/${node1}/node-connector/${node1}:${agg2-connector-id2}
-        Should Be Equal As Strings   ${resp.status_code}    200
-        Should Contain      ${resp.content}      ${node1}
-        Should Contain      ${resp.content}      agg-id='${agg-id2}'
-
-Verification of Switch(S1) Flow and Group tables
-    [Documentation]    Verification of Switch(S1) Flow and Group tables
-        Verify Switch S1 Flow Table
-        Verify Switch S1 Group Table
-
-*** Keywords ***
-Verify Switch S1 Flow Table for LACP flow
-    Log    OVS Switch(S1) Flow table Verification
-    Open Connection   ${MININET}     prompt=>
-    Login With Public Key    ${MININET_USER}   ${USER_HOME}/.ssh/id_rsa   any
-    Sleep    15
-    Write    clear
-    Sleep    5
-    Write    sudo ovs-ofctl dump-flows s1 -O OpenFlow13
-    Sleep    5
-    ${s1_flow}=    Read
-    Should Contain    ${s1_flow}    dl_dst=${lacp-mac},dl_type=${lacp-ether-type} actions=CONTROLLER:65535
-
-Verify Switch S1 Group Table
-    Log    OVS Switch(S1) Group table Verification
-    Open Connection   ${MININET}     prompt=>
-    Login With Public Key    ${MININET_USER}   ${USER_HOME}/.ssh/id_rsa   any
-    Sleep    15
-    Write    clear
-    Sleep    5
-    Write    sudo ovs-ofctl dump-groups s1 -O OpenFlow13
-    Sleep    5
-    $(s1_group}=   Read
-    Should Contain    ${s1_group}   group_id=${lag-group-id1},type=select
-    Should Contain    ${s1_group}   group_id=${lag-group-id2},type=select
-    Should Contain    ${s1_group}   group_id=${non-lag-group-id},type=all
-
index 18edaadc70678f0061a8120d1bb3203c14e4da10..6e35cb0573f76434c6e0d73cd3614043ace39a2f 100644 (file)
@@ -1,48 +1,49 @@
-"""Custom LACP topology for LACP Module testing 
+"""Custom LACP topology for LACP Module testing
 
 
-1.Two hosts(H1,H2) two interface each  connected with Switch(S1)     
+1.Two hosts(H1,H2) two interface each  connected with Switch(S1)
 2.Two hosts(H3,H4) one interface each  connected with Switch(S1)
 
 
                    - - - -
                    | H2   |
 2.Two hosts(H3,H4) one interface each  connected with Switch(S1)
 
 
                    - - - -
                    | H2   |
-                   |      | 
+                   |      |
                    - - - -
                      |  |
                      |  |
                    - - - -
                      |  |
                      |  |
-                   - - - - -   
+                   - - - - -
 - - -  eth1        |        |         - - -
 | H1 |- - - - - - -| S1     |- - - - -| H3 |
 |    |- - - - - - -|        |         |    |
 - - -  eth2         - - - - -         - - -
                        |
 - - -  eth1        |        |         - - -
 | H1 |- - - - - - -| S1     |- - - - -| H3 |
 |    |- - - - - - -|        |         |    |
 - - -  eth2         - - - - -         - - -
                        |
-                     - - - 
-                    |  H4 |             
-                     - - -  
+                     - - -
+                    |  H4 |
+                     - - -
 
 
-Execute Custom topology: 
+Execute Custom topology:
 sudo mn  --custom LACP_custom1.py --switch ovsk,protocols=OpenFlow13 --topo=lacp
 
 Note:
  1.remoteController IP will be replaced in LACP_custom1.py using sed command during the robot execution
  2.bonding.conf will be copied the mininet server under /etc/modprobe.d
 sudo mn  --custom LACP_custom1.py --switch ovsk,protocols=OpenFlow13 --topo=lacp
 
 Note:
  1.remoteController IP will be replaced in LACP_custom1.py using sed command during the robot execution
  2.bonding.conf will be copied the mininet server under /etc/modprobe.d
- 3.h1-bonding.sh h2-bonding.sh will be executed in respective h1,h2 host console  
+ 3.h1-bonding.sh h2-bonding.sh will be executed in respective h1,h2 host console
 """
 
 from mininet.cli import CLI
 from mininet.net import Mininet
 """
 
 from mininet.cli import CLI
 from mininet.net import Mininet
-from mininet.node import OVSController,RemoteController
+from mininet.node import RemoteController
 from mininet.topo import Topo
 from mininet.link import Link
 
 from mininet.topo import Topo
 from mininet.link import Link
 
-class LacpTopo( Topo):
+
+class LacpTopo(Topo):
     net = Mininet(controller=RemoteController)
     net = Mininet(controller=RemoteController)
-    c0 = net.addController('c0',controller=RemoteController,ip='CONTROLLER')
+    c0 = net.addController('c0', controller=RemoteController, ip='CONTROLLER')
     s1 = net.addSwitch('s1')
     s1 = net.addSwitch('s1')
-    h1 = net.addHost('h1',mac='00:00:00:00:00:11')
-    h2 = net.addHost('h2',mac='00:00:00:00:00:22')
-    h3 = net.addHost('h3',mac='00:00:00:00:00:33',ip='10.1.1.3')
-    h4 = net.addHost('h4',mac='00:00:00:00:00:44',ip='10.1.1.4')
+    h1 = net.addHost('h1', mac='00:00:00:00:00:11')
+    h2 = net.addHost('h2', mac='00:00:00:00:00:22')
+    h3 = net.addHost('h3', mac='00:00:00:00:00:33', ip='10.1.1.3')
+    h4 = net.addHost('h4', mac='00:00:00:00:00:44', ip='10.1.1.4')
 
     Link(s1, h1)
     Link(s1, h1)
 
     Link(s1, h1)
     Link(s1, h1)
@@ -58,5 +59,4 @@ class LacpTopo( Topo):
     CLI(net)
     net.stop()
 
     CLI(net)
     net.stop()
 
-topos = { 'lacp': (lambda: LacpTopo() ) }
-
+topos = {'lacp': (lambda: LacpTopo())}
diff --git a/test/csit/suites/lacp/Lacp_Feature_OF13/__init__.robot b/test/csit/suites/lacp/Lacp_Feature_OF13/__init__.robot
new file mode 100644 (file)
index 0000000..98a7f7e
--- /dev/null
@@ -0,0 +1,39 @@
+*** Settings ***
+Documentation     Test suite for MD-SAL LACP  mininet OF13
+Suite Setup       Start Suite
+Suite Teardown    Stop Suite
+Library           SSHLibrary
+Variables         ../../../variables/Variables.py
+
+*** Variables ***
+${start}=   sudo mn --custom LACP_custom1.py --switch ovsk,protocols=OpenFlow13
+${bond}=     "/etc/modprobe.d/bonding.conf"
+
+*** Keywords ***
+Start Suite
+    Log    Start mininet
+    Open Connection   ${MININET}     prompt=${PROMPT}
+    Login With Public Key    ${MININET_USER}   ${USER_HOME}/.ssh/id_rsa   any
+    Write    sudo ovs-vsctl set-manager ptcp:6633
+    Write    sudo mn -c
+    Read Until    ${PROMPT}
+    Write    sudo rm -rf ${bond}
+    Put File    ${CURDIR}/LACP_custom1.py
+    Put File    ${CURDIR}/h1-bond0.sh
+    Put File    ${CURDIR}/h2-bond0.sh
+    Put File    ${CURDIR}/m
+    Put File    ${CURDIR}/bonding.conf
+    Write    sudo cp bonding.conf ${bond}
+    Write    sed -i -- 's/CONTROLLER/${CONTROLLER}/g' LACP_custom1.py
+    Write    ${start}
+    Read Until     mininet>
+
+Stop Suite
+    Log    Stop mininet
+    Read
+    Write    exit
+    Read Until    ${PROMPT}
+    Write    sed -i -- 's/${CONTROLLER}/CONTROLLER/g' LACP_custom1.py
+    Write    sudo rm -rf ${bond}
+    Read Until    ${PROMPT}
+    Close Connection
diff --git a/test/csit/suites/lacp/Lacp_Feature_OF13/__init__.txt b/test/csit/suites/lacp/Lacp_Feature_OF13/__init__.txt
deleted file mode 100644 (file)
index d0f3d55..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-*** Settings ***
-Documentation     Test suite for MD-SAL LACP  mininet OF13
-Suite Setup       Start Suite
-Suite Teardown    Stop Suite
-Library     SSHLibrary
-
-*** Variables ***
-${start}=   sudo mn --custom LACP_custom1.py --switch ovsk,protocols=OpenFlow13 
-${bond}=     "/etc/modprobe.d/bonding.conf"
-
-** Keywords ***
-Start Suite  
-    Log    Start mininet
-    Open Connection   ${MININET}     prompt=>
-    Login With Public Key    ${MININET_USER}   ${USER_HOME}/.ssh/id_rsa   any 
-    Sleep    5
-    Write    sudo ovs-vsctl set-manager ptcp:6633
-    Write    sudo mn -c
-    Sleep    2
-    Write    rm -rf ${bond} 
-    Sleep    2
-    Write    cp bonding.conf ${bond}
-    Sleep    2
-    Write    sed -i -- 's/CONTROLLER/${CONTROLLER}/g' LACP_custom1.py
-    Sleep    2
-    Write    ${start}
-    Sleep    30
-    Read
-Stop Suite
-    Log    Stop mininet
-    Read
-    Write    exit 
-    Sleep    4
-    Write    sed -i -- 's/${CONTROLLER}/CONTROLLER/g' LACP_custom1.py
-    Sleep    2
-    Write    rm -rf ${bond}
-    Sleep    2 
-    Read 
-    Close Connection 
index 92d3bd87c82471189e8508f4423f025a77023e30..281f7fa1246080e1394fdd37e8c2061261a33931 100755 (executable)
@@ -1,19 +1,18 @@
-modprobe bonding
-ip link add bond0 type bond
-ip link set bond0 address 02:01:02:03:04:08
+sudo modprobe bonding
+sudo ip link add bond0 type bond
+sudo ip link set bond0 address 02:01:02:03:04:08
 
 
-ip link set h1-eth0 down
-ip link set h1-eth0 address 00:00:00:00:00:11
-ip link set h1-eth0 master bond0
-ip link set h1-eth1 down
-ip link set h1-eth1 address 00:00:00:00:00:12
-ip link set h1-eth1 master bond0
+sudo ip link set h1-eth0 down
+sudo ip link set h1-eth0 address 00:00:00:00:00:11
+sudo ip link set h1-eth0 master bond0
+sudo ip link set h1-eth1 down
+sudo ip link set h1-eth1 address 00:00:00:00:00:12
+sudo ip link set h1-eth1 master bond0
 
 
-ip addr add 10.1.1.1/8 dev bond0
-ip addr del 10.0.0.1/8 dev h1-eth0
-ip link set bond0 up
+sudo ip addr add 10.1.1.1/8 dev bond0
+sudo ip addr del 10.0.0.1/8 dev h1-eth0
+sudo ip link set bond0 up
 
 
-ifconfig
-
-cat /proc/net/bonding/bond0
+sudo ifconfig
 
 
+sudo cat /proc/net/bonding/bond0
index cd40fedd9297bbd79c16a597f03ab983fc925404..5d8579ed02725da96d6ea286b3d18ea40627468a 100755 (executable)
@@ -1,19 +1,18 @@
-modprobe bonding
-ip link add bond0 type bond
-ip link set bond0 address 02:01:02:03:04:09
+sudo modprobe bonding
+sudo ip link add bond0 type bond
+sudo ip link set bond0 address 02:01:02:03:04:09
 
 
-ip link set h2-eth0 down
-ip link set h2-eth0 address 00:00:00:00:00:22
-ip link set h2-eth0 master bond0
-ip link set h2-eth1 down
-ip link set h2-eth1 address 00:00:00:00:00:23
-ip link set h2-eth1 master bond0
+sudo ip link set h2-eth0 down
+sudo ip link set h2-eth0 address 00:00:00:00:00:22
+sudo ip link set h2-eth0 master bond0
+sudo ip link set h2-eth1 down
+sudo ip link set h2-eth1 address 00:00:00:00:00:23
+sudo ip link set h2-eth1 master bond0
 
 
-ip addr add 10.1.1.2/8 dev bond0
-ip addr del 10.0.0.2/8 dev h2-eth0
-ip link set bond0 up
+sudo ip addr add 10.1.1.2/8 dev bond0
+sudo ip addr del 10.0.0.2/8 dev h2-eth0
+sudo ip link set bond0 up
 
 
-ifconfig
-
-cat /proc/net/bonding/bond0
+sudo ifconfig
 
 
+sudo cat /proc/net/bonding/bond0
index b2b458a474708bdec168b26bf785929ac5ec9573..f6a31e80c9919eb5a81db217c984ee8f8b21822c 100644 (file)
@@ -10,6 +10,7 @@ PORT = '8080'
 RESTPORT = '8282'
 RESTCONFPORT = '8181'
 PREFIX = 'http://' + CONTROLLER + ':' + PORT
 RESTPORT = '8282'
 RESTCONFPORT = '8181'
 PREFIX = 'http://' + CONTROLLER + ':' + PORT
+PROMPT = '>'
 CONTAINER = 'default'
 USER = 'admin'
 PWD = 'admin'
 CONTAINER = 'default'
 USER = 'admin'
 PWD = 'admin'