Modify VTN Test files and VTNMgr Keyword file to use RESTCONF instead of the REST API 32/31132/20
authorKarthik.S <siva-karthik@hcl.com>
Thu, 10 Dec 2015 17:20:27 +0000 (22:50 +0530)
committerGerrit Code Review <gerrit@opendaylight.org>
Mon, 21 Dec 2015 22:42:33 +0000 (22:42 +0000)
    * Renamed the below files name to functionality specific
        010__vtn_manager.robot -> 010__vtn_vbridge_portmapping_test.robot (VTN_Mgr_OF10 and VTN_Mgr_OF13)
        010__restconfig_vtn_manager.robot -> ../VTN_Mgr_OF13/010__flowcondition_test.robot
    * The above test files is modified to work for RESTCONF specs and remaining robot files tests are disabled with Tags exclude
    * Modify VtnMaKeywords.robot library file according to RESTCONF specs
    * Tags exclude in robot files will be removed once each test file is modified and tested for RESTCONF specs.

Change-Id: Idcfea115300f0651a4a58d9f5a6eb117a78b1182
Signed-off-by: Karthik.S <siva-karthik@hcl.com>
16 files changed:
csit/libraries/VtnMaKeywords.robot
csit/suites/vtn/VTN_Mgr_OF10/010__vtn_macmap.robot
csit/suites/vtn/VTN_Mgr_OF10/010__vtn_manager_dataflow.robot
csit/suites/vtn/VTN_Mgr_OF10/010__vtn_manager_flowfilter.robot
csit/suites/vtn/VTN_Mgr_OF10/010__vtn_manager_pathpolicy.robot
csit/suites/vtn/VTN_Mgr_OF10/010__vtn_vbridge_portmapping_test.robot [moved from csit/suites/vtn/VTN_Mgr_OF10/010__vtn_manager.robot with 54% similarity]
csit/suites/vtn/VTN_Mgr_OF10/010__vtn_vlanmap.robot
csit/suites/vtn/VTN_Mgr_OF13/010__flowcondition_test.robot [new file with mode: 0644]
csit/suites/vtn/VTN_Mgr_OF13/010__restconfig_vtn_manager.robot [deleted file]
csit/suites/vtn/VTN_Mgr_OF13/010__vtn_macmap.robot
csit/suites/vtn/VTN_Mgr_OF13/010__vtn_manager_dataflow.robot
csit/suites/vtn/VTN_Mgr_OF13/010__vtn_manager_flowfilter.robot
csit/suites/vtn/VTN_Mgr_OF13/010__vtn_manager_pathpolicy.robot
csit/suites/vtn/VTN_Mgr_OF13/010__vtn_vbridge_portmapping_test.robot [moved from csit/suites/vtn/VTN_Mgr_OF13/010__vtn_manager.robot with 54% similarity]
csit/suites/vtn/VTN_Mgr_OF13/010__vtn_vlanmap.robot
csit/suites/vtn/VTN_Mgr_OF13/010__vtn_vlanmap_dataflow.robot

index d8b38f4fdff8a413ae980f72f7959dcd4715e4eb..5356b843942074b507a2fec868da36056bb676b5 100644 (file)
@@ -11,8 +11,6 @@ Resource          ./Utils.robot
 *** Variables ***
 ${vlan_topo_10}    sudo mn --controller=remote,ip=${CONTROLLER} --custom vlan_vtn_test.py --topo vlantopo
 ${vlan_topo_13}    sudo mn --controller=remote,ip=${CONTROLLER} --custom vlan_vtn_test.py --topo vlantopo --switch ovsk,protocols=OpenFlow13
-${REST_CONTEXT_VTNS}    controller/nb/v2/vtn/default/vtns
-${REST_CONTEXT}    controller/nb/v2/vtn/default
 ${VERSION_VTN}    controller/nb/v2/vtn/version
 ${VTN_INVENTORY}    restconf/operational/vtn-inventory:vtn-nodes
 ${DUMPFLOWS_OF10}    dpctl dump-flows -O OpenFlow10
@@ -25,87 +23,83 @@ ${vlanmap_bridge1}    {"vlan": "200"}
 ${vlanmap_bridge2}    {"vlan": "300"}
 @{VLANMAP_BRIDGE1_DATAFLOW}    "reason":"VLANMAPPED"    "path":{"tenant":"Tenant1","bridge":"vBridge1_vlan"}
 @{VLANMAP_BRIDGE2_DATAFLOW}    "reason":"VLANMAPPED"    "path":{"tenant":"Tenant1","bridge":"vBridge2_vlan"}
-${pathpolicy_topo_13}    sudo mn --controller=remote,ip=${CONTROLLER} --custom topo-3sw-2host_multipath.py --topo pathpolicytopo --switch ovsk,protocols=OpenFlow13
-${pathpolicy_topo_10}    sudo mn --controller=remote,ip=${CONTROLLER} --custom topo-3sw-2host_multipath.py --topo pathpolicytopo --switch ovsk,protocols=OpenFlow10
-@{PATHMAP_ATTR}    "index":"1"    "condition":"flowcond_path"    "policy":"1"
-${policy_id}      1
-@{PATHPOLICY_ATTR}    "id":"1"    "type":"OF"    "name":"s4-eth2"
-${custom}         ${CURDIR}/${CREATE_PATHPOLICY_TOPOLOGY_FILE_PATH}
 ${in_port}        1
 ${out_before_pathpolicy}    output:2
 ${out_after_pathpolicy}    output:3
 ${flowcond_restconfigdata}    {"input":{"operation":"SET","present":"false","name":"cond_1","vtn-flow-match":[{"vtn-ether-match":{"destination-address":"ba:bd:0f:e3:a8:c8","ether-type":"2048","source-address":"ca:9e:58:0c:1e:f0","vlan-id": "1"},"vtn-inet-match":{"source-network":"10.0.0.1/32","protocol":1,"destination-network":"10.0.0.2/32"},"index":"1"}]}}
 
 *** Keywords ***
+
 Start SuiteVtnMa
-    [Documentation]    Start VTN Manager Init Test Suite
-    Create Session    session    http://${CONTROLLER}:${RESTPORT}    auth=${AUTH}    headers=${HEADERS}
+    [Documentation]    Start VTN Manager Rest Config Api Test Suite
+    Create Session    session    http://${CONTROLLER}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
     BuiltIn.Wait_Until_Keyword_Succeeds    30    3    Fetch vtn list
     Start Suite
 
+Start SuiteVtnMaTest
+    [Documentation]    Start VTN Manager Test Suite
+    Create Session    session    http://${CONTROLLER}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
+
 Stop SuiteVtnMa
     [Documentation]    Stop VTN Manager Test Suite
     Delete All Sessions
     Stop Suite
 
