[feat][core] parse config file from component repo
us: PRODX-6088
Change-Id: I5c66a7c76606ca1a30ad4645797b61c0682481aa
diff --git a/src/com/mirantis/mk/KaasUtils.groovy b/src/com/mirantis/mk/KaasUtils.groovy
index 2109dcd..8d4a441 100644
--- a/src/com/mirantis/mk/KaasUtils.groovy
+++ b/src/com/mirantis/mk/KaasUtils.groovy
@@ -145,6 +145,36 @@
/**
* Determine if custom kaas core/pipelines refspec forwarded from gerrit change request
+ * @param configurationFile (str) path to configuration file in yaml format
+ *
+ * @return (map)[ siTestsFeatureFlags (string) dedicated feature flags that will be used in SI tests,
+ * ]
+ */
+def parseKaaSComponentCIParameters(configurationFile){
+ def common = new com.mirantis.mk.Common()
+ def ciConfig = readYaml file: configurationFile
+ def ciSpec = [
+ siTestsFeatureFlags: env.SI_TESTS_FEATURE_FLAGS ?: '',
+ ]
+
+ if (ciConfig.containsKey('si-tests-feature-flags')) {
+ common.infoMsg("""SI tests feature flags customization detected,
+ results will be merged with existing flags: [${ciSpec['siTestsFeatureFlags']}] identification...""")
+
+ def ffMeta = ciSpec['siTestsFeatureFlags'].tokenize(',').collect { it.trim() }
+ ffMeta.addAll(ciConfig['si-tests-feature-flags'])
+ ciSpec['siTestsFeatureFlags'] = ffMeta.join(',')
+
+ common.infoMsg("SI tests custom feature flags: ${ciSpec['siTestsFeatureFlags']}")
+ }
+
+ common.infoMsg("""Additional ci configuration parsed successfully:
+ siTestsFeatureFlags: ${ciSpec['siTestsFeatureFlags']}""")
+ return ciSpec
+}
+
+/**
+ * Determine if custom kaas core/pipelines refspec forwarded from gerrit change request
* Keyword list: https://gerrit.mcp.mirantis.com/plugins/gitiles/kaas/core/+/refs/heads/master/.git-message-template#59
* Used for components team to test component changes w/ custom Core refspecs using kaas/core deployment jobs
@@ -260,3 +290,5 @@
currentBuild.result = 'FAILURE'
}
}
+
+