Update Robot Framework format - step 18
[integration/test.git] / tools / deployment / openstack_ha / deploy / 05_nova_setup.robot
index 7f15da3245ec223e653091ddf030be50c2b4dc7c..be88a7c5349528fb30a4d24daf85920983b17d0a 100644 (file)
 *** Settings ***
-Documentation     Test suite to verify packet flows between vm instances.
-Suite Setup       OpenStackInstallUtils.Get All Ssh Connections
-Suite Teardown    Close All Connections
-Library           SSHLibrary
-Library           OperatingSystem
-Library           RequestsLibrary
-Resource          ../libraries/OpenStackInstallUtils.robot
-Resource          ../libraries/OpenStackOperations.robot
-Resource          ../libraries/SystemUtils.robot
-Resource          ../libraries/Utils.robot
+Documentation       Test suite to verify packet flows between vm instances.
+
+Library             SSHLibrary
+Library             OperatingSystem
+Library             RequestsLibrary
+Resource            ../libraries/OpenStackInstallUtils.robot
+Resource            ../libraries/OpenStackOperations.robot
+Resource            ../libraries/SystemUtils.robot
+Resource            ../libraries/Utils.robot
+
+Suite Setup         OpenStackInstallUtils.Get All Ssh Connections
+Suite Teardown      Close All Connections
+
 
 *** Test Cases ***
 Install Nova
     Create And Configure Nova Db    ${OS_CONTROL_1_IP}    root    mysql    ${OS_CONTROL_1_HOSTNAME}
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Create And Configure Nova Db Other Nodes    ${OS_CONTROL_2_IP}    root    mysql    ${OS_CONTROL_2_HOSTNAME}
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Create And Configure Nova Db Other Nodes    ${OS_CONTROL_3_IP}    root    mysql    ${OS_CONTROL_3_HOSTNAME}
-    Run Keyword If    3 < ${NUM_CONTROL_NODES}    Create And Configure Nova Db Other Nodes    ${OS_CONTROL_4_IP}    root    mysql    ${OS_CONTROL_4_HOSTNAME}
-    Run Keyword If    4 < ${NUM_CONTROL_NODES}    Create And Configure Nova Db Other Nodes    ${OS_CONTROL_5_IP}    root    mysql    ${OS_CONTROL_5_HOSTNAME}
-    Run Keyword If    2 > ${NUM_CONTROL_NODES}    Create Openstack Elements    ${OS_CONTROL_1_HOSTNAME}
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Create Openstack Elements    ${HAPROXY_HOSTNAME}
-    Run Keyword If    2 > ${NUM_CONTROL_NODES}    Install Configure Nova API    ${OS_CONTROL_1_IP}    ${OS_CONTROL_1_IP}    ${OS_CONTROL_1_HOSTNAME}
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Install Configure Nova API    ${OS_CONTROL_1_IP}    ${OS_CONTROL_1_IP}    ${HAPROXY_HOSTNAME}
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Install Configure Nova API    ${OS_CONTROL_2_IP}    ${OS_CONTROL_2_IP}    ${HAPROXY_HOSTNAME}
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Install Configure Nova API    ${OS_CONTROL_3_IP}    ${OS_CONTROL_3_IP}    ${HAPROXY_HOSTNAME}
-    Run Keyword If    3 < ${NUM_CONTROL_NODES}    Install Configure Nova API    ${OS_CONTROL_4_IP}    ${OS_CONTROL_4_IP}    ${HAPROXY_HOSTNAME}
-    Run Keyword If    4 < ${NUM_CONTROL_NODES}    Install Configure Nova API    ${OS_CONTROL_5_IP}    ${OS_CONTROL_5_IP}    ${HAPROXY_HOSTNAME}
+    IF    2 < ${NUM_CONTROL_NODES}
+        Create And Configure Nova Db Other Nodes    ${OS_CONTROL_2_IP}    root    mysql    ${OS_CONTROL_2_HOSTNAME}
+    END
+    IF    2 < ${NUM_CONTROL_NODES}
+        Create And Configure Nova Db Other Nodes    ${OS_CONTROL_3_IP}    root    mysql    ${OS_CONTROL_3_HOSTNAME}
+    END
+    IF    3 < ${NUM_CONTROL_NODES}
+        Create And Configure Nova Db Other Nodes    ${OS_CONTROL_4_IP}    root    mysql    ${OS_CONTROL_4_HOSTNAME}
+    END
+    IF    4 < ${NUM_CONTROL_NODES}
+        Create And Configure Nova Db Other Nodes    ${OS_CONTROL_5_IP}    root    mysql    ${OS_CONTROL_5_HOSTNAME}
+    END
+    IF    2 > ${NUM_CONTROL_NODES}
+        Create Openstack Elements    ${OS_CONTROL_1_HOSTNAME}
+    END
+    IF    2 < ${NUM_CONTROL_NODES}
+        Create Openstack Elements    ${HAPROXY_HOSTNAME}
+    END
+    IF    2 > ${NUM_CONTROL_NODES}
+        Install Configure Nova API    ${OS_CONTROL_1_IP}    ${OS_CONTROL_1_IP}    ${OS_CONTROL_1_HOSTNAME}
+    END
+    IF    2 < ${NUM_CONTROL_NODES}
+        Install Configure Nova API    ${OS_CONTROL_1_IP}    ${OS_CONTROL_1_IP}    ${HAPROXY_HOSTNAME}
+    END
+    IF    2 < ${NUM_CONTROL_NODES}
+        Install Configure Nova API    ${OS_CONTROL_2_IP}    ${OS_CONTROL_2_IP}    ${HAPROXY_HOSTNAME}
+    END
+    IF    2 < ${NUM_CONTROL_NODES}
+        Install Configure Nova API    ${OS_CONTROL_3_IP}    ${OS_CONTROL_3_IP}    ${HAPROXY_HOSTNAME}
+    END
+    IF    3 < ${NUM_CONTROL_NODES}
+        Install Configure Nova API    ${OS_CONTROL_4_IP}    ${OS_CONTROL_4_IP}    ${HAPROXY_HOSTNAME}
+    END
+    IF    4 < ${NUM_CONTROL_NODES}
+        Install Configure Nova API    ${OS_CONTROL_5_IP}    ${OS_CONTROL_5_IP}    ${HAPROXY_HOSTNAME}
+    END
     Sync Db    ${OS_CONTROL_1_IP}
     Start Nova Services    ${OS_CONTROL_1_IP}
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Start Nova Services    ${OS_CONTROL_2_IP}
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Start Nova Services    ${OS_CONTROL_3_IP}
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Generic HAProxy Entry    ${HAPROXY_IP}    ${HAPROXY_IP}    8774    nova_compute_api_cluster
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Generic HAProxy Entry    ${HAPROXY_IP}    ${HAPROXY_IP}    8775    nova_metadata_api_cluster
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Generic HAProxy Entry    ${HAPROXY_IP}    ${HAPROXY_IP}    8778    nova_placement_service
-    Run Keyword If    1 > ${NUM_COMPUTE_NODES}    Install Configure Nova Compute    ${OS_CONTROL_1_IP}    ${OS_CONTROL_1_IP}
-    Run Keyword If    0 < ${NUM_COMPUTE_NODES}    Install Configure Nova Compute    ${OS_COMPUTE_1_IP}    ${OS_COMPUTE_1_IP}
-    Run Keyword If    1 < ${NUM_COMPUTE_NODES}    Install Configure Nova Compute    ${OS_COMPUTE_2_IP}    ${OS_COMPUTE_2_IP}
+    IF    2 < ${NUM_CONTROL_NODES}    Start Nova Services    ${OS_CONTROL_2_IP}
+    IF    2 < ${NUM_CONTROL_NODES}    Start Nova Services    ${OS_CONTROL_3_IP}
+    IF    2 < ${NUM_CONTROL_NODES}
+        Generic HAProxy Entry    ${HAPROXY_IP}    ${HAPROXY_IP}    8774    nova_compute_api_cluster
+    END
+    IF    2 < ${NUM_CONTROL_NODES}
+        Generic HAProxy Entry    ${HAPROXY_IP}    ${HAPROXY_IP}    8775    nova_metadata_api_cluster
+    END
+    IF    2 < ${NUM_CONTROL_NODES}
+        Generic HAProxy Entry    ${HAPROXY_IP}    ${HAPROXY_IP}    8778    nova_placement_service
+    END
+    IF    1 > ${NUM_COMPUTE_NODES}
+        Install Configure Nova Compute    ${OS_CONTROL_1_IP}    ${OS_CONTROL_1_IP}
+    END
+    IF    0 < ${NUM_COMPUTE_NODES}
+        Install Configure Nova Compute    ${OS_COMPUTE_1_IP}    ${OS_COMPUTE_1_IP}
+    END
+    IF    1 < ${NUM_COMPUTE_NODES}
+        Install Configure Nova Compute    ${OS_COMPUTE_2_IP}    ${OS_COMPUTE_2_IP}
+    END
+
 
 *** Keywords ***
 Create And Configure Nova Db
     [Arguments]    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    ${host_name}
     Create Database for Mysql    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova
