Merge device specific keywords to retrieve entity ownership data
[integration/test.git] / csit / libraries / DevstackUtils.robot
index 6af68b7a4fa47e8347131307806094cb27def5e9..3f5ef5debb01158c257a92985bdf6fe08ce23fe6 100644 (file)
@@ -16,6 +16,7 @@ ${OS_CMP1_IP}     ${EMPTY}
 ${OS_CMP2_IP}     ${EMPTY}
 @{OS_ALL_IPS}     @{EMPTY}
 @{OS_CMP_IPS}     @{EMPTY}
+${OS_NODE_CNT}    ${1}
 
 *** Keywords ***
 Open Connection
@@ -28,12 +29,9 @@ Open Connection
 Devstack Suite Setup
     [Arguments]    ${odl_ip}=${ODL_SYSTEM_IP}
     [Documentation]    Open connections to the nodes
+    SSHLibrary.Set Default Configuration    timeout=${DEFAULT_DEVSTACK_PROMPT_TIMEOUT}
     DevstackUtils.Get DevStack Nodes Data
     RequestsLibrary.Create Session    session    http://${odl_ip}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
-    SSHLibrary.Set Default Configuration    timeout=${DEFAULT_DEVSTACK_PROMPT_TIMEOUT}
-    BuiltIn.Run Keyword If    0 < ${NUM_OS_SYSTEM}    DevstackUtils.Open Connection    OS_CNTL_CONN_ID    ${OS_CONTROL_NODE_IP}
-    BuiltIn.Run Keyword If    1 < ${NUM_OS_SYSTEM}    DevstackUtils.Open Connection    OS_CMP1_CONN_ID    ${OS_COMPUTE_1_IP}
-    BuiltIn.Run Keyword If    2 < ${NUM_OS_SYSTEM}    DevstackUtils.Open Connection    OS_CMP2_CONN_ID    ${OS_COMPUTE_2_IP}
 
 Write Commands Until Prompt
     [Arguments]    ${cmd}    ${timeout}=${DEFAULT_DEVSTACK_PROMPT_TIMEOUT}
@@ -53,7 +51,7 @@ Write Commands Until Prompt And Log
 
 Log Devstack Nodes Data
     ${output} =    BuiltIn.Catenate    SEPARATOR=\n    OS_CNTL_HOSTNAME: ${OS_CNTL_HOSTNAME} - OS_CNTL_IP: ${OS_CNTL_IP} - OS_CONTROL_NODE_IP: ${OS_CONTROL_NODE_IP}    OS_CMP1_HOSTNAME: ${OS_CMP1_HOSTNAME} - OS_CMP1_IP: ${OS_CMP1_IP} - OS_COMPUTE_1_IP: ${OS_COMPUTE_1_IP}    OS_CMP2_HOSTNAME: ${OS_CMP2_HOSTNAME} - OS_CMP2_IP: ${OS_CMP2_IP} - OS_COMPUTE_2_IP: ${OS_COMPUTE_2_IP}    OS_ALL_IPS: @{OS_ALL_IPS}
-    ...    OS_CMP_IPS: @{OS_CMP_IPS}
+    ...    OS_CMP_IPS: @{OS_CMP_IPS}    OS_NODE_CNT: ${OS_NODE_CNT}    OS_ALL_CONN_IDS: @{OS_ALL_CONN_IDS}    OS_CMP_CONN_IDS: @{OS_CMP_CONN_IDS}
     BuiltIn.Log    DevStack Nodes Data:\n${output}
 
 Get DevStack Hostnames
@@ -67,7 +65,14 @@ Get DevStack Hostnames
 
 Set Node Data For AllinOne Setup
     [Documentation]    Assign global variables for DevStack nodes where the Control Node enables Compute service also.
+    BuiltIn.Set Suite Variable    ${OS_CMP1_IP}    ${OS_CNTL_IP}
+    BuiltIn.Set Suite Variable    ${OS_CMP2_IP}    ${OS_CNTL_IP}
     BuiltIn.Set Suite Variable    @{OS_ALL_IPS}    ${OS_CNTL_IP}
+    BuiltIn.Set Suite Variable    @{OS_CMP_IPS}    ${OS_CNTL_IP}
+    BuiltIn.Set Suite Variable    ${OS_CMP1_CONN_ID}    ${OS_CNTL_CONN_ID}
+    BuiltIn.Set Suite Variable    ${OS_CMP2_CONN_ID}    ${OS_CNTL_CONN_ID}
+    BuiltIn.Set Suite Variable    @{OS_ALL_CONN_IDS}    ${OS_CNTL_CONN_ID}
+    BuiltIn.Set Suite Variable    @{OS_CMP_CONN_IDS}    ${OS_CNTL_CONN_ID}
 
 Set Node Data For Control And Compute Node Setup
     [Documentation]    Assign global variables for DevStack nodes where the control node is also the compute