-Start SuiteVtnMaTest
-    [Documentation]    Start VTN Manager Test Suite
-    Create Session    session    http://${CONTROLLER}:${RESTPORT}    auth=${AUTH}    headers=${HEADERS}
-
-Start SuiteVtnMaRestConfTest
-    [Documentation]    Start VTN Manager Rest Config Api Test Suite
-    Create Session    session    http://${CONTROLLER}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
-
 Stop SuiteVtnMaTest
     [Documentation]    Stop VTN Manager Test Suite
     Delete All Sessions
 
 Fetch vtn list
     [Documentation]    Check if VTN Manager is up.
-    ${resp}=    RequestsLibrary.Get    session    ${REST_CONTEXT_VTNS}
+    ${resp}=    RequestsLibrary.Get Request    session    restconf/operational/vtn:vtns
     Should Be Equal As Strings    ${resp.status_code}    200
 
 Fetch vtn switch inventory
     [Arguments]    ${sw_name}
     [Documentation]    Check if Switch is detected.
-    ${resp}=    RequestsLibrary.Get    session    ${VTN_INVENTORY}/vtn-inventory:vtn-node/${sw_name}
+    ${resp}=    RequestsLibrary.Get Request    session    restconf/operational/vtn-inventory:vtn-nodes/vtn-node/${sw_name}
     Should Be Equal As Strings    ${resp.status_code}    200
 
-Add a vtn
-    [Arguments]    ${vtn_name}    ${vtn_data}
-    [Documentation]    Create a vtn with specified parameters.
-    ${resp}=    RequestsLibrary.Post    session    ${REST_CONTEXT_VTNS}/${vtn_name}    data=${vtn_data}
-    Should Be Equal As Strings    ${resp.status_code}    201
-
-Delete a vtn
+Add a Vtn
     [Arguments]    ${vtn_name}
     [Documentation]    Create a vtn with specified parameters.
-    ${resp}=    RequestsLibrary.Delete    session    ${REST_CONTEXT_VTNS}/${vtn_name}
+    ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn:update-vtn   data={"input": {"tenant-name":${vtn_name}, "update-mode": "CREATE","operation": "SET", "description": "creating vtn", "idle-timeout":300, "hard-timeout":0}}
     Should Be Equal As Strings    ${resp.status_code}    200
 
 Add a vBridge
-    [Arguments]    ${vtn_name}    ${vBridge_name}    ${vBridge_data}
+    [Arguments]    ${vtn_name}    ${vbr_name}
     [Documentation]    Create a vBridge in a VTN
-    ${resp}=    RequestsLibrary.Post    session    ${REST_CONTEXT_VTNS}/${vtn_name}/vbridges/${vBridge_name}    data=${vBridge_data}
-    Should Be Equal As Strings    ${resp.status_code}    201
+    ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn-vbridge:update-vbridge    data={"input": {"update-mode": "CREATE","operation":"SET", "tenant-name":${vtn_name}, "bridge-name":${vbr_name}, "description": "vbrdige created"}}
+    Should Be Equal As Strings    ${resp.status_code}    200
 
 Add a interface
-    [Arguments]    ${vtn_name}    ${vBridge_name}    ${interface_name}    ${interface_data}
+    [Arguments]    ${vtn_name}    ${vbr_name}    ${interface_name}
     [Documentation]    Create a interface into a vBridge of a VTN
-    ${resp}=    RequestsLibrary.Post    session    ${REST_CONTEXT_VTNS}/${vtn_name}/vbridges/${vBridge_name}/interfaces/${interface_name}    data=${interface_data}
-    Should Be Equal As Strings    ${resp.status_code}    201
+    ${resp}=    RequestsLibrary.Post Request    session       restconf/operations/vtn-vinterface:update-vinterface    data={"input": {"update-mode":"CREATE","operation":"SET", "tenant-name":${vtn_name}, "bridge-name":${vbr_name}, "description": "vbrdige interfacecreated", "enabled":"true", "interface-name": ${interface_name}}}
+    Should Be Equal As Strings    ${resp.status_code}    200
 
 Add a portmap
-    [Arguments]    ${vtn_name}    ${vBridge_name}    ${interface_name}    ${portmap_data}
+    [Arguments]    ${vtn_name}    ${vbr_name}    ${interface_name}   ${node_id}   ${port_id}
     [Documentation]    Create a portmap for a interface of a vbridge
-    ${json_data}=    json.dumps    ${portmap_data}
-    ${resp}=    RequestsLibrary.Put    session    ${REST_CONTEXT_VTNS}/${vtn_name}/vbridges/${vBridge_name}/interfaces/${interface_name}/portmap    data=${json_data}    headers=${HEADERS}
+    ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn-port-map:set-port-map     data={"input": { "tenant-name":${vtn_name}, "bridge-name":${vbr_name}, "interface-name": ${interface_name}, "node":"${node_id}", "port-name":"${port_id}"}}    
+    Should Be Equal As Strings    ${resp.status_code}    200
+
+Delete a Vtn
+    [Arguments]    ${vtn_name}
+    [Documentation]    Delete a vtn with specified parameters.
+    ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn:remove-vtn    data={"input": {"tenant-name":${vtn_name}}}
+    Should Be Equal As Strings    ${resp.status_code}    200
+
+Add a vlanmap
+    [Arguments]    ${vtn_name}    ${vbr_name}    ${vlan_id}
+    [Documentation]    Create a vlanmap
+    ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn-vlan-map:add-vlan-map     data={"input": {"tenant-name":${vtn_name},"bridge-name":${vbr_name},"vlan-id":${vlan_id}}}
     Should Be Equal As Strings    ${resp.status_code}    200
 
 Verify Data Flows
     [Arguments]    ${vtn_name}    ${vBridge_name}
     [Documentation]    Verify the reason and physical data flows for the specified vtn and vbridge
-    ${resp}=    RequestsLibrary.Get    session    ${REST_CONTEXT_VTNS}/${vtn_name}/flows/detail
+    ${resp}=    RequestsLibrary.Get Request    session    restconf/operational/vtn-flow-impl:vtn-flows/vtn-flow-table/${vtn_name}
     Run Keyword If    '${vBridge_name}' == 'vBridge1'    DataFlowsForBridge    ${resp}    @{BRIDGE1_DATAFLOW}
     ...    ELSE IF    '${vBridge_name}' == 'vBridge2'    DataFlowsForBridge    ${resp}    @{BRIDGE2_DATAFLOW}
     ...    ELSE IF    '${vBridge_name}' == 'vBridge1_vlan'    DataFlowsForBridge    ${resp}    @{VLANMAP_BRIDGE1_DATAFLOW}
@@ -120,29 +114,34 @@ DataFlowsForBridge
 Add a pathmap
     [Arguments]    ${pathmap_data}
     [Documentation]    Create a pathmap for a vtn