-    Grant Privileges To Mysql Database    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova.*    nova    ${host_name}
+    Grant Privileges To Mysql Database
+    ...    ${os_node_cxn}
+    ...    ${mysql_user}
+    ...    ${mysql_pass}
+    ...    nova.*
     ...    nova
-    Grant Privileges To Mysql Database    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova.*    nova    localhost
+    ...    ${host_name}
     ...    nova
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Grant Privileges To Mysql Database    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova.*
-    ...    nova    ${HAPROXY_HOSTNAME}    nova
+    Grant Privileges To Mysql Database
+    ...    ${os_node_cxn}
+    ...    ${mysql_user}
+    ...    ${mysql_pass}
+    ...    nova.*
+    ...    nova
+    ...    localhost
+    ...    nova
+    IF    2 < ${NUM_CONTROL_NODES}
+        Grant Privileges To Mysql Database
+        ...    ${os_node_cxn}
+        ...    ${mysql_user}
+        ...    ${mysql_pass}
+        ...    nova.*
+        ...    nova
+        ...    ${HAPROXY_HOSTNAME}
+        ...    nova
+    END
     Create Database for Mysql    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova_api
-    Grant Privileges To Mysql Database    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova_api.*    nova    ${host_name}
+    Grant Privileges To Mysql Database
+    ...    ${os_node_cxn}
+    ...    ${mysql_user}
+    ...    ${mysql_pass}
+    ...    nova_api.*
+    ...    nova
+    ...    ${host_name}
+    ...    nova
+    Grant Privileges To Mysql Database
+    ...    ${os_node_cxn}
+    ...    ${mysql_user}
+    ...    ${mysql_pass}
+    ...    nova_api.*
     ...    nova
