Fix gerrit - mysql depedency hack

Change-Id: I3a3f0777a6b36e24d9581df354b26034b712581f
diff --git a/cicd-lab-pipeline.groovy b/cicd-lab-pipeline.groovy
index cbcbd58..96b6529 100644
--- a/cicd-lab-pipeline.groovy
+++ b/cicd-lab-pipeline.groovy
@@ -31,6 +31,26 @@
 salt = new com.mirantis.mk.Salt()
 orchestrate = new com.mirantis.mk.Orchestrate()
 
+def waitForServices(saltMaster) {
+    retry(30) {
+        out = salt.cmdRun(saltMaster, 'I@docker:swarm:role:master', """/bin/bash -c 'docker service ls | grep -E "0/[0-9]+"' && echo 'Some services are not running'""")
+        for (int a = 0; a < out['return'].size(); a++) {
+            def entry = out['return'].get(a)
+            for (int i = 0; i < entry.size(); i++) {
+                def node = entry.get(i)
+                if (node) {
+                    if (node.value =~ /Some services are not running/) {
+                        sleep(10)
+                        throw new Exception("$node.key: $node.value")
+                    } else {
+                        print out
+                    }
+                }
+            }
+        }
+    }
+}
+
 node {
     try {
         // connection objects
@@ -125,30 +145,11 @@
 
             // XXX: Hack to fix dependency of gerrit on mysql
             print salt.cmdRun(saltMaster, 'I@docker:swarm:role:master', "docker service rm gerrit; sleep 5; rm -rf /srv/volumes/gerrit/*")
-            sleep(10)
-            print salt.cmdRun(saltMaster, 'I@docker:swarm:role:master', "apt-get install -y mysql-client; mysql -ppassword -h172.16.10.11 -P13306 -e'drop database gerrit;create database gerrit;'")
+            waitForServices(saltMaster)
             salt.enforceState(saltMaster, 'I@docker:swarm:role:master', 'docker.client')
             // ---- cut here (end of hack) ----
 
-            retry(30) {
-                out = salt.cmdRun(saltMaster, 'I@docker:swarm:role:master', """/bin/bash -c 'docker service ls | grep -E "0/[0-9]+"' && echo 'Some services are not running'""")
-                for (int a = 0; a < out['return'].size(); a++) {
-                    def entry = out['return'].get(a)
-                    for (int i = 0; i < entry.size(); i++) {
-                        def node = entry.get(i)
-                        if (node) {
-                            if (node.value =~ /Some services are not running/) {
-                                sleep(10)
-                                throw new Exception("$node.key: $node.value")
-                            } else {
-                                print out
-                            }
-                        }
-                    }
-                }
-            }
-            // Give services some time to settle
-            sleep(30)
+            waitForServices(saltMaster)
         }
 
         stage("Configure CI/CD services") {