-    ${json_data}=    json.dumps    ${pathmap_data}
-    ${resp}=    RequestsLibrary.Put    session    ${REST_CONTEXT}/pathmaps/${policy_id}    data=${pathmap_data}    headers=${HEADERS}
-    Should Be Equal As Strings    ${resp.status_code}    201
+    ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn-path-map:set-path-map    data=${pathmap_data}
+    Should Be Equal As Strings    ${resp.status_code}    200
 
 Get a pathmap
     [Documentation]    Get a pathmap for a vtn.
-    ${resp}=    RequestsLibrary.Get    session    ${REST_CONTEXT}/pathmaps
+    ${resp}=    RequestsLibrary.Get Request    session    restconf/operational/vtn-path-map:global-path-maps
     : FOR    ${pathElement}    IN    @{PATHMAP_ATTR}
     \    should Contain    ${resp.content}    ${pathElement}
 
 Add a pathpolicy
     [Arguments]    ${pathpolicy_data}
     [Documentation]    Create a pathpolicy for a vtn
-    ${json_data}=    json.dumps    ${pathpolicy_data}
-    ${resp}=    RequestsLibrary.Put    session    ${REST_CONTEXT}/pathpolicies/${policy_id}    data=${pathpolicy_data}    headers=${HEADERS}
-    Should Be Equal As Strings    ${resp.status_code}    201
+    ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn-path-policy:set-path-policy    data=${pathpolicy_data}
+    Should Be Equal As Strings    ${resp.status_code}    200
 
 Get a pathpolicy
+    [Arguments]    ${pathpolicy_id}
     [Documentation]    Get a pathpolicy for a vtn.
-    ${resp}=    RequestsLibrary.Get    session    ${REST_CONTEXT}/pathpolicies/${policy_id}
+    ${resp}=    RequestsLibrary.Get Request    session    restconf/operational/vtn-path-policy:vtn-path-policies/vtn-path-policy/${pathpolicy_id}
     : FOR    ${pathpolicyElement}    IN    @{PATHPOLICY_ATTR}
     \    should Contain    ${resp.content}    ${pathpolicyElement}
 
+Delete a pathpolicy
+    [Arguments]    ${path_id}
+    [Documentation]    Delete a pathpolicy for a vtn
+    ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn-path-policy:remove-path-policy    data={"input": {"id": "${path_id}"}}
+    Should Be Equal As Strings    ${resp.status_code}    200
+
 Verify flowEntryPathPolicy
     [Arguments]    ${of_version}    ${port}    ${output}
     [Documentation]    Checking Flows on switch S1 and switch S3 after applying path policy
@@ -151,49 +150,11 @@ Verify flowEntryPathPolicy
     ${result}    Read Until    mininet>
     Should Contain    ${result}    in_port=${port}    actions=${output}
 
-Start PathSuiteVtnMaTest
-    [Documentation]    Start VTN Manager Test Suite and Mininet
-    Start SuiteVtnMaTest
-    Start Mininet    ${MININET}    ${pathpolicy_topo_13}    ${custom}
-
-Start PathSuiteVtnMaTestOF10
-    [Documentation]    Start VTN Manager Test Suite and Mininet in Open Flow 10 Specification
-    Start SuiteVtnMaTest
-    Start Mininet    ${MININET}    ${pathpolicy_topo_10}    ${custom}
-
-Stop PathSuiteVtnMaTest
-    [Documentation]    Cleanup/Shutdown work at the completion of all tests.
-    Delete All Sessions
-    Stop Mininet    ${mininet_conn_id}
-
-Delete a pathmap
-    [Documentation]    Delete a pathmap for a vtn
-    ${resp}=    RequestsLibrary.Delete    session    ${REST_CONTEXT}/pathmaps/1
-    Should Be Equal As Strings    ${resp.status_code}    200
-
-Get a pathmap after delete
-    [Documentation]    Get a pathmap for a vtn.
-    ${resp}=    RequestsLibrary.Get    session    ${REST_CONTEXT}/pathmaps
-    : FOR    ${pathElement}    IN    @{PATHMAP_ATTR}
-    \    should Not Contain    ${resp.content}    ${pathElement}
-
-Delete a pathpolicy
-    [Documentation]    Delete a pathpolicy for a vtn
-    ${resp}=    RequestsLibrary.Delete    session    ${REST_CONTEXT}/pathpolicies/1
-    Should Be Equal As Strings    ${resp.status_code}    200
-
-Get a pathpolicy after delete
-    [Documentation]    Get a pathpolicy for a vtn after delete.
-    ${resp}=    RequestsLibrary.Get    session    ${REST_CONTEXT}/pathpolicies/${policy_id}
-    : FOR    ${pathpolicyElement}    IN    @{PATHPOLICY_ATTR}
-    \    should Not Contain    ${resp.content}    ${pathpolicyElement}
-
 Add a macmap
     [Arguments]    ${vtn_name}    ${vBridge_name}    ${macmap_data}
     [Documentation]    Create a macmap for a vbridge
-    ${json_data}=    json.dumps    ${macmap_data}
-    ${resp}=    RequestsLibrary.Post    session    ${REST_CONTEXT_VTNS}/${vtn_name}/vbridges/${vBridge_name}/macmap/allow    data=${macmap_data}    headers=${HEADERS}
-    Should Be Equal As Strings    ${resp.status_code}    201
+    ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn-mac-map:set-mac-map    data={"input": { "allowed-hosts": ["${macmap_data}"], "tenant-name":${vtn_name}, "bridge-name": ${vBridge_name}}}                                                        }
+    Should Be Equal As Strings    ${resp.status_code}    200
 
 Get DynamicMacAddress
     [Arguments]    ${h}
@@ -205,33 +166,23 @@ Get DynamicMacAddress
     ${sourceHWaddress}=    Convert To Lowercase    ${sourceHWaddr}
     Return From Keyword    ${sourceHWaddress}    # Also [Return] would work here.
 
-Add a vBridgeMacMapping
-    [Arguments]    ${tenant_name}    ${Bridge_name}    ${bridge_macmap_data}
-    [Documentation]    Create a vbridge macmap for a bridge
-    ${json_data}=    json.dumps    ${bridge_macmap_data}
-    ${resp}=    RequestsLibrary.Post    session    ${REST_CONTEXT_VTNS}/${tenant_name}/vbridges/${Bridge_name}/macmap/allow    data=${json_data}    headers=${HEADERS}
-    Should Be Equal As Strings    ${resp.status_code}    201
-
 Mininet Ping Should Succeed
     [Arguments]    ${host1}    ${host2}
-    Write    ${host1} ping -c 10 ${host2}
+    [Documentation]    Ping hosts to check connectivity
+    Write    ${host1} ping -c 1 ${host2}
     ${result}    Read Until    mininet>
     Should Contain    ${result}    64 bytes
 
 Mininet Ping Should Not Succeed
     [Arguments]    ${host1}    ${host2}