-    Grant Privileges To Mysql Database    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova_api.*    nova    localhost
+    ...    localhost
     ...    nova
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Grant Privileges To Mysql Database    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova_api.*
-    ...    nova    ${HAPROXY_HOSTNAME}    nova
+    IF    2 < ${NUM_CONTROL_NODES}
+        Grant Privileges To Mysql Database
+        ...    ${os_node_cxn}
+        ...    ${mysql_user}
+        ...    ${mysql_pass}
+        ...    nova_api.*
+        ...    nova
+        ...    ${HAPROXY_HOSTNAME}
+        ...    nova
+    END
     Create Database for Mysql    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova_cell0
-    Grant Privileges To Mysql Database    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova_cell0.*    nova    ${host_name}
+    Grant Privileges To Mysql Database
+    ...    ${os_node_cxn}
+    ...    ${mysql_user}
+    ...    ${mysql_pass}
+    ...    nova_cell0.*
     ...    nova
-    Grant Privileges To Mysql Database    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova_cell0.*    nova    localhost
+    ...    ${host_name}
     ...    nova
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Grant Privileges To Mysql Database    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova_cell0.*
-    ...    nova    ${HAPROXY_HOSTNAME}    nova
+    Grant Privileges To Mysql Database
+    ...    ${os_node_cxn}
+    ...    ${mysql_user}
+    ...    ${mysql_pass}
+    ...    nova_cell0.*
+    ...    nova
+    ...    localhost
+    ...    nova
+    IF    2 < ${NUM_CONTROL_NODES}
+        Grant Privileges To Mysql Database
+        ...    ${os_node_cxn}
+        ...    ${mysql_user}
+        ...    ${mysql_pass}
+        ...    nova_cell0.*
+        ...    nova
+        ...    ${HAPROXY_HOSTNAME}
+        ...    nova
+    END
 
 Workaround Packaging Problem
     [Arguments]    ${os_node_cxn}
