diff --git a/generate-cookiecutter-products.groovy b/generate-cookiecutter-products.groovy
index 8359103..3783331 100644
--- a/generate-cookiecutter-products.groovy
+++ b/generate-cookiecutter-products.groovy
@@ -43,21 +43,21 @@
                      'envOpts'        : envOpts + ["CONFIG_FILE=$tempContextFile",
                                                    "OUTPUT_DIR=${outDir}"
                      ],
-                     'image'          : 'docker-prod-local.artifactory.mirantis.com/mirantis/cicd/jnlp-slave',
+                     'image': 'docker-prod-local.artifactory.mirantis.com/mirantis/cicd/jnlp-slave',
                      'runCommands'    : [
                          '001_prepare_generate_auto_reqs': {
-                             sh('''
+                            sh('''
                                 pip install tox
                                 ''')
                          },
                          // user & group can be different on host and in docker
-                         '002_set_jenkins_id'            : {
-                             sh("""
+                         '002_set_jenkins_id': {
+                            sh("""
                                 usermod -u ${jenkinsUID} jenkins
                                 groupmod -g ${jenkinsUID} jenkins
                                 """)
                          },
-                         '003_run_generate_auto'         : {
+                         '003_run_generate_auto': {
                              print('[Cookiecutter build] Result:\n' +
                                  sh(returnStdout: true, script: 'cd ' + ccRoot + '; su jenkins -c "tox -ve generate_auto" '))
                          }
@@ -130,12 +130,6 @@
         updateSaltFormulasDuringTest = false
     }
 
-    if (gitGuessedVersion == 'release/proposed/2019.2.0') {
-        // CFG node in 2019.2.X update has to be bootstrapped with update/proposed repository for salt formulas
-        context['cloudinit_master_config']['MCP_SALT_REPO_UPDATES'] =
-            'deb [arch=amd64] http://mirror.mirantis.com/update/proposed/salt-formulas/xenial xenial main'
-    }
-
     common.infoMsg("Using context:\n" + context)
     print prettyPrint(toJson(context))
     return context
@@ -322,11 +316,6 @@
                 def smc = [:]
                 smc['SALT_MASTER_MINION_ID'] = "${context['salt_master_hostname']}.${context['cluster_domain']}"
                 smc['SALT_MASTER_DEPLOY_IP'] = context['salt_master_management_address']
-                if (context.get('cloudinit_master_config', false)) {
-                    context['cloudinit_master_config'].each { k, v ->
-                        smc[k] = v
-                    }
-                }
                 if (outdateGeneration) {
                     smc['DEPLOY_NETWORK_GW'] = context['deploy_network_gateway']
                     smc['DEPLOY_NETWORK_NETMASK'] = context['deploy_network_netmask']