-    Write    ${host1} ping -c 10 ${host2}
+    [Documentation]    Ping hosts when there is no connectivity and check hosts is unreachable
+    Write    ${host1} ping -c 3 ${host2}
     ${result}    Read Until    mininet>
     Should Not Contain    ${result}    64 bytes
 
-Delete a interface
-    [Arguments]    ${vtn_name}    ${vBridge_name}    ${interface_name}
-    [Documentation]    Delete a interface with specified parameters.
-    ${resp}=    RequestsLibrary.Delete    session    ${REST_CONTEXT_VTNS}/${vtn_name}/vbridges/${vBridge_name}/interfaces/${interface_name}
-    Should Be Equal As Strings    ${resp.status_code}    200
-
 Start vlan_topo
     [Arguments]    ${OF}
+    [Documentation]    Create custom topology for vlan functionality
     Clean Mininet System
     ${mininet_conn_id1}=    Open Connection    ${MININET}    prompt=${DEFAULT_LINUX_PROMPT}    timeout=30s
     Set Suite Variable    ${mininet_conn_id1}
@@ -242,23 +193,16 @@ Start vlan_topo
     ...    ELSE IF    '${OF}' == 'OF10'    Write    ${vlan_topo_10}
     ${result}    Read Until    mininet>
 
-Add a vlanmap
-    [Arguments]    ${vtn_name}    ${vBridge_name}    ${vlanmap_data}
-    [Documentation]    Create a vlanmap
-    ${resp}=    RequestsLibrary.Post    session    ${REST_CONTEXT_VTNS}/${vtn_name}/vbridges/${vBridge_name}/vlanmaps/    data=${vlanmap_data}    headers=${HEADERS}
-    Should Be Equal As Strings    ${resp.status_code}    201
-
 Get flow
     [Arguments]    ${vtn_name}
     [Documentation]    Get data flow.
-    ${resp}=    RequestsLibrary.Get    session    ${REST_CONTEXT_VTNS}/${vtn_name}/flows/detail
+    ${resp}=    RequestsLibrary.Get Request    session    restconf/operational/vtn-flow-impl:vtn-flows/vtn-flow-table/${vtn_name}
     Should Be Equal As Strings    ${resp.status_code}    200
 
 Remove a portmap
-    [Arguments]    ${vtn_name}    ${vBridge_name}    ${interface_name}    ${portmap_data}
+    [Arguments]    ${vtn_name}    ${vBridge_name}    ${interface_name}
     [Documentation]    Remove a portmap for a interface of a vbridge
-    ${json_data}=    json.dumps    ${portmap_data}
-    ${resp}=    RequestsLibrary.Delete    session    ${REST_CONTEXT_VTNS}/${vtn_name}/vbridges/${vBridge_name}/interfaces/${interface_name}/portmap    data=${json_data}    headers=${HEADERS}
+    ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn-port-map:remove-port-map    data={"input": {"tenant-name":${vtn_name},"bridge-name":${vBridge_name},"interface-name":${interface_name}}}
     Should Be Equal As Strings    ${resp.status_code}    200
 
 Verify FlowMacAddress
@@ -303,47 +247,22 @@ Verify macaddress
     Should Contain    ${result}    ${sourcemacaddress}
     Should Contain    ${result}    ${destmacaddress}
 
-Add a flowcondition
-    [Arguments]    ${cond_name}    ${flowcond_data}
-    [Documentation]    Create a flowcondition for a interface of a vbridge
-    ${json_data}=    json.dumps    ${flowcond_data}
-    ${resp}=    RequestsLibrary.Put    session    ${REST_CONTEXT}/flowconditions/${cond_name}    data=${json_data}    headers=${HEADERS}
-    Should Be Equal As Strings    ${resp.status_code}    201
-
-Delete a flowcondition
-    [Arguments]    ${cond_name}
-    [Documentation]    Delete a flowcondition for a interface of a vbridge
-    ${resp}=    RequestsLibrary.Delete    session    ${REST_CONTEXT}/flowconditions/${cond_name}
-    Should Be Equal As Strings    ${resp.status_code}    200
-
-Add a flowfilter
-    [Arguments]    ${vtn_name}    ${vBridge_name}    ${interface_name}    ${flowfilter_data}    ${ff_index}
+Add a vtn flowfilter
+    [Arguments]    ${vtn_name}    ${vtnflowfilter_data}
     [Documentation]    Create a flowfilter for a vtn
-    ${resp}=    RequestsLibrary.Put    session    ${REST_CONTEXT_VTNS}/${vtn_name}/vbridges/${vBridge_name}/interfaces/${interface_name}/flowfilters/IN/${ff_index}    data=${flowfilter_data}    headers=${HEADERS}
-    Should Be Equal As Strings    ${resp.status_code}    201
-
-Add a flowfilter_vtn
-    [Arguments]    ${vtn_name}    ${flowfilter_data}    ${ff_index}
-    [Documentation]    Create a flowfilter for a vtn
-    ${resp}=    RequestsLibrary.Put    session    ${REST_CONTEXT_VTNS}/${vtn_name}/flowfilters/${ff_index}    data=${flowfilter_data}    headers=${HEADERS}
-    Should Be Equal As Strings    ${resp.status_code}    201
+    ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn-flow-filter:set-flow-filter   data=${vtnflowfilter_data}
+    Should Be Equal As Strings    ${resp.status_code}    200
 
-Add a flowfilter_vbr
-    [Arguments]    ${vtn_name}    ${vBridge_name}    ${flowfilter_data}    ${ff_index}
+Add a vbr flowfilter
+    [Arguments]    ${vtn_name}    ${vBridge_name}    ${vbrflowfilter_data}
     [Documentation]    Create a flowfilter for a vbr
-    ${resp}=    RequestsLibrary.Put    session    ${REST_CONTEXT_VTNS}/${vtn_name}/vbridges/${vBridge_name}/flowfilters/IN/${ff_index}    data=${flowfilter_data}    headers=${HEADERS}
-    Should Be Equal As Strings    ${resp.status_code}    201
-
-Update a flowfilter
-    [Arguments]    ${vtn_name}    ${vBridge_name}    ${interface_name}    ${flowfilter_data}    ${ff_index}
-    [Documentation]    Create a flowfilter for a vtn
-    ${resp}=    RequestsLibrary.Put    session    ${REST_CONTEXT_VTNS}/${vtn_name}/vbridges/${vBridge_name}/interfaces/${interface_name}/flowfilters/IN/${ff_index}    data=${flowfilter_data}    headers=${HEADERS}
+    ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn-flow-filter:set-flow-filter    data=${vbrflowfilter_data}
     Should Be Equal As Strings    ${resp.status_code}    200
 