@@ -68,24 +168,84 @@ Workaround Packaging Problem
 
 Create And Configure Nova Db Other Nodes
     [Arguments]    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    ${host_name}
-    Grant Privileges To Mysql Database    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova.*    nova    ${host_name}
+    Grant Privileges To Mysql Database
+    ...    ${os_node_cxn}
+    ...    ${mysql_user}
+    ...    ${mysql_pass}
+    ...    nova.*
+    ...    nova
+    ...    ${host_name}
+    ...    nova
+    Grant Privileges To Mysql Database
+    ...    ${os_node_cxn}
+    ...    ${mysql_user}
+    ...    ${mysql_pass}
+    ...    nova.*
+    ...    nova
+    ...    localhost
+    ...    nova
+    IF    2 < ${NUM_CONTROL_NODES}
+        Grant Privileges To Mysql Database
+        ...    ${os_node_cxn}
+        ...    ${mysql_user}
+        ...    ${mysql_pass}
+        ...    nova.*
+        ...    nova
+        ...    ${HAPROXY_HOSTNAME}
+        ...    nova
+    END
+    Grant Privileges To Mysql Database
+    ...    ${os_node_cxn}
+    ...    ${mysql_user}
+    ...    ${mysql_pass}
+    ...    nova_api.*
+    ...    nova
+    ...    ${host_name}
+    ...    nova
+    Grant Privileges To Mysql Database
+    ...    ${os_node_cxn}
+    ...    ${mysql_user}
+    ...    ${mysql_pass}
+    ...    nova_api.*
     ...    nova
-    Grant Privileges To Mysql Database    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova.*    nova    localhost
+    ...    localhost
     ...    nova
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Grant Privileges To Mysql Database    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova.*
-    ...    nova    ${HAPROXY_HOSTNAME}    nova
-    Grant Privileges To Mysql Database    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova_api.*    nova    ${host_name}
+    IF    2 < ${NUM_CONTROL_NODES}
+        Grant Privileges To Mysql Database
+        ...    ${os_node_cxn}
+        ...    ${mysql_user}
+        ...    ${mysql_pass}
+        ...    nova_api.*
+        ...    nova
+        ...    ${HAPROXY_HOSTNAME}
+        ...    nova
+    END
+    Grant Privileges To Mysql Database
+    ...    ${os_node_cxn}
+    ...    ${mysql_user}
+    ...    ${mysql_pass}
+    ...    nova_cell0.*
     ...    nova
-    Grant Privileges To Mysql Database    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova_api.*    nova    localhost
+    ...    ${host_name}
     ...    nova
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Grant Privileges To Mysql Database    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova_api.*
-    ...    nova    ${HAPROXY_HOSTNAME}    nova
-    Grant Privileges To Mysql Database    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova_cell0.*    nova    ${host_name}
+    Grant Privileges To Mysql Database
+    ...    ${os_node_cxn}
+    ...    ${mysql_user}
+    ...    ${mysql_pass}
+    ...    nova_cell0.*
     ...    nova
