Revert "Generate model in docker"
This reverts commit 8692f4398b12d979904867f2d00779665ba4ed2e.
Related-Prod: PROD-28044 (PROD:28044)
Change-Id: If685c95a74a2c29411a1417db536b6e6ca12e1d8
diff --git a/generate-cookiecutter-products.groovy b/generate-cookiecutter-products.groovy
index 010b0ba..54e9853 100644
--- a/generate-cookiecutter-products.groovy
+++ b/generate-cookiecutter-products.groovy
@@ -6,7 +6,6 @@
* CREDENTIALS_ID Credentials id for git
* TEST_MODEL Run syntax tests for model
**/
-
import static groovy.json.JsonOutput.toJson
import static groovy.json.JsonOutput.prettyPrint
import org.apache.commons.net.util.SubnetUtils
@@ -23,47 +22,6 @@
distribRevision = 'proposed'
gitGuessedVersion = false
-def GenerateModelToxDocker(Map params) {
- def ccRoot = params['ccRoot']
- def context = params['context']
- def outDir = params['outDir']
- def envOpts = params['envOpts']
- if (fileExists(new File(ccRoot, 'tox.ini').toString())) {
- def tempContextFile = new File(ccRoot, 'tempContext.yaml_' + UUID.randomUUID().toString()).toString()
- writeFile file: tempContextFile, text: context
- // Get Jenkins user UID and GID
- def jenkinsUID = sh(script: 'id -u', returnStdout: true).trim()
- def jenkinsGID = sh(script: 'id -g', returnStdout: true).trim()
- /// by default, process in image operates via root user
- /// Otherwise, gpg key for model and all files managed by jenkins user
- /// To make it compatible, install rrequirementfrom user, but generate model via jenkins
- def configRun = ['distribRevision': 'nightly',
- 'envOpts' : envOpts + ["CONFIG_FILE=$tempContextFile",
- "OUTPUT_DIR=${outDir}",
- "jenkinsUID=${jenkinsUID}",
- "jenkinsGID=${jenkinsGID}"
- ],
- 'runCommands' : [
- '001_prepare_generate_auto_reqs': {
- sh('''
- groupadd -g ${jenkinsGID} jenkins
- useradd -u ${jenkinsUID} -g ${jenkinsGID} -m jenkins
- # Install required packages
- apt-get install -y python3-dev python-tox
- ''')
- },
- '002_run_generate_auto' : {
- print('[Cookiecutter build] Result:\n' +
- sh(returnStdout: true, script: 'cd ' + ccRoot + '; su jenkins -c "tox -ve generate_auto" '))
- }
- ]
- ]
-
- print(saltModelTesting.setupDockerAndTest(configRun))
- }
-
-}
-
def globalVariatorsUpdate() {
def templateContext = readYaml text: env.COOKIECUTTER_TEMPLATE_CONTEXT
@@ -125,7 +83,7 @@
}
common.warningMsg("Fetching:\n" +
"DISTRIB_REVISION from ${distribRevision}")
- common.infoMsg("Using context:\n")
+ common.infoMsg("Using context:\n" + context)
print prettyPrint(toJson(context))
return context
@@ -178,10 +136,11 @@
}
stage('Generate model') {
- def envOpts = ["GNUPGHOME=${env.WORKSPACE}/gpghome"]
- withEnv(envOpts) {
+ // GNUPGHOME environment variable is required for all gpg commands
+ // and for python.generateModel execution
+ withEnv(["GNUPGHOME=${env.WORKSPACE}/gpghome"]) {
if (context['secrets_encryption_enabled'] == 'True') {
- sh 'mkdir gpghome; chmod 700 gpghome'
+ sh "mkdir gpghome; chmod 700 gpghome"
def secretKeyID = RequesterEmail ?: "salt@${context['cluster_domain']}".toString()
if (!context.get('secrets_encryption_private_key')) {
def batchData = """
@@ -217,10 +176,7 @@
// still expect only lower lvl of project, aka model/classes/cluster/XXX/. So,lets dump result into
// temp dir, and then copy it over initial structure.
reclassTempRootDir = sh(script: "mktemp -d -p ${env.WORKSPACE}", returnStdout: true).trim()
- GenerateModelToxDocker(['context': common2.dumpYAML(['default_context': context]),
- 'ccRoot' : templateEnv,
- 'outDir' : reclassTempRootDir,
- 'envOpts': envOpts])
+ python.generateModel(common2.dumpYAML(['default_context': context]), 'default_context', context['salt_master_hostname'], cutterEnv, reclassTempRootDir, templateEnv, false)
dir(modelEnv) {
common.warningMsg('Forming reclass-root structure...')
sh("cp -ra ${reclassTempRootDir}/reclass/* .")
@@ -230,7 +186,7 @@
}
}
- stage('Test') {
+ stage("Test") {
if (runTestModel) {
sh("cp -r ${modelEnv} ${testEnv}")
if (fileExists('gpgkey.asc')) {
@@ -279,8 +235,8 @@
}
sh '[ -f mcp-common-scripts/config-drive/master_config.sh ] && cp mcp-common-scripts/config-drive/master_config.sh user_data || cp mcp-common-scripts/config-drive/master_config.yaml user_data'
- sh "git clone --depth 10 --mirror https://github.com/Mirantis/mk-pipelines.git ${pipelineEnv}/mk-pipelines"
- sh "git clone --depth 10 --mirror https://github.com/Mirantis/pipeline-library.git ${pipelineEnv}/pipeline-library"
+ sh "git clone --mirror https://github.com/Mirantis/mk-pipelines.git ${pipelineEnv}/mk-pipelines"
+ sh "git clone --mirror https://github.com/Mirantis/pipeline-library.git ${pipelineEnv}/pipeline-library"
args = [
"--user-data user_data", "--model ${modelEnv}",
"--mk-pipelines ${pipelineEnv}/mk-pipelines/", "--pipeline-library ${pipelineEnv}/pipeline-library/"