Step 2: Move test folder to root
[integration/test.git] / csit / suites / vtn / VTN_Mgr_OF13 / 010__vtn_manager.robot
1 *** Settings ***
2 Documentation     Test suite for VTN Manager using OF13
3 Suite Setup       Start SuiteVtnMaTest
4 Suite Teardown    Stop SuiteVtnMaTest
5 Resource          ../../../libraries/VtnMaKeywords.robot
6
7 *** Test Cases ***
8 Check if switch1 detected
9     [Documentation]    Check if openflow:1 is detected
10     BuiltIn.Wait_Until_Keyword_Succeeds    12     3    Fetch vtn switch inventory     openflow:1
11
12 Check if switch2 detected
13     [Documentation]    Check if openflow:2 is detected
14     BuiltIn.Wait_Until_Keyword_Succeeds    3     1    Fetch vtn switch inventory     openflow:2
15
16 Check if switch3 detected
17     [Documentation]    Check if openflow:3 is detected
18     BuiltIn.Wait_Until_Keyword_Succeeds    3     1    Fetch vtn switch inventory     openflow:3
19
20 Add a vtn Tenant1
21     [Documentation]    Add a vtn Tenant1
22     Add a vtn    Tenant1    {"idleTimeout": "200","hardTimeout": "600","description": "Virtual Tenant1 for Hackfest network"}
23
24 Add a vBridge vBridge1
25     [Documentation]    Add a vBridge vBridge1 in vtn Tenant1
26     Add a vBridge    Tenant1    vBridge1    {"ageInterval": "300","description": "vBridge1 for Tenant1"}
27
28 Add a interface If1
29     [Documentation]    Add a interface if1 into vBridge vBridge1
30     Add a interface    Tenant1    vBridge1    if1    {"enabled": "true","description": "Interface1 for vBridge1 for Tenant1"}
31
32 Add a interface if2
33     [Documentation]    Add a interface if2 into vBridge vBridge1
34     Add a interface    Tenant1    vBridge1    if2    {"enabled": "true","description": "Interface2 for vBridge1 for Tenant1"}
35
36 Add a portmap for interface if1
37     [Documentation]    Create a portmap on Interface if1 of vBridge1
38     ${node}    Create Dictionary    type=OF    id=00:00:00:00:00:00:00:02
39     ${port}    Create Dictionary    name=s2-eth1
40     ${portmap_data}    Create Dictionary    node=${node}    port=${port}
41     Add a portmap    Tenant1    vBridge1    if1    ${portmap_data}
42
43 Add a portmap for interface if2
44     [Documentation]    Create a portmap on Interface if2 of vBridge1
45     ${node}    Create Dictionary    type=OF    id=00:00:00:00:00:00:00:03
46     ${port}    Create Dictionary    name=s3-eth1
47     ${portmap_data}    Create Dictionary    node=${node}    port=${port}
48     Add a portmap    Tenant1    vBridge1    if2    ${portmap_data}
49
50 Ping h1 to h3
51     [Documentation]    Ping h1 to h3, verify no packet loss
52     Mininet Ping Should Succeed     h1     h3
53
54 Add a vBridge vBridge2
55     [Documentation]    Add a vBridge vBridge2 in vtn Tenant1
56     Add a vBridge    Tenant1    vBridge2    {}
57
58 Add a interface If3
59     [Documentation]    Add a interface if3 into vBrdige vBridge1
60     Add a interface    Tenant1    vBridge1    if3    {}
61
62 Add a interface if4
63     [Documentation]    Add a interface if4 into vBrdige vBridge1
64     Add a interface    Tenant1    vBridge1    if4    {}
65
66 Add a portmap for interface if3
67     [Documentation]    Create a portmap on Interface if3 of vBridge1
68     ${node}    Create Dictionary    type=OF    id=00:00:00:00:00:00:00:02
69     ${port}    Create Dictionary    name=s2-eth2
70     ${portmap_data}    Create Dictionary    node=${node}    port=${port}
71     Add a portmap    Tenant1    vBridge1    if3    ${portmap_data}
72
73 Add a portmap for interface if4
74     [Documentation]    Create a portmap on Interface if4 of vBridge1
75     ${node}    Create Dictionary    type=OF    id=00:00:00:00:00:00:00:03
76     ${port}    Create Dictionary    name=s3-eth2
77     ${portmap_data}    Create Dictionary    node=${node}    port=${port}
78     Add a portmap    Tenant1    vBridge1    if4    ${portmap_data}
79
80 Ping h2 to h4
81     [Documentation]    Ping h2 to h4, verify no packet loss
82     Mininet Ping Should Succeed     h2     h4
83
84 Get flow
85     [Documentation]    Get flow of a vtn Tenant1
86     Get flow    Tenant1
87
88 Verify FlowMacAddress
89     [Documentation]    Checking Flows on switch
90     [Tags]    Switch
91     Verify FlowMacAddress    h2    h4
92
93 Remove Portmap for If1
94     [Documentation]    Remove portmap for the interface If1
95     ${node}    Create Dictionary    type=OF    id=00:00:00:00:00:00:00:02
96     ${port}    Create Dictionary    name=s2-eth1
97     ${portmap_data}    Create Dictionary    node=${node}    port=${port}
98     Remove a portmap    Tenant1    vBridge1    if1    ${portmap_data}
99
100 Verify RemovedFlowMacAddress
101     [Documentation]    flows will be deleted after the port map is removed
102     Verify RemovedFlowMacAddress    h1    h3
103
104 Delete a vtn Tenant1
105     [Documentation]    Delete a vtn Tenant1
106     Delete a vtn    Tenant1