-    Grant Privileges To Mysql Database    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova_cell0.*    nova    localhost
+    ...    localhost
     ...    nova
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Grant Privileges To Mysql Database    ${os_node_cxn}    ${mysql_user}    ${mysql_pass}    nova_cell0.*
-    ...    nova    ${HAPROXY_HOSTNAME}    nova
+    IF    2 < ${NUM_CONTROL_NODES}
+        Grant Privileges To Mysql Database
+        ...    ${os_node_cxn}
+        ...    ${mysql_user}
+        ...    ${mysql_pass}
+        ...    nova_cell0.*
+        ...    nova
+        ...    ${HAPROXY_HOSTNAME}
+        ...    nova
+    END
 
 Create Openstack Elements
     [Arguments]    ${host_name}
@@ -104,24 +264,72 @@ Create Openstack Elements
 
 Install Configure Nova API
     [Arguments]    ${os_node_cxn}    ${host_ip}    ${host_name}
-    Run Keyword If    '${OS_APPS_PRE_INSTALLED}' == 'no'    Install Rpm Package    ${os_node_cxn}    openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler openstack-nova-placement-api
+    IF    '${OS_APPS_PRE_INSTALLED}' == 'no'
+        Install Rpm Package
+        ...    ${os_node_cxn}
+        ...    openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler openstack-nova-placement-api
+    END
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    DEFAULT    enabled_apis    "osapi_compute,metadata"
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    DEFAULT    transport_url
-    ...    "rabbit://openstack:rabbit@${OS_CONTROL_1_HOSTNAME},openstack:rabbit@${OS_CONTROL_2_HOSTNAME},openstack:rabbit@${OS_CONTROL_3_HOSTNAME}"
-    Run Keyword If    2 > ${NUM_CONTROL_NODES}    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    DEFAULT    transport_url
-    ...    "rabbit://openstack:rabbit@${host_name}"
+    IF    2 < ${NUM_CONTROL_NODES}
+        Crudini Edit
+        ...    ${os_node_cxn}
+        ...    /etc/nova/nova.conf
+        ...    DEFAULT
+        ...    transport_url
+        ...    "rabbit://openstack:rabbit@${OS_CONTROL_1_HOSTNAME},openstack:rabbit@${OS_CONTROL_2_HOSTNAME},openstack:rabbit@${OS_CONTROL_3_HOSTNAME}"
+    END
+    IF    2 > ${NUM_CONTROL_NODES}
+        Crudini Edit
+        ...    ${os_node_cxn}
+        ...    /etc/nova/nova.conf
+        ...    DEFAULT
+        ...    transport_url
+        ...    "rabbit://openstack:rabbit@${host_name}"
+    END
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    DEFAULT    my_ip    ${host_ip}
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    DEFAULT    use_neutron    True
-    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    DEFAULT    firewall_driver    nova.virt.firewall.NoopFirewallDriver
-    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    api_database    connection    "mysql+pymysql://nova:nova@${host_name}/nova_api"
-    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    database    connection    "mysql+pymysql://nova:nova@${host_name}/nova"
+    Crudini Edit
+    ...    ${os_node_cxn}
+    ...    /etc/nova/nova.conf
+    ...    DEFAULT
+    ...    firewall_driver
+    ...    nova.virt.firewall.NoopFirewallDriver
+    Crudini Edit
+    ...    ${os_node_cxn}
+    ...    /etc/nova/nova.conf
+    ...    api_database
+    ...    connection
+    ...    "mysql+pymysql://nova:nova@${host_name}/nova_api"
+    Crudini Edit
+    ...    ${os_node_cxn}
+    ...    /etc/nova/nova.conf
+    ...    database
+    ...    connection
+    ...    "mysql+pymysql://nova:nova@${host_name}/nova"
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    api    auth_strategy    keystone
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    keystone_authtoken    auth_uri    http://${host_name}:5000
-    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    keystone_authtoken    auth_url    http://${host_name}:35357
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    keystone_authtoken    memcached_servers
-    ...    ${OS_CONTROL_1_IP}:11211,${OS_CONTROL_2_IP}:11211,${OS_CONTROL_3_IP}:11211
-    Run Keyword If    2 > ${NUM_CONTROL_NODES}    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    keystone_authtoken    memcached_servers
-    ...    ${host_name}:11211
+    Crudini Edit
+    ...    ${os_node_cxn}
+    ...    /etc/nova/nova.conf
+    ...    keystone_authtoken
+    ...    auth_url
+    ...    http://${host_name}:35357
+    IF    2 < ${NUM_CONTROL_NODES}
+        Crudini Edit
+        ...    ${os_node_cxn}
+        ...    /etc/nova/nova.conf
+        ...    keystone_authtoken
+        ...    memcached_servers
+        ...    ${OS_CONTROL_1_IP}:11211,${OS_CONTROL_2_IP}:11211,${OS_CONTROL_3_IP}:11211
+    END
+    IF    2 > ${NUM_CONTROL_NODES}
+        Crudini Edit
+        ...    ${os_node_cxn}
+        ...    /etc/nova/nova.conf
+        ...    keystone_authtoken
+        ...    memcached_servers
+        ...    ${host_name}:11211
+    END
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    keystone_authtoken    auth_type    password
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    keystone_authtoken    project_domain_name    default
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    keystone_authtoken    user_domain_name    default
@@ -143,7 +351,9 @@ Install Configure Nova API
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    oslo_messaging_rabbit    rabbit_max_retries    0
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    oslo_messaging_rabbit    rabbit_ha_queues    true
     Workaround Packaging Problem    ${os_node_cxn}