-Add a flowfilter for drop
-    [Arguments]    ${vtn_name}    ${vBridge_name}    ${interface_name}    ${flowfilter_data}    ${ff_index}
-    [Documentation]    Create a flowfilter for a vtn
-    ${resp}=    RequestsLibrary.Put    session    ${REST_CONTEXT_VTNS}/${vtn_name}/vbridges/${vBridge_name}/interfaces/${interface_name}/flowfilters/IN/${ff_index}    data=${flowfilter_data}    headers=${HEADERS}
+Add a vbrif flowfilter
+    [Arguments]    ${vtn_name}    ${vBridge_name}    ${interface_name}    ${vbrif_flowfilter_data}
+    [Documentation]    Create a flowfilter for a vbrif
+    ${resp}=    RequestsLibrary.Post Request    session     restconf/operations/vtn-flow-filter:set-flow-filter    data=${vbrif_flowfilter_data}
     Should Be Equal As Strings    ${resp.status_code}    200
 
 Verify Flow Entry for Inet Flowfilter
@@ -357,30 +276,33 @@ Verify Removed Flow Entry for Inet Drop Flowfilter
     Should Be Equal As Strings    ${booleanValue}    True
 
 Verify Actions on Flow Entry
+    [Documentation]    check flow action elements by giving dumpflows in mininet
     write    ${DUMPFLOWS_OF13}
     ${result}    Read Until    mininet>
     : FOR    ${flowElement}    IN    @{FLOWELMENTS}
     \    should Contain    ${result}    ${flowElement}
 
-Add a flowcondition In Restconfig
+Add a flowcondition
+    [Arguments]    ${flowcond_name}
     [Documentation]    Create a flowcondition using Restconfig Api
-    ${resp}=    RequestsLibrary.Post    session    restconf/operations/vtn-flow-condition:set-flow-condition    data=${flowcond_restconfigdata}
+    ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn-flow-condition:set-flow-condition    data={"input":{"operation":"SET","present":"false","name":"${flowcond_name}", "vtn-flow-match":[{"vtn-ether-match":{"destination-address":"ba:bd:0f:e3:a8:c8","ether-type":"2048","source-address":"ca:9e:58:0c:1e:f0","vlan-id": "1"},"vtn-inet-match":{"source-network":"10.0.0.1/32","protocol":1,"destination-network":"10.0.0.2/32"},"index":"1"}]}}
     Should Be Equal As Strings    ${resp.status_code}    200
 
-Get flowconditions In Restconfig
+Get flowconditions
     [Documentation]    Retrieve the list of flowconditions created
-    ${resp}=    RequestsLibrary.Get    session    restconf/operational/vtn-flow-condition:vtn-flow-conditions
+    ${resp}=    RequestsLibrary.Get Request    session    restconf/operational/vtn-flow-condition:vtn-flow-conditions
     Should Be Equal As Strings    ${resp.status_code}    200
 
-Get flowcondition In Restconfig
+Get flowcondition
     [Arguments]    ${flowcond_name}    ${retrieve}
-    [Documentation]    Retrieve the flowcondition by name
-    ${resp}=    RequestsLibrary.Get    session    restconf/operational/vtn-flow-condition:vtn-flow-conditions/vtn-flow-condition/${flowcond_name}
+    [Documentation]    Retrieve the flowcondition by name and to check the removed flowcondition added "retrieve" argument to differentiate the status code, since 
+    ...    after removing flowcondition name the status will be different compare to status code when the flowcondition name is present.
+    ${resp}=    RequestsLibrary.Get Request    session    restconf/operational/vtn-flow-condition:vtn-flow-conditions/vtn-flow-condition/${flowcond_name}
     Run Keyword If    '${retrieve}' == 'retrieve'    Should Be Equal As Strings    ${resp.status_code}    200
     ...    ELSE    Should Not Be Equal As Strings    ${resp.status_code}    200
 
-Remove flowcondition In Restconfig
+Remove flowcondition
     [Arguments]    ${flowcond_name}
     [Documentation]    Remove the flowcondition by name
-    ${resp}=    RequestsLibrary.Post    session    restconf/operations/vtn-flow-condition:remove-flow-condition    {"input": {"name": "${flowcond_name}"}}
+    ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn-flow-condition:remove-flow-condition    {"input": {"name": "${flowcond_name}"}}
     Should Be Equal As Strings    ${resp.status_code}    200
index f212cae46ac3f99838964f8e3519d070ef561059..2f56ba2c729fe716f5fd8e9590c04fabdd1aa2b7 100644 (file)
@@ -2,6 +2,7 @@
 Documentation     Test suite for VTN Manager using OF13
 Suite Setup       Start SuiteVtnMaTest
 Suite Teardown    Stop SuiteVtnMaTest
+Force Tags        exclude
 Resource          ../../../libraries/VtnMaKeywords.robot
 
 *** Test Cases ***
index 09529d3bd6bf4b66f294dad3c9c7098e5ec41545..8c46a4eab6d5500f82e11f0a2943644cd8daed24 100644 (file)
@@ -2,6 +2,7 @@
 Documentation     Test suite for VTN Manager Data Flow using OF10
 Suite Setup       Start SuiteVtnMaTest
 Suite Teardown    Stop SuiteVtnMaTest
+Force Tags        exclude
 Resource          ../../../libraries/VtnMaKeywords.robot
 
 *** Test Cases ***
@@ -91,8 +92,7 @@ Verify data flow details for vBridge2
 
 Verify FlowMacAddress
     [Documentation]    Checking Flows on switch
-    [Tags]    Switch
-    Verify FlowMacAddress    h2    h4    OF10
+    Verify FlowMacAddress    h2    h4    OF13
 
 Remove Portmap for If1
     [Documentation]    Remove portmap for the interface If1
index a2e205a9d529b18fbc18eedb8219c330c2ff289e..65d33bfb715e21313bdbbb6fad1738134c232df1 100644 (file)
@@ -2,6 +2,7 @@
 Documentation     Test suite for VTN Manager using OF10
 Suite Setup       Start SuiteVtnMaTest
 Suite Teardown    Stop SuiteVtnMaTest
+Force Tags        exclude
 Resource          ../../../libraries/VtnMaKeywords.robot
 
 *** Variables ***
@@ -153,6 +154,10 @@ Add a flowfilter with inet4 for drop
     Add a flowfilter for drop    Tenant1    vBridge1    if1    ${flowfilterInetdropdata}    ${index}
     Mininet Ping Should Not Succeed    h1    h3
 
+Verify Removed Flow Entry For Inet After Drop Action
+    [Documentation]    Verify no flows between the hosts after drop
+    Verify Removed Flow Entry for Inet Drop Flowfilter
+
 Delete a flowcondition
     [Documentation]    Delete a flowcondition
     Delete a flowcondition    cond1
