Add opencontrail:common class during upgrade if doesnot exist
Add opencontrail:common class to support sysctl pillar values instead
of hardcoded one in salt-formula.
Change-Id: I358e050461b2318dbba71a039e51c62e59e1dde6
Related-Prod: PROD-32182
(cherry picked from commit da1178933c2dc4aa8340195ce55e563c3f4a76a6)
diff --git a/upgrade-mcp-release.groovy b/upgrade-mcp-release.groovy
index 5d5f5ae..d8bca43 100644
--- a/upgrade-mcp-release.groovy
+++ b/upgrade-mcp-release.groovy
@@ -206,6 +206,30 @@
}
}
+def wa32182(String cluster_name) {
+ if (salt.testTarget('I@opencontrail:control or I@opencontrail:collector')) {
+ def clusterModelPath = "/srv/salt/reclass/classes/cluster/${cluster_name}"
+ def fixFile = "${clusterModelPath}/opencontrail/common_wa32182.yml"
+ def usualFile = "${clusterModelPath}/opencontrail/common.yml"
+ def fixFileContent = "classes:\n- system.opencontrail.common\n"
+ salt.cmdRun(venvPepper, 'I@salt:master', "test -f ${fixFile} -o -f ${usualFile} || echo '${fixFileContent}' > ${fixFile}")
+ def contrailFiles = ['opencontrail/analytics.yml', 'opencontrail/control.yml', 'openstack/compute/init.yml']
+ if (salt.testTarget(venvPepper, "I@kubernetes:master")) {
+ contrailFiles.add('kubernetes/compute.yml')
+ }
+ for(String contrailFile in contrailFiles) {
+ contrailFile = "${clusterModelPath}/${contrailFile}"
+ def containsFix = salt.cmdRun(venvPepper, 'I@salt:master', "grep -E '^- cluster\\.${cluster_name}\\.opencontrail\\.common(_wa32182)?\$' ${contrailFile}", false, null, true).get('return')[0].values()[0].replaceAll('Salt command execution success', '').trim()
+ if (containsFix) {
+ continue
+ } else {
+ salt.cmdRun(venvPepper, 'I@salt:master', "grep -q -E '^parameters:' ${contrailFile} && sed -i '/^parameters:/i - cluster.${cluster_name}.opencontrail.common_wa32182' ${contrailFile} || " +
+ "echo '- cluster.${cluster_name}.opencontrail.common_wa32182' >> ${contrailFile}")
+ }
+ }
+ }
+}
+
def archiveReclassInventory(filename) {
def _tmp_file = '/tmp/' + filename + UUID.randomUUID().toString().take(8)
// jenkins may fail at overheap. Compress data with gzip like WA
@@ -427,6 +451,7 @@
}
}
}
+ wa32182(cluster_name)
// 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 || " +