-    Run Command    ${os_node_cxn}    cat /tmp/nova_workaround.xml | sudo tee -a /etc/httpd/conf.d/00-nova-placement-api.conf
+    Run Command
+    ...    ${os_node_cxn}
+    ...    cat /tmp/nova_workaround.xml | sudo tee -a /etc/httpd/conf.d/00-nova-placement-api.conf
     Restart Service    ${os_node_cxn}    httpd
 
 Sync Db
@@ -156,35 +366,94 @@ Sync Db
 
 Start Nova Services
     [Arguments]    ${os_node_cxn}
-    Enable Service    ${os_node_cxn}    openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
-    Start Service    ${os_node_cxn}    openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
+    Enable Service
+    ...    ${os_node_cxn}
+    ...    openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
+    Start Service
+    ...    ${os_node_cxn}
+    ...    openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
 
 Install Configure Nova Compute
     [Arguments]    ${os_node_cxn}    ${host_ip}
-    Run Keyword If    '${OS_APPS_PRE_INSTALLED}' == 'no'    Install Rpm Package    ${os_node_cxn}    openstack-nova-compute nfs-utils
+    IF    '${OS_APPS_PRE_INSTALLED}' == 'no'
+        Install Rpm Package    ${os_node_cxn}    openstack-nova-compute nfs-utils
+    END
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    DEFAULT    enabled_apis    "osapi_compute,metadata"
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    DEFAULT    transport_url
-    ...    "rabbit://openstack:rabbit@${OS_CONTROL_1_HOSTNAME},openstack:rabbit@${OS_CONTROL_2_HOSTNAME},openstack:rabbit@${OS_CONTROL_3_HOSTNAME}"
-    Run Keyword If    2 > ${NUM_CONTROL_NODES}    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    DEFAULT    transport_url
-    ...    "rabbit://openstack:rabbit@${OS_CONTROL_1_HOSTNAME}"
+    IF    2 < ${NUM_CONTROL_NODES}
+        Crudini Edit
+        ...    ${os_node_cxn}
+        ...    /etc/nova/nova.conf
+        ...    DEFAULT
+        ...    transport_url
+        ...    "rabbit://openstack:rabbit@${OS_CONTROL_1_HOSTNAME},openstack:rabbit@${OS_CONTROL_2_HOSTNAME},openstack:rabbit@${OS_CONTROL_3_HOSTNAME}"
+    END
+    IF    2 > ${NUM_CONTROL_NODES}
+        Crudini Edit
+        ...    ${os_node_cxn}
+        ...    /etc/nova/nova.conf
+        ...    DEFAULT
+        ...    transport_url
+        ...    "rabbit://openstack:rabbit@${OS_CONTROL_1_HOSTNAME}"
+    END
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    oslo_messaging_rabbit    rabbit_max_retries    0
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    oslo_messaging_rabbit    rabbit_ha_queues    true
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    DEFAULT    my_ip    ${host_ip}
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    DEFAULT    use_neutron    True
-    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    DEFAULT    firewall_driver    nova.virt.firewall.NoopFirewallDriver
+    Crudini Edit
+    ...    ${os_node_cxn}
+    ...    /etc/nova/nova.conf
+    ...    DEFAULT
+    ...    firewall_driver
+    ...    nova.virt.firewall.NoopFirewallDriver
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    api    auth_strategy    keystone
-    Run Keyword If    2 > ${NUM_CONTROL_NODES}    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    keystone_authtoken    auth_uri
-    ...    http://${OS_CONTROL_1_HOSTNAME}:5000
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    keystone_authtoken    auth_uri
-    ...    http://${HAPROXY_HOSTNAME}:5000
-    Run Keyword If    2 > ${NUM_CONTROL_NODES}    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    keystone_authtoken    auth_url
-    ...    http://${OS_CONTROL_1_HOSTNAME}:35357
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    keystone_authtoken    auth_url
-    ...    http://${HAPROXY_HOSTNAME}:35357
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    keystone_authtoken    memcached_servers
-    ...    ${OS_CONTROL_1_IP}:11211,${OS_CONTROL_2_IP}:11211,${OS_CONTROL_3_IP}:11211
-    Run Keyword If    2 > ${NUM_CONTROL_NODES}    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    keystone_authtoken    memcached_servers
-    ...    ${OS_CONTROL_1_HOSTNAME}:11211
+    IF    2 > ${NUM_CONTROL_NODES}
+        Crudini Edit
+        ...    ${os_node_cxn}
+        ...    /etc/nova/nova.conf
+        ...    keystone_authtoken
+        ...    auth_uri
+        ...    http://${OS_CONTROL_1_HOSTNAME}:5000
+    END
+    IF    2 < ${NUM_CONTROL_NODES}
+        Crudini Edit
+        ...    ${os_node_cxn}
+        ...    /etc/nova/nova.conf
+        ...    keystone_authtoken
+        ...    auth_uri
+        ...    http://${HAPROXY_HOSTNAME}:5000
+    END
+    IF    2 > ${NUM_CONTROL_NODES}
+        Crudini Edit
+        ...    ${os_node_cxn}
+        ...    /etc/nova/nova.conf
+        ...    keystone_authtoken
+        ...    auth_url
+        ...    http://${OS_CONTROL_1_HOSTNAME}:35357
+    END
+    IF    2 < ${NUM_CONTROL_NODES}
+        Crudini Edit
+        ...    ${os_node_cxn}
+        ...    /etc/nova/nova.conf
+        ...    keystone_authtoken
+        ...    auth_url
+        ...    http://${HAPROXY_HOSTNAME}:35357
+    END
+    IF    2 < ${NUM_CONTROL_NODES}
+        Crudini Edit
+        ...    ${os_node_cxn}
+        ...    /etc/nova/nova.conf
+        ...    keystone_authtoken
+        ...    memcached_servers
+        ...    ${OS_CONTROL_1_IP}:11211,${OS_CONTROL_2_IP}:11211,${OS_CONTROL_3_IP}:11211
+    END
+    IF    2 > ${NUM_CONTROL_NODES}
+        Crudini Edit
+        ...    ${os_node_cxn}
+        ...    /etc/nova/nova.conf
+        ...    keystone_authtoken
+        ...    memcached_servers
+        ...    ${OS_CONTROL_1_HOSTNAME}:11211
+    END
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    keystone_authtoken    auth_type    password
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    keystone_authtoken    project_domain_name    default
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    keystone_authtoken    user_domain_name    default
@@ -192,25 +461,57 @@ Install Configure Nova Compute
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    keystone_authtoken    username    nova
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    keystone_authtoken    password    nova
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    vnc    enabled    false
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    glance    api_servers
-    ...    http://${HAPROXY_HOSTNAME}:9292
-    Run Keyword If    2 > ${NUM_CONTROL_NODES}    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    glance    api_servers
-    ...    http://${OS_CONTROL_1_HOSTNAME}:9292
+    IF    2 < ${NUM_CONTROL_NODES}
+        Crudini Edit
+        ...    ${os_node_cxn}
+        ...    /etc/nova/nova.conf
+        ...    glance
+        ...    api_servers
+        ...    http://${HAPROXY_HOSTNAME}:9292
+    END
+    IF    2 > ${NUM_CONTROL_NODES}
+        Crudini Edit
+        ...    ${os_node_cxn}
+        ...    /etc/nova/nova.conf
+        ...    glance
+        ...    api_servers
+        ...    http://${OS_CONTROL_1_HOSTNAME}:9292
+    END
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    oslo_concurrency    lock_path    /var/lib/nova/tmp
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    placement    os_region_name    RegionOne
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    placement    project_domain_name    Default
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    placement    user_domain_name    Default
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    placement    project_name    service
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    placement    auth_type    password
-    Run Keyword If    2 > ${NUM_CONTROL_NODES}    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    placement    auth_url
-    ...    http://${OS_CONTROL_1_HOSTNAME}:35357/v3
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    placement    auth_url
-    ...    http://${HAPROXY_HOSTNAME}:35357/v3
+    IF    2 > ${NUM_CONTROL_NODES}
+        Crudini Edit
+        ...    ${os_node_cxn}
+        ...    /etc/nova/nova.conf
+        ...    placement
+        ...    auth_url
+        ...    http://${OS_CONTROL_1_HOSTNAME}:35357/v3
+    END
+    IF    2 < ${NUM_CONTROL_NODES}
+        Crudini Edit
+        ...    ${os_node_cxn}
+        ...    /etc/nova/nova.conf
+        ...    placement
+        ...    auth_url
+        ...    http://${HAPROXY_HOSTNAME}:35357/v3
+    END
     Enable Service    ${os_node_cxn}    rpcbind
     Start Service    ${os_node_cxn}    rpcbind
     Run Command    ${os_node_cxn}    sudo mkdir -p /var/lib/nova/instances_live_migration
-    Run Keyword If    2 < ${NUM_CONTROL_NODES}    Run Command    ${os_node_cxn}    sudo mount -t nfs ${HAPROXY_IP}:/instances /var/lib/nova/instances_live_migration
-    Run Keyword If    2 > ${NUM_CONTROL_NODES}    Run Command    ${os_node_cxn}    sudo mount -t nfs ${ROBOT_VM_IP}:/instances /var/lib/nova/instances_live_migration
+    IF    2 < ${NUM_CONTROL_NODES}
+        Run Command
+        ...    ${os_node_cxn}
+        ...    sudo mount -t nfs ${HAPROXY_IP}:/instances /var/lib/nova/instances_live_migration
+    END
+    IF    2 > ${NUM_CONTROL_NODES}
+        Run Command
+        ...    ${os_node_cxn}
+        ...    sudo mount -t nfs ${ROBOT_VM_IP}:/instances /var/lib/nova/instances_live_migration
+    END
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    placement    username    placement
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    placement    password    placement
     Crudini Edit    ${os_node_cxn}    /etc/nova/nova.conf    libvirt    virt_type    qemu