index 84db8c34b5c21131e60ef5a0f83d5ac194964444..b30a4e5e66454863bd0b663a3bfb91fa53e4baa3 100644 (file)
@@ -2,6 +2,7 @@
 Documentation     Test suite for VTN Manager using OF10
 Suite Setup       Start PathSuiteVtnMaTestOF10
 Suite Teardown    Stop PathSuiteVtnMaTest
+Force Tags        exclude
 Resource          ../../../libraries/VtnMaKeywords.robot
 
 *** Variables ***
@@ -61,7 +62,6 @@ Ping h1 to h2 before path policy
 
 Verify flowEntryBeforePathPolicy
     [Documentation]    Checking Flows on switch s1 and s3
-    [Tags]    exclude
     Verify flowEntryPathPolicy    OF10    ${in_port}    ${out_before_pathpolicy}
 
 Add a flowcondition flowcond_path
@@ -96,7 +96,6 @@ Ping h1 to h2 after path policy
 
 Verify flowEntryAfterPathPolicy
     [Documentation]    Checking Flows on switch s1 and s3
-    [Tags]    exclude
     Verify flowEntryPathPolicy    OF10    ${in_port}    ${out_after_pathpolicy}
 
 Delete a pathmap
similarity index 54%
rename from csit/suites/vtn/VTN_Mgr_OF10/010__vtn_manager.robot
rename to csit/suites/vtn/VTN_Mgr_OF10/010__vtn_vbridge_portmapping_test.robot
index 43dde11d6fbe869b774cf1f4e6638d179f310874..e70e363c7fd6da1cfde4241beb448fe539ed9601 100644 (file)
@@ -19,67 +19,55 @@ Check if switch3 detected
 
 Add a vtn Tenant1
     [Documentation]    Add a vtn Tenant1
-    Add a vtn    Tenant1    {"description": "Virtual Tenant 1 for Hackfest network"}
+    Add a vtn    Tenant1
 
 Add a vBridge vBridge1
     [Documentation]    Add a vBridge vBridge1 in vtn Tenant1
-    Add a vBridge    Tenant1    vBridge1    {}
+    Add a vBridge    Tenant1    vBridge1
 
 Add a interface If1
-    [Documentation]    Add a interface if1 into vBridge vBrdige1
-    Add a interface    Tenant1    vBridge1    if1    {}
+    [Documentation]    Add a interface if1 into vBridge vBridge1
+    Add a interface    Tenant1    vBridge1    if1
 
 Add a interface if2
-    [Documentation]    Add a interface if2 into vBridge vBrdige1
-    Add a interface    Tenant1    vBridge1    if2    {}
+    [Documentation]    Add a interface if2 into vBridge vBridge1
+    Add a interface    Tenant1    vBridge1    if2
 
 Add a portmap for interface if1
     [Documentation]    Create a portmap on Interface if1 of vBridge1
-    ${node}=    Create Dictionary    type=OF    id=00:00:00:00:00:00:00:02
-    ${port}=    Create Dictionary    name=s2-eth1
-    ${portmap_data}=    Create Dictionary    node=${node}    port=${port}
-    Add a portmap    Tenant1    vBridge1    if1    ${portmap_data}
+    Add a portmap    Tenant1    vBridge1    if1    openflow:2    s2-eth1
 
 Add a portmap for interface if2
     [Documentation]    Create a portmap on Interface if2 of vBridge1
-    ${node}=    Create Dictionary    type=OF    id=00:00:00:00:00:00:00:03
-    ${port}=    Create Dictionary    name=s3-eth1
-    ${portmap_data}=    Create Dictionary    node=${node}    port=${port}
-    Add a portmap    Tenant1    vBridge1    if2    ${portmap_data}
+    Add a portmap    Tenant1    vBridge1    if2    openflow:3     s3-eth1
 
 Ping h1 to h3
     [Documentation]    Ping h1 to h3, verify no packet loss
-    Mininet Ping Should Succeed    h1    h3
+    BuiltIn.Wait_Until_Keyword_Succeeds    20   1    Mininet Ping Should Succeed    h1    h3
 
 Add a vBridge vBridge2
     [Documentation]    Add a vBridge vBridge2 in vtn Tenant1
-    Add a vBridge    Tenant1    vBridge2    {}
+    Add a vBridge    Tenant1    vBridge2
 
 Add a interface If3
     [Documentation]    Add a interface if3 into vBridge vBrdige2
-    Add a interface    Tenant1    vBridge2    if3    {}
+    Add a interface    Tenant1    vBridge2    if3
 
 Add a interface if4
     [Documentation]    Add a interface if4 into vBridge vBrdige2
-    Add a interface    Tenant1    vBridge2    if4    {}
+    Add a interface    Tenant1    vBridge2    if4
 
 Add a portmap for interface if3
-    [Documentation]    Create a portmap on Interface if3 of vBridge2
-    ${node}=    Create Dictionary    type=OF    id=00:00:00:00:00:00:00:02
-    ${port}=    Create Dictionary    name=s2-eth2
-    ${portmap_data}=    Create Dictionary    node=${node}    port=${port}
-    Add a portmap    Tenant1    vBridge2    if3    ${portmap_data}
+    [Documentation]    Create a portmap on Interface if3 of vBridge1
+    Add a portmap    Tenant1    vBridge2    if3   openflow:2    s2-eth2
 
 Add a portmap for interface if4
-    [Documentation]    Create a portmap on Interface if4 of vBridge2
-    ${node}=    Create Dictionary    type=OF    id=00:00:00:00:00:00:00:03
-    ${port}=    Create Dictionary    name=s3-eth2
-    ${portmap_data}=    Create Dictionary    node=${node}    port=${port}
-    Add a portmap    Tenant1    vBridge2    if4    ${portmap_data}
+    [Documentation]    Create a portmap on Interface if4 of vBridge1
+    Add a portmap    Tenant1    vBridge2    if4    openflow:3     s3-eth2
 
 Ping h2 to h4
     [Documentation]    Ping h2 to h4, verify no packet loss
-    Mininet Ping Should Succeed    h2    h4
+    BuiltIn.Wait_Until_Keyword_Succeeds    20    1    Mininet Ping Should Succeed    h2    h4
 
 Get flow
     [Documentation]    Get flow of a vtn Tenant1
@@ -92,10 +80,7 @@ Verify FlowMacAddress
 
 Remove Portmap for If1
     [Documentation]    Remove portmap for the interface If1
-    ${node}    Create Dictionary    type=OF    id=00:00:00:00:00:00:00:02
-    ${port}    Create Dictionary    name=s2-eth1
-    ${portmap_data}    Create Dictionary    node=${node}    port=${port}
-    Remove a portmap    Tenant1    vBridge1    if1    ${portmap_data}
+    Remove a portmap    Tenant1    vBridge1    if1
 
 Verify RemovedFlowMacAddress
     [Documentation]    flows will be deleted after the port map is removed