@@ -75,19 +80,30 @@ Set Node Data For Control And Compute Node Setup
     BuiltIn.Set Suite Variable    ${OS_CMP2_IP}    ${OS_COMPUTE_1_IP}
     BuiltIn.Set Suite Variable    @{OS_ALL_IPS}    ${OS_CNTL_IP}    ${OS_CMP2_IP}
     BuiltIn.Set Suite Variable    @{OS_CMP_IPS}    ${OS_CMP1_IP}    ${OS_CMP2_IP}
+    BuiltIn.Set Suite Variable    ${OS_CMP1_CONN_ID}    ${OS_CNTL_CONN_ID}
+    DevstackUtils.Open Connection    OS_CMP2_CONN_ID    ${OS_COMPUTE_1_IP}
+    BuiltIn.Set Suite Variable    @{OS_ALL_CONN_IDS}    ${OS_CNTL_CONN_ID}    ${OS_CMP2_CONN_ID}
+    BuiltIn.Set Suite Variable    @{OS_CMP_CONN_IDS}    ${OS_CNTL_CONN_ID}    ${OS_CMP2_CONN_ID}
 
-Set Node Data For Control Only Node Setup
+Set Node Data For Control And Two Compute Node Setup
     [Documentation]    Assign global variables for DevStack nodes where the control node is different than the compute
     BuiltIn.Set Suite Variable    ${OS_CMP1_IP}    ${OS_COMPUTE_1_IP}
     BuiltIn.Set Suite Variable    ${OS_CMP2_IP}    ${OS_COMPUTE_2_IP}
     BuiltIn.Set Suite Variable    @{OS_ALL_IPS}    ${OS_CNTL_IP}    ${OS_CMP1_IP}    ${OS_CMP2_IP}
     BuiltIn.Set Suite Variable    @{OS_CMP_IPS}    ${OS_CMP1_IP}    ${OS_CMP2_IP}
+    DevstackUtils.Open Connection    OS_CMP1_CONN_ID    ${OS_COMPUTE_1_IP}
+    DevstackUtils.Open Connection    OS_CMP2_CONN_ID    ${OS_COMPUTE_2_IP}
+    BuiltIn.Set Suite Variable    @{OS_ALL_CONN_IDS}    ${OS_CNTL_CONN_ID}    ${OS_CMP1_CONN_ID}    ${OS_CMP2_CONN_ID}
+    BuiltIn.Set Suite Variable    @{OS_CMP_CONN_IDS}    ${OS_CMP1_CONN_ID}    ${OS_CMP2_CONN_ID}
 
 Get DevStack Nodes Data
     [Documentation]    Assign global variables for DevStack nodes
     BuiltIn.Set Suite Variable    ${OS_CNTL_IP}    ${OS_CONTROL_NODE_IP}
-    BuiltIn.Run Keyword If    ${NUM_OS_SYSTEM} == 1    DevstackUtils.Set Node Data For AllinOne Setup
-    ...    ELSE IF    ${NUM_OS_SYSTEM} == 2    DevstackUtils.Set Node Data For Control And Compute Node Setup
-    ...    ELSE IF    ${NUM_OS_SYSTEM} == 3    DevstackUtils.Set Node Data For Control Only Node Setup
+    DevstackUtils.Open Connection    OS_CNTL_CONN_ID    ${OS_CNTL_IP}
+    BuiltIn.Run Keyword If    "${OPENSTACK_TOPO}" == "1cmb-0ctl-0cmp"    DevstackUtils.Set Node Data For AllinOne Setup
+    ...    ELSE IF    "${OPENSTACK_TOPO}" == "1cmb-0ctl-1cmp"    DevstackUtils.Set Node Data For Control And Compute Node Setup
+    ...    ELSE IF    "${OPENSTACK_TOPO}" == "0cmb-1ctl-2cmp"    DevstackUtils.Set Node Data For Control And Two Compute Node Setup
+    ${OS_NODE_CNT} =    BuiltIn.Get Length    ${OS_ALL_IPS}
+    BuiltIn.Set Suite Variable    ${OS_NODE_CNT}
     DevstackUtils.Get DevStack Hostnames
     DevstackUtils.Log Devstack Nodes Data