Merge "Add pipeline and config file for testing groovy syntax"
diff --git a/lab-pipeline.groovy b/lab-pipeline.groovy
index 52477dc..b36543a 100644
--- a/lab-pipeline.groovy
+++ b/lab-pipeline.groovy
@@ -156,8 +156,8 @@
                         // workaround - install apt-transport-https
                         //salt.runSaltProcessStep(saltMaster, '* and not kvm*', 'cmd.run', ['apt-get update -y && apt-get install -y apt-transport-https'], null, true)
                         //salt.runSaltProcessStep(saltMaster, '* and not kvm*', 'pkg.install', ['apt-transport-https', 'refresh=True'], null, true)
-                        salt.enforceState(saltMaster, 'I@linux:system', ['linux', 'salt.minion'], true)
-                        salt.enforceState(saltMaster, 'I@linux:system', ['openssh', 'salt.minion', 'ntp'], true)
+                        salt.enforceState(saltMaster, 'I@linux:system', ['linux', 'salt.minion'], true, false)
+                        salt.enforceState(saltMaster, 'I@linux:system', ['openssh', 'salt.minion', 'ntp'], true, false)
                     }
 
                     //orchestrate.validateFoundationInfra(saltMaster)
@@ -189,8 +189,6 @@
 
                     // Setup glusterfs
                     salt.runSaltProcessStep(saltMaster, 'I@glusterfs:server and *01*', 'state.sls', ['glusterfs.server.setup'])
-                    salt.runSaltProcessStep(saltMaster, 'I@glusterfs:server and *02*', 'state.sls', ['glusterfs.server.setup'])
-                    salt.runSaltProcessStep(saltMaster, 'I@glusterfs:server and *03*', 'state.sls', ['glusterfs.server.setup'])
                     salt.runSaltProcessStep(saltMaster, 'I@glusterfs:server', 'cmd.run', ['gluster peer status'])
                     salt.runSaltProcessStep(saltMaster, 'I@glusterfs:server', 'cmd.run', ['gluster volume status'])
 
@@ -246,6 +244,9 @@
                 stage('Install OpenStack infra') {
                     //orchestrate.installOpenstackMkInfra(saltMaster, physical)
 
+                    // Install glusterfs
+                    salt.enforceState(saltMaster, 'I@glusterfs:server', 'glusterfs.server.service', true)
+
                     // Install keepaliveds
                     //runSaltProcessStep(master, 'I@keepalived:cluster', 'state.sls', ['keepalived'], 1)
                     salt.enforceState(saltMaster, 'I@keepalived:cluster and *01*', 'keepalived', true)
@@ -254,33 +255,29 @@
                     // Check the keepalived VIPs
                     salt.runSaltProcessStep(saltMaster, 'I@keepalived:cluster', 'cmd.run', ['ip a | grep 172.16.10.2'])
 
-                    // Install glusterfs
-                    salt.enforceState(saltMaster, 'I@glusterfs:server', 'glusterfs.server.service', true)
-
-                    //runSaltProcessStep(saltMaster, 'I@glusterfs:server', 'state.sls', ['glusterfs.server.setup'], 1)
                     salt.enforceState(saltMaster, 'I@glusterfs:server and *01*', 'glusterfs.server.setup', true)
-                    salt.enforceState(saltMaster, 'I@glusterfs:server and *02*', 'glusterfs.server.setup', true)
-                    salt.enforceState(saltMaster, 'I@glusterfs:server and *03*', 'glusterfs.server.setup', true)
 
                     salt.runSaltProcessStep(saltMaster, 'I@glusterfs:server', 'cmd.run', ['gluster peer status'], null, true)
                     salt.runSaltProcessStep(saltMaster, 'I@glusterfs:server', 'cmd.run', ['gluster volume status'], null, true)
 
                     // Install rabbitmq
-                    salt.enforceState(saltMaster, 'I@rabbitmq:server', 'rabbitmq', true)
+                    salt.enforceState(saltMaster, 'I@rabbitmq:server', 'rabbitmq', true, false)
 
                     // Check the rabbitmq status
                     salt.runSaltProcessStep(saltMaster, 'I@rabbitmq:server', 'cmd.run', ['rabbitmqctl cluster_status'])
 
                     // Install galera
-                    salt.enforceState(saltMaster, 'I@galera:master', 'galera', true)
+                    retry(2) {
+                        salt.enforceState(saltMaster, 'I@galera:master', 'galera', true)
+                    }
                     salt.enforceState(saltMaster, 'I@galera:slave', 'galera', true)
 
                     // Check galera status
                     salt.runSaltProcessStep(saltMaster, 'I@galera:master', 'mysql.status')
                     salt.runSaltProcessStep(saltMaster, 'I@galera:slave', 'mysql.status')
 
-                    // Setup mysql client
-                    salt.enforceState(saltMaster, 'I@mysql:client', 'mysql.client', true)
+                    // // Setup mysql client
+                    // salt.enforceState(saltMaster, 'I@mysql:client', 'mysql.client', true)
 
                     // Install haproxy
                     salt.enforceState(saltMaster, 'I@haproxy:proxy', 'haproxy', true)
@@ -356,20 +353,20 @@
                         try {
                             salt.enforceState(saltMaster, 'I@opencontrail:database and *01*', 'opencontrail.database', true)
                         } catch (Exception e) {
-                            print.warningMsg('Exception in state opencontrail.database on I@opencontrail:database and *01*')
+                            common.warningMsg('Exception in state opencontrail.database on I@opencontrail:database and *01*')
                         }
 
                         try {
                             salt.enforceState(saltMaster, 'I@opencontrail:database', 'opencontrail.database', true)
                         } catch (Exception e) {
-                            print.warningMsg('Exception in state opencontrail.database on I@opencontrail:database')
+                            common.warningMsg('Exception in state opencontrail.database on I@opencontrail:database')
                         }
 
                         // Install opencontrail control services
                         //runSaltProcessStep(saltMaster, 'I@opencontrail:control', 'state.sls', ['opencontrail'], 1)
-                        salt.enforceState(saltMaster, 'I@opencontrail:control and *01*', 'opencontrail', true)
-                        salt.enforceState(saltMaster, 'I@opencontrail:control', 'opencontrail', true)
-                        salt.enforceState(saltMaster, 'I@opencontrail:collector', 'opencontrail', true)
+                        salt.runSaltProcessStep(saltMaster, 'I@opencontrail:control and *01*', 'state.sls', ['opencontrail', 'exclude=opencontrail.client'])
+                        salt.runSaltProcessStep(saltMaster, 'I@opencontrail:control', 'state.sls', ['opencontrail', 'exclude=opencontrail.client'])
+                        salt.runSaltProcessStep(saltMaster, 'I@opencontrail:collector', 'state.sls', ['opencontrail', 'exclude=opencontrail.client'])
 
                         // Test opencontrail
                         salt.runSaltProcessStep(saltMaster, 'I@opencontrail:control', 'cmd.run', ['contrail-status'], null, true)