Add test cases for l2switch link down/up and port remove/add
[integration/test.git] / test / csit / suites / l2switch / Host_Tracking_OF13 / 010__restconf_topo_nodes.robot
index f5e35a5a3e16327241d2e7f501c22784e9ac6f89..d8c3a18341afe1c185446e6e995ae3ddc03dee90 100644 (file)
@@ -17,25 +17,25 @@ ${IP_3}           10.0.0.3
 *** Test Cases ***
 Check Stats for node 1
     [Documentation]    Get the stats for a node
-    Wait Until Keyword Succeeds    30s    2s    Check Nodes Stats    openflow:1
+    Wait Until Keyword Succeeds    10s    2s    Check Nodes Stats    openflow:1
 
 Check Stats for node 2
     [Documentation]    Get the stats for a node
-    Wait Until Keyword Succeeds    30s    2s    Check Nodes Stats    openflow:2
+    Wait Until Keyword Succeeds    10s    2s    Check Nodes Stats    openflow:2
 
 Check Stats for node 3
     [Documentation]    Get the stats for a node
-    Wait Until Keyword Succeeds    30s    2s    Check Nodes Stats    openflow:3
+    Wait Until Keyword Succeeds    10s    2s    Check Nodes Stats    openflow:3
 
 Check Switch Links
     [Documentation]    Get the topology and check links
-    Wait Until Keyword Succeeds    30s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    link-id    4
+    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    link-id    4
 
 Check No Host Is Present
     [Documentation]    Get the network topology, should not contain any host address
     @{list}    Create List    ${MAC_1}    ${MAC_2}    ${MAC_3}
-    Wait Until Keyword Succeeds    30s    2s    Check For Elements Not At URI    ${OPERATIONAL_TOPO_API}    ${list}
-    Wait Until Keyword Succeeds    30s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    link-id    4
+    Wait Until Keyword Succeeds    10s    2s    Check For Elements Not At URI    ${OPERATIONAL_TOPO_API}    ${list}
+    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    link-id    4
 
 Ping All
     [Documentation]    Pingall, verify no packet loss
@@ -45,16 +45,52 @@ Ping All
 
 Check Host Links
     [Documentation]    Get the topology and check links
-    Wait Until Keyword Succeeds    30s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    link-id    10
+    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    link-id    10
 
 Host Tracker host1
-    [Documentation]    Get the network topology,
-    Wait Until Keyword Succeeds    30s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    "node-id":"host:${MAC_1}"    1
+    [Documentation]    Get the network topology, should contain host1 one time
+    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    "node-id":"host:${MAC_1}"    1
 
 Host Tracker host2
-    [Documentation]    Get the network topology,
-    Wait Until Keyword Succeeds    30s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    "node-id":"host:${MAC_2}"    1
+    [Documentation]    Get the network topology, should contain host 2 one time
+    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    "node-id":"host:${MAC_2}"    1
 
 Host Tracker host3
-    [Documentation]    Get the network topology,
-    Wait Until Keyword Succeeds    30s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    "node-id":"host:${MAC_3}"    1
+    [Documentation]    Get the network topology, should contain hos 3 one time
+    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    "node-id":"host:${MAC_3}"    1
+
+Link Down
+    [Documentation]    Take link s1-h1 down and verify host1 goes away
+    Write    link s1 h1 down
+    Read Until    mininet>
+    @{list}    Create List    "link-down":true
+    Wait Until Keyword Succeeds    10s    2s    Check For Elements At URI    ${OPERATIONAL_NODES_API}/node/openflow:1/node-connector/openflow:1:1    ${list}
+    @{list}    Create List    ${MAC_1}
+    Wait Until Keyword Succeeds    10s    2s    Check For Elements Not At URI    ${OPERATIONAL_TOPO_API}    ${list}
+
+Link Up
+    [Documentation]    Take link s1-h1 up and verify host1 comes back
+    Write    link s1 h1 up
+    Read Until    mininet>
+    @{list}    Create List    "link-down":false
+    Wait Until Keyword Succeeds    10s    2s    Check For Elements At URI    ${OPERATIONAL_NODES_API}/node/openflow:1/node-connector/openflow:1:1    ${list}
+    Write    pingall
+    Read Until    mininet>
+    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    "node-id":"host:${MAC_1}"    1
+
+Remove Port
+    [Documentation]    Remove port s1-eth1 and verify host1 goes away
+    Write    sh ovs-vsctl del-port s1 s1-eth1
+    Read Until    mininet>
+    @{list}    Create List    ${MAC_1}
+    Wait Until Keyword Succeeds    10s    2s    Check For Elements Not At URI    ${OPERATIONAL_TOPO_API}    ${list}
+
+Add Port
+    [Documentation]    Add port s2-eth1 and verify host1 comes back
+    Write    sh ovs-vsctl add-port s1 s1-eth1 -- set interface s1-eth1 ofport=1
+    Read Until    mininet>
+    @{list}    Create List    "link-down":false
+    Wait Until Keyword Succeeds    10s    2s    Check For Elements At URI    ${OPERATIONAL_NODES_API}/node/openflow:1/node-connector/openflow:1:1    ${list}
+    Write    pingall
+    Read Until    mininet>
+    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    "node-id":"host:${MAC_1}"    1