index a685e5594860b7b885b27810bbcb10fb669a4b16..c0196a7ac7c46d60425956451e6a3d0ad4679818 100644 (file)
@@ -2,6 +2,7 @@
 Documentation     Test suite for VTN Manager using OF10
 Suite Setup       Start SuiteVtnMaTest
 Suite Teardown    Stop SuiteVtnMaTest
+Force Tags        exclude
 Resource          ../../../libraries/VtnMaKeywords.robot
 
 *** Test Cases ***
diff --git a/csit/suites/vtn/VTN_Mgr_OF13/010__flowcondition_test.robot b/csit/suites/vtn/VTN_Mgr_OF13/010__flowcondition_test.robot
new file mode 100644 (file)
index 0000000..0303ca1
--- /dev/null
@@ -0,0 +1,27 @@
+*** Settings ***
+Documentation     Test suite for VTN Manager using OF13
+Suite Setup       Start SuiteVtnMaTest
+Suite Teardown    Stop SuiteVtnMaTest
+Resource          ../../../libraries/VtnMaKeywords.robot
+
+*** Test Cases ***
+
+Add a flowcondition in restconfig
+    [Documentation]    Create a flowcondition cond_1 using restconfig api
+    Add a flowcondition    cond_1
+
+Get flowcondition
+    [Documentation]    Retrieve the flowcondition by name
+    Get flowcondition    cond_1    retrieve
+
+Get flowconditions
+    [Documentation]    Retrieve the list of flowconditions
+    Get flowconditions
+
+Remove flowcondition
+    [Documentation]    Remove the flowcondition by name
+    Remove flowcondition    cond_1
+
+Get flowcondition After Remove
+    [Documentation]    Verify the removed flowcondition
+    Get flowcondition    cond_1    retrieve_after_remove
diff --git a/csit/suites/vtn/VTN_Mgr_OF13/010__restconfig_vtn_manager.robot b/csit/suites/vtn/VTN_Mgr_OF13/010__restconfig_vtn_manager.robot
deleted file mode 100644 (file)
index f879a41..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-*** Settings ***
-Documentation     Test suite for VTN Manager using OF13
-Suite Setup       Start SuiteVtnMaRestConfTest
-Suite Teardown    Stop SuiteVtnMaTest
-Resource          ../../../libraries/VtnMaKeywords.robot
-
-*** Test Cases ***
-Check if switch1 detected
-    [Documentation]    Check if openflow:1 is detected
-    BuiltIn.Wait_Until_Keyword_Succeeds    12    3    Fetch vtn switch inventory    openflow:1
-
-Check if switch2 detected
-    [Documentation]    Check if openflow:2 is detected
-    BuiltIn.Wait_Until_Keyword_Succeeds    3    1    Fetch vtn switch inventory    openflow:2
-
-Check if switch3 detected
-    [Documentation]    Check if openflow:3 is detected
-    BuiltIn.Wait_Until_Keyword_Succeeds    3    1    Fetch vtn switch inventory    openflow:3
-
-Add a flowcondition in restconfig
-    [Documentation]    Create a flowcondition cond_1 using restconfig api
-    Add a flowcondition In Restconfig
-
-Get flowcondition
-    [Documentation]    Retrieve the flowcondition by name
-    Get flowcondition In Restconfig    cond_1    retrieve
-
-Get flowconditions
-    [Documentation]    Retrieve the list of flowconditions
-    Get flowconditions In Restconfig
-
-Remove flowcondition
-    [Documentation]    Remove the flowcondition by name
-    Remove flowcondition In Restconfig    cond_1
-
-Get flowcondition After Remove
-    [Documentation]    Verify the removed flowcondition
-    Get flowcondition In Restconfig    cond_1    retrieve_after_remove
index f212cae46ac3f99838964f8e3519d070ef561059..2f56ba2c729fe716f5fd8e9590c04fabdd1aa2b7 100644 (file)
@@ -2,6 +2,7 @@
 Documentation     Test suite for VTN Manager using OF13
 Suite Setup       Start SuiteVtnMaTest
 Suite Teardown    Stop SuiteVtnMaTest
+Force Tags        exclude
 Resource          ../../../libraries/VtnMaKeywords.robot
 
 *** Test Cases ***
index 14edaeea237bf9de1705a33ebc7d50dc775a1d02..26598680bab97158e3154364dab4d153b316e5f0 100644 (file)
@@ -2,6 +2,7 @@
 Documentation     Test suite for VTN Manager Data Flow using OF13
 Suite Setup       Start SuiteVtnMaTest
 Suite Teardown    Stop SuiteVtnMaTest
+Force Tags        exclude
 Resource          ../../../libraries/VtnMaKeywords.robot
 
 *** Test Cases ***
@@ -91,7 +92,6 @@ Verify data flow details for vBridge2
 
 Verify FlowMacAddress
     [Documentation]    Checking Flows on switch
-    [Tags]    Switch
     Verify FlowMacAddress    h2    h4    OF13
 
 Remove Portmap for If1
index 7de8318b967c934cf94ad1d4bf642883af10f90d..33017248ea9784bd71e14adb261da49c02af3b88 100644 (file)
@@ -2,6 +2,7 @@
 Documentation     Test suite for VTN Manager using OF13
 Suite Setup       Start SuiteVtnMaTest
 Suite Teardown    Stop SuiteVtnMaTest
+Force Tags        exclude
 Resource          ../../../libraries/VtnMaKeywords.robot
 
 *** Variables ***
index addeff891d313a45a05272cb9d7b1341f2bbce72..83f0d787a9a59a5d79388b88464a379c1f723d61 100644 (file)
@@ -2,6 +2,7 @@
 Documentation     Test suite for VTN Manager PathPolicy using OF13
 Suite Setup       Start PathSuiteVtnMaTest
 Suite Teardown    Stop PathSuiteVtnMaTest
+Force Tags        exclude
 Resource          ../../../libraries/VtnMaKeywords.robot
 
 *** Variables ***
@@ -61,7 +62,6 @@ Ping h1 to h2 before path policy
 
 Verify flowEntryBeforePathPolicy
     [Documentation]    Checking Flows on switch s1 and s3
-    [Tags]    exclude
     Verify flowEntryPathPolicy    OF13    ${in_port}    ${out_before_pathpolicy}
 
 Add a flowcondition flowcond_path
@@ -96,7 +96,6 @@ Ping h1 to h2 after path policy
 
 Verify flowEntryAfterPathPolicy
     [Documentation]    Checking Flows on switch s1 and s3
