fe7d1c0406717267ecf78d6e689c60fd07799d75
[integration/test.git] / csit / suites / netvirt / Netvirt_Cluster / 010_Ovsdb_Netvirt_flow.robot
1 *** Settings ***
2 Documentation     Test suite for Ovsdb Southbound Cluster
3 Suite Setup       SetupUtils.Setup_Utils_For_Setup_And_Teardown
4 Suite Teardown    Delete All Sessions
5 Test Setup        SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
6 Library           RequestsLibrary
7 Resource          ../../../libraries/ClusterManagement.robot
8 Resource          ../../../libraries/ClusterOvsdb.robot
9 Resource          ../../../libraries/Utils.robot
10 Resource          ../../../libraries/OVSDB.robot
11 Resource          ../../../libraries/SetupUtils.robot
12 Variables         ../../../variables/Variables.py
13
14 *** Variables ***
15 ${OVSDB_CONFIG_DIR}    ${CURDIR}/../../../variables/ovsdb
16 @{node_list}      ovsdb://uuid/
17 ${EXT_NET1_ID}    7da709ff-397f-4778-a0e8-994811272fdb
18 ${EXT_SUBNET1_ID}    00289199-e288-464a-ab2f-837ca67101a7
19 ${TNT1_ID}        cde2563ead464ffa97963c59e002c0cf
20
21 *** Test Cases ***
22 Verify Net-virt Features
23     [Documentation]    Check Net-virt Console related features (odl-ovsdb-openstack)
24     KarafKeywords.Verify Feature Is Installed    odl-ovsdb-openstack    ${ODL_SYSTEM_1_IP}
25     KarafKeywords.Verify Feature Is Installed    odl-ovsdb-openstack    ${ODL_SYSTEM_2_IP}
26     KarafKeywords.Verify Feature Is Installed    odl-ovsdb-openstack    ${ODL_SYSTEM_3_IP}
27
28 Check Shards Status Before Fail
29     [Documentation]    Check Status for all shards in Ovsdb application.
30     ClusterOvsdb.Check Ovsdb Shards Status
31
32 Start Mininet Multiple Connections
33     [Documentation]    Start mininet with connection to all cluster instances.
34     ${mininet_conn_id}    Ovsdb.Add Multiple Managers to OVS
35     Set Suite Variable    ${mininet_conn_id}
36     Log    ${mininet_conn_id}
37
38 Get manager connection
39     [Documentation]    This will verify if the OVS manager is connected
40     [Tags]    OVSDB netvirt
41     Ovsdb.Verify OVS Reports Connected
42
43 Check netvirt is loaded
44     [Documentation]    Check if the netvirt piece has been loaded into the karaf instance
45     [Tags]    Check netvirt is loaded
46     ${netvirt}=    Create Dictionary    netvirt:1=1
47     Wait Until Keyword Succeeds    6s    2s    ClusterManagement.Check_Item_Occurrence_Member_List_Or_All    uri=${OPERATIONAL_NODES_NETVIRT}    dictionary=${netvirt}
48
49 Check External Net for Tenant
50     [Documentation]    Check External Net for Tenant
51     [Tags]    OpenStack Call Flow
52     ${resp}=    Create Dictionary    "networks" : [ ]=1
53     ClusterManagement.Check_Item_Occurrence_Member_List_Or_All    uri=${NEUTRON_NETWORKS_API}    dictionary=${resp}
54
55 Create External Net for Tenant
56     [Documentation]    Create External Net for Tenant
57     [Tags]    OpenStack Call Flow
58     ${session} =    Resolve_Http_Session_For_Member    member_index=1
59     ${Data}    OperatingSystem.Get File    ${OVSDB_CONFIG_DIR}/create_ext_net.json
60     ${Data}    Replace String    ${Data}    {netId}    ${EXT_NET1_ID}
61     ${Data}    Replace String    ${Data}    {tntId}    ${TNT1_ID}
62     Log    ${Data}
63     ${resp}    RequestsLibrary.Post Request    ${session}    ${NEUTRON_NETWORKS_API}    data=${Data}    headers=${HEADERS}
64     Log    ${resp.content}
65     Log    ${resp.status_code}
66     ${status_code}=    Convert To String    ${resp.status_code}
67     Should Match Regexp    ${status_code}    20(0|1)
68     ClusterManagement.Check_Json_Member_List_Or_All    ${NEUTRON_NETWORKS_API}    ${Data}