Merge the tip of origin/release/proposed/2019.2.0 into origin/release/2019.2.0

0f4d690 Add PROD-37068 upgrade check
f264ade Add restart designate-central to the Pre-upgrade step
11fc4ee Add force restart of designate-central before verify step

Change-Id: Ic913e7be898d2552cd683a803fd63d441139e313
diff --git a/openstack-control-upgrade.groovy b/openstack-control-upgrade.groovy
index 14f4c06..a995641 100644
--- a/openstack-control-upgrade.groovy
+++ b/openstack-control-upgrade.groovy
@@ -131,6 +131,24 @@
   }
 }
 
+def checkDesignate(env) {
+  def common = new com.mirantis.mk.Common()
+  def salt = new com.mirantis.mk.Salt()
+  // Workaround for PROD-33592, restart designate-central services if enabled
+  designate_enabled = salt.getPillar(env, 'I@designate:server', "designate:server:enabled").get("return")[0].values()[0]
+  if (designate_enabled == '' || designate_enabled == 'false' || designate_enabled == null) {
+    common.infoMsg('Designate is disabled, nothing to do')
+  } else {
+    try {
+       salt.runSaltProcessStep(env, "I@designate:server", "service.restart", "designate-central", null, true)
+    }
+    catch (Exception ex) {
+       common.infoMsg(ex)
+       error('Designate service is broken, please check logs')
+    }
+  }
+}
+
 def env = "env"
 timeout(time: 12, unit: 'HOURS') {
   node() {
@@ -159,6 +177,7 @@
         openstack.runOpenStackUpgradePhase(env, target, 'pre')
         salt.runSaltProcessStep(env, target, 'saltutil.refresh_pillar', [], null, true)
         salt.enforceState(env, target, 'linux.system.repo')
+        checkDesignate(env)
         openstack.runOpenStackUpgradePhase(env, target, 'verify')
       }
     }
@@ -187,6 +206,7 @@
       common.stageWrapper(upgradeStageMap, "Upgrade OpenStack", target, interactive) {
         openstack.runOpenStackUpgradePhase(env, target, 'upgrade')
         openstack.applyOpenstackAppsStates(env, target)
+        checkDesignate(env)
         openstack.runOpenStackUpgradePhase(env, target, 'verify')
       }
     }
diff --git a/pre-upgrade-verify.groovy b/pre-upgrade-verify.groovy
index acd591f..5867817 100644
--- a/pre-upgrade-verify.groovy
+++ b/pre-upgrade-verify.groovy
@@ -5,7 +5,7 @@
 upgradeChecks = new com.mirantis.mcp.UpgradeChecks()
 
 reportDir = 'reportDir/'
-waList =['check_34406', 'check_34645', 'check_35705', 'check_35884', 'check_36461', 'check_36461_2', 'check_36960']
+waList =['check_34406', 'check_34645', 'check_35705', 'check_35884', 'check_36461', 'check_36461_2', 'check_36960', 'check_37068']
 
 timeout(time: PIPELINE_TIMEOUT, unit: 'HOURS') {
     node('python') {
diff --git a/upgrade-mcp-release.groovy b/upgrade-mcp-release.groovy
index 23ce0ef..e99ec60 100644
--- a/upgrade-mcp-release.groovy
+++ b/upgrade-mcp-release.groovy
@@ -659,6 +659,7 @@
                 upgradeChecks.check_36461(salt, venvPepper, cluster_name, true)
                 upgradeChecks.check_36461_2(salt, venvPepper, cluster_name, true)
                 upgradeChecks.check_36960(salt, venvPepper, cluster_name, true)
+                upgradeChecks.check_37068(salt, venvPepper, cluster_name, true)
 
                 common.infoMsg('Perform: Validate reclass medata before processing')
                 validateReclassModel(minions, 'before')