-    [Tags]    exclude
     Verify flowEntryPathPolicy    OF13    ${in_port}    ${out_after_pathpolicy}
 
 Delete a pathmap
similarity index 54%
rename from csit/suites/vtn/VTN_Mgr_OF13/010__vtn_manager.robot
rename to csit/suites/vtn/VTN_Mgr_OF13/010__vtn_vbridge_portmapping_test.robot
index ea1cdfeb66977a9dcdbbfcfccd7c6f21ae9f3091..3eb15a0b09718b42614305c72102704892a05660 100644 (file)
@@ -19,67 +19,55 @@ Check if switch3 detected
 
 Add a vtn Tenant1
     [Documentation]    Add a vtn Tenant1
-    Add a vtn    Tenant1    {"idleTimeout": "200","hardTimeout": "600","description": "Virtual Tenant1 for Hackfest network"}
+    Add a vtn    Tenant1
 
 Add a vBridge vBridge1
     [Documentation]    Add a vBridge vBridge1 in vtn Tenant1
-    Add a vBridge    Tenant1    vBridge1    {"ageInterval": "300","description": "vBridge1 for Tenant1"}
+    Add a vBridge    Tenant1    vBridge1
 
 Add a interface If1
     [Documentation]    Add a interface if1 into vBridge vBridge1
-    Add a interface    Tenant1    vBridge1    if1    {"enabled": "true","description": "Interface1 for vBridge1 for Tenant1"}
+    Add a interface    Tenant1    vBridge1    if1
 
 Add a interface if2
     [Documentation]    Add a interface if2 into vBridge vBridge1
-    Add a interface    Tenant1    vBridge1    if2    {"enabled": "true","description": "Interface2 for vBridge1 for Tenant1"}
+    Add a interface    Tenant1    vBridge1    if2
 
 Add a portmap for interface if1
     [Documentation]    Create a portmap on Interface if1 of vBridge1
-    ${node}    Create Dictionary    type=OF    id=00:00:00:00:00:00:00:02
-    ${port}    Create Dictionary    name=s2-eth1
-    ${portmap_data}    Create Dictionary    node=${node}    port=${port}
-    Add a portmap    Tenant1    vBridge1    if1    ${portmap_data}
+    Add a portmap    Tenant1    vBridge1    if1    openflow:2    s2-eth1
 
 Add a portmap for interface if2
     [Documentation]    Create a portmap on Interface if2 of vBridge1
-    ${node}    Create Dictionary    type=OF    id=00:00:00:00:00:00:00:03
-    ${port}    Create Dictionary    name=s3-eth1
-    ${portmap_data}    Create Dictionary    node=${node}    port=${port}
-    Add a portmap    Tenant1    vBridge1    if2    ${portmap_data}
+    Add a portmap    Tenant1    vBridge1    if2    openflow:3     s3-eth1
 
 Ping h1 to h3
     [Documentation]    Ping h1 to h3, verify no packet loss
-    Mininet Ping Should Succeed    h1    h3
+    BuiltIn.Wait_Until_Keyword_Succeeds    20   1    Mininet Ping Should Succeed    h1    h3
 
 Add a vBridge vBridge2
     [Documentation]    Add a vBridge vBridge2 in vtn Tenant1
-    Add a vBridge    Tenant1    vBridge2    {}
+    Add a vBridge    Tenant1    vBridge2
 
 Add a interface If3
     [Documentation]    Add a interface if3 into vBrdige vBridge1
-    Add a interface    Tenant1    vBridge1    if3    {}
+    Add a interface    Tenant1    vBridge1    if3
 
 Add a interface if4
     [Documentation]    Add a interface if4 into vBrdige vBridge1
-    Add a interface    Tenant1    vBridge1    if4    {}
+    Add a interface    Tenant1    vBridge1    if4
 
 Add a portmap for interface if3
     [Documentation]    Create a portmap on Interface if3 of vBridge1
-    ${node}    Create Dictionary    type=OF    id=00:00:00:00:00:00:00:02
-    ${port}    Create Dictionary    name=s2-eth2
-    ${portmap_data}    Create Dictionary    node=${node}    port=${port}
-    Add a portmap    Tenant1    vBridge1    if3    ${portmap_data}
+    Add a portmap    Tenant1    vBridge1    if3   openflow:2    s2-eth2
 
 Add a portmap for interface if4
     [Documentation]    Create a portmap on Interface if4 of vBridge1
-    ${node}    Create Dictionary    type=OF    id=00:00:00:00:00:00:00:03
-    ${port}    Create Dictionary    name=s3-eth2
-    ${portmap_data}    Create Dictionary    node=${node}    port=${port}
-    Add a portmap    Tenant1    vBridge1    if4    ${portmap_data}
+    Add a portmap    Tenant1    vBridge1    if4    openflow:3     s3-eth2
 
 Ping h2 to h4
     [Documentation]    Ping h2 to h4, verify no packet loss
-    Mininet Ping Should Succeed    h2    h4
+    BuiltIn.Wait_Until_Keyword_Succeeds    20    1    Mininet Ping Should Succeed    h2    h4
 
 Get flow
     [Documentation]    Get flow of a vtn Tenant1
@@ -92,10 +80,7 @@ Verify FlowMacAddress
 
 Remove Portmap for If1
     [Documentation]    Remove portmap for the interface If1
-    ${node}    Create Dictionary    type=OF    id=00:00:00:00:00:00:00:02
-    ${port}    Create Dictionary    name=s2-eth1
-    ${portmap_data}    Create Dictionary    node=${node}    port=${port}
-    Remove a portmap    Tenant1    vBridge1    if1    ${portmap_data}
+    Remove a portmap    Tenant1    vBridge1    if1
 
 Verify RemovedFlowMacAddress
     [Documentation]    flows will be deleted after the port map is removed
index f7ab8bbf6f6bbbc5158f0fb1aa29cf8d82a8e415..e15104d751c6b264701a4c173d3e0c5e2cf426c9 100644 (file)
@@ -2,6 +2,7 @@
 Documentation     Test suite for VTN Manager using OF13
 Suite Setup       Start SuiteVtnMaTest
 Suite Teardown    Stop SuiteVtnMaTest
+Force Tags        exclude 
 Resource          ../../../libraries/VtnMaKeywords.robot
 
 *** Test Cases ***
index 51b7b79ef517c8f43809c1915d0a84b0ef30e119..bd438082a6323cda913fa6790b6abe5f64fb67cc 100644 (file)
@@ -2,6 +2,7 @@
 Documentation     Test suite for VTN Manager Data Flows using OF13
 Suite Setup       Start SuiteVtnMaTest
 Suite Teardown    Stop SuiteVtnMaTest
+Force Tags        exclude
 Resource          ../../../libraries/VtnMaKeywords.robot
 
 *** Test Cases ***