Merge "Rename targetHosts for etcd to targetHostsEtcd in k8s upgrade"
diff --git a/cloud-deploy-pipeline.groovy b/cloud-deploy-pipeline.groovy
index eb9cc8e..9878a49 100644
--- a/cloud-deploy-pipeline.groovy
+++ b/cloud-deploy-pipeline.groovy
@@ -397,6 +397,9 @@
 
                 stage('Install Kubernetes control') {
                     orchestrate.installKubernetesControl(venvPepper, extra_tgt)
+                    if (common.checkContains('STACK_INSTALL', 'contrail')) {
+                        orchestrate.checkContrailApiReadiness(venvPepper, extra_tgt)
+                    }
 
                     // collect artifacts (kubeconfig)
                     writeFile(file: 'kubeconfig', text: salt.getFileContent(venvPepper, "I@kubernetes:master and *01* ${extra_tgt}", '/etc/kubernetes/admin-kube-config'))
@@ -473,6 +476,7 @@
 
                     if (common.checkContains('STACK_INSTALL', 'contrail')) {
                         orchestrate.installContrailNetwork(venvPepper, extra_tgt)
+                        orchestrate.checkContrailApiReadiness(venvPepper, extra_tgt)
                     } else if (common.checkContains('STACK_INSTALL', 'ovs')) {
                         orchestrate.installOpenstackNetwork(venvPepper, extra_tgt)
                     }
diff --git a/upgrade-mcp-release.groovy b/upgrade-mcp-release.groovy
index 14a746b..24ac15f 100644
--- a/upgrade-mcp-release.groovy
+++ b/upgrade-mcp-release.groovy
@@ -189,6 +189,14 @@
                     salt.cmdRun(venvPepper, 'I@salt:master', "cd /srv/salt/reclass/classes/cluster/$cluster_name && " +
                         "grep -r --exclude-dir=aptly -l 'system.linux.system.repo.mcp.updates' * | xargs --no-run-if-empty sed -i 's/system.linux.system.repo.mcp.salt/system.linux.system.repo.mcp.apt_mirantis.update/g'")
                     salt.cmdRun(venvPepper, 'I@salt:master', "cd /srv/salt/reclass/classes/system && git checkout ${reclassSystemBranch}")
+                    // Add kubernetes-extra repo
+                    if (salt.testTarget(venvPepper, "I@kubernetes:master")) {
+                        common.infoMsg("Add kubernetes-extra repo")
+                        salt.cmdRun(venvPepper, 'I@salt:master', "cd /srv/salt/reclass/classes/cluster/$cluster_name && " +
+                            "grep -q system.linux.system.repo.mcp.apt_mirantis.update.kubernetes_extra kubernetes/common.yml || sed -i '/classes:/ a - system.linux.system.repo.mcp.apt_mirantis.update.kubernetes_extra' kubernetes/common.yml")
+                        salt.cmdRun(venvPepper, 'I@salt:master', "cd /srv/salt/reclass/classes/cluster/$cluster_name && " +
+                            "grep -q system.linux.system.repo.mcp.apt_mirantis.kubernetes_extra kubernetes/common.yml || sed -i '/classes:/ a - system.linux.system.repo.mcp.apt_mirantis.kubernetes_extra' kubernetes/common.yml")
+                    }
                     // Add new defaults
                     common.infoMsg("Add new defaults")
                     salt.cmdRun(venvPepper, 'I@salt:master', "grep '^    mcp_version: ' /srv/salt/reclass/classes/cluster/$cluster_name/infra/init.yml || " +