diff --git a/ansible/artifacts-download.yml b/ansible/artifacts-download.yml
index 93c4af4539fd248de6e77fadb075c125c69b731d..a58a6f62de454fbd13a70e61932622cd5944db99 100644
--- a/ansible/artifacts-download.yml
+++ b/ansible/artifacts-download.yml
@@ -4,7 +4,7 @@
   vars_files:
     - "{{inventory_dir}}/secrets.yml"
   environment:
-    AZURE_STORAGE_ACCOUNT: "{{ azure_account_name }}"
-    AZURE_STORAGE_KEY: "{{ azure_account_key }}"
+    AZURE_STORAGE_ACCOUNT: "{{ artifact_azure_account_name }}"
+    AZURE_STORAGE_KEY: "{{ artifact_azure_account_key }}"
   roles:
     - artifacts-download-azure
diff --git a/ansible/artifacts-upload.yml b/ansible/artifacts-upload.yml
index c09e66dd2c3f0b045d29bd4c8ba48dd15a9c54db..4071e51325b6af3d86d6ba695d672c9b6dc62a97 100644
--- a/ansible/artifacts-upload.yml
+++ b/ansible/artifacts-upload.yml
@@ -4,7 +4,7 @@
   vars_files:
     - "{{inventory_dir}}/secrets.yml"
   environment:
-    AZURE_STORAGE_ACCOUNT: "{{ azure_account_name }}"
-    AZURE_STORAGE_KEY: "{{ azure_account_key }}"
+    AZURE_STORAGE_ACCOUNT: "{{ artifact_azure_account_name }}"
+    AZURE_STORAGE_KEY: "{{ artifact_azure_account_key }}"
   roles:
     - artifacts-upload-azure
diff --git a/ansible/inventory/env/group_vars/all.yml b/ansible/inventory/env/group_vars/all.yml
index 0b2e8a1688aad3643ad55c491ee74ced48736faf..f38c51011e5f0d78a23f782af59f1a6ddbbc9a72 100644
--- a/ansible/inventory/env/group_vars/all.yml
+++ b/ansible/inventory/env/group_vars/all.yml
@@ -18,6 +18,10 @@ sunbird_env: "{{env}}"                   #Ekstep environment to connect to. Use
 sunbird_app_name: "{{env}}"
 azure_account_key: "{{core_vault_sunbird_azure_storage_key}}"
 
+#artifact upload
+artifact_azure_account_name: "{{core_vault_sunbird_azure_storage_account}}"
+artifact_azure_account_key: "{{core_vault_sunbird_azure_storage_key}}"
+
 # Keycloak
 keycloak_api_management_user_first_name: "admin"
 keycloak_api_management_user_last_name: "admin"
@@ -72,8 +76,6 @@ kong_postgres_user: "{{core_vault_postgres_username}}"
 kong_postgres_password: "{{core_vault_postgres_password}}"
 enc_postgres_user: "{{core_vault_postgres_username}}"
 badger_postgres_user: "{{core_vault_postgres_username}}"
-backup_storage_account: "{{azure_account_name}}"
-backup_storage_key: "{{core_vault_sunbird_azure_storage_key}}"
 sunbird_account_name: "{{azure_account_name}}"
 sunbird_account_key: "{{core_vault_sunbird_azure_storage_key}}"
 ansible_vault_password: "{{ core_vault_ansible_vault_password }}"
@@ -538,7 +540,8 @@ config_service_enabled: false
 config_cache_ttl: 600
 
 #### backup storage secret
-backup_azure_storage_access_key: "{{core_vault_azure_storage_secret}}"
+backup_azure_storage_access_key: "{{core_vault_sunbird_azure_storage_key}}"
+backup_azure_storage_account_name: "{{azure_account_name}}"
 
 #es-backup
 app_es_snapshot_host: "{{ groups['es'][0] }}"
diff --git a/ansible/roles/artifacts-download-azure/meta/main.yml b/ansible/roles/artifacts-download-azure/meta/main.yml
deleted file mode 100644
index a124d4f7cb413bcabd55a306abac5e18140f0a37..0000000000000000000000000000000000000000
--- a/ansible/roles/artifacts-download-azure/meta/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-dependencies:
-  - azure-cli
diff --git a/ansible/roles/artifacts-upload-azure/meta/main.yml b/ansible/roles/artifacts-upload-azure/meta/main.yml
deleted file mode 100644
index a124d4f7cb413bcabd55a306abac5e18140f0a37..0000000000000000000000000000000000000000
--- a/ansible/roles/artifacts-upload-azure/meta/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-dependencies:
-  - azure-cli
diff --git a/ansible/roles/cassandra/defaults/main.yml b/ansible/roles/cassandra/defaults/main.yml
index a58c0a40b243fa8958f65d2c213b73f326518d60..8a6d1044cd0a7c303746e7140ff51b1d6211268e 100644
--- a/ansible/roles/cassandra/defaults/main.yml
+++ b/ansible/roles/cassandra/defaults/main.yml
@@ -1 +1,3 @@
-user_home: /home/deployer
\ No newline at end of file
+user_home: /home/deployer
+cassandra_repo_key: 'https://www.apache.org/dist/cassandra/KEYS'
+cassandra_repo: 'deb http://www.apache.org/dist/cassandra/debian 39x main'
diff --git a/ansible/roles/keycloak/tasks/provision.yml b/ansible/roles/keycloak/tasks/provision.yml
index ae225608ebb88f2d36c03aac60c0357a66983aaa..6abe43356690fb23428fa2be62dbd2efe4158503 100644
--- a/ansible/roles/keycloak/tasks/provision.yml
+++ b/ansible/roles/keycloak/tasks/provision.yml
@@ -10,6 +10,12 @@
 - name: Copy service file to init.d
   template: src=keycloak-service.j2 dest=/etc/init.d/keycloak mode=0755
 
+- name: Installing unzip
+  become: yes
+  apt:
+    name: unzip
+    state: present
+
 - name: Adding ENV Vars to bashrc
   lineinfile: 
     path: '/etc/environment'
diff --git a/ansible/roles/sunbird-auth-provision/tasks/install-keycloak.yml b/ansible/roles/sunbird-auth-provision/tasks/install-keycloak.yml
index 9dd5e22540816ca41c7a6251fb5f00d6e260d147..4f5ab533e352dffae009e4d43c20bd618c1bc8f9 100644
--- a/ansible/roles/sunbird-auth-provision/tasks/install-keycloak.yml
+++ b/ansible/roles/sunbird-auth-provision/tasks/install-keycloak.yml
@@ -29,7 +29,7 @@
   file: path=/opt owner={{wildfly_user}} group={{wildfly_group}} mode=0755 recurse=yes
 
 - name: Paste sunbird auth package on server
-  copy: src="sunbird_auth_{{sunbird_auth_version}}.zip" dest="/opt/" force=no owner={{wildfly_user}} group={{wildfly_group}}
+  copy: src="../../../sunbird_auth_{{sunbird_auth_version}}.zip" dest="/opt/" force=no owner={{wildfly_user}} group={{wildfly_group}}
 
 - name: extarct the folder
   unarchive: src="/opt/sunbird_auth_{{sunbird_auth_version}}.zip" dest=/opt/ copy=no owner={{wildfly_user}} group={{wildfly_group}}
diff --git a/ansible/roles/sunbird-auth-provision/tasks/prerequisite.yml b/ansible/roles/sunbird-auth-provision/tasks/prerequisite.yml
index 235cd386f124704fb98c5dca0157535db04b7a90..ba94607a5bb27ec3258d8f70487df175be7a39e9 100644
--- a/ansible/roles/sunbird-auth-provision/tasks/prerequisite.yml
+++ b/ansible/roles/sunbird-auth-provision/tasks/prerequisite.yml
@@ -9,3 +9,4 @@
 
 - name: Copy service file to init.d
   template: src=roles/sunbird-auth-provision/templates/keycloak-service.j2 dest=/etc/init.d/keycloak mode=0755
+
diff --git a/ansible/sunbird-auth-deploy.yml b/ansible/sunbird-auth-deploy.yml
index 67f9eff57b886cf827c3b5a0850d19b26788ac80..14f39ce77094ade17d3a37e31c161b4067887ab0 100644
--- a/ansible/sunbird-auth-deploy.yml
+++ b/ansible/sunbird-auth-deploy.yml
@@ -1,5 +1,5 @@
 ---
-- hosts: all
+- hosts: keycloak
   become: true
   vars_files:
     - ['{{inventory_dir}}/secrets.yml', 'secrets/{{env}}.yml']
diff --git a/ansible/sunbird-auth-provision.yml b/ansible/sunbird-auth-provision.yml
index 3142f079d5779c354dd66fbcf0056917b1c7030a..11ca3f4736ea2b0db6dceba3b3f2e94d9874acc5 100644
--- a/ansible/sunbird-auth-provision.yml
+++ b/ansible/sunbird-auth-provision.yml
@@ -1,5 +1,5 @@
 ---
-- hosts: all
+- hosts: keycloak
   become: true
   vars_files:
     - ['{{inventory_dir}}/secrets.yml', 'secrets/{{env}}.yml']
diff --git a/deploy/jenkins/jenkins-jobs-setup.sh b/deploy/jenkins/jenkins-jobs-setup.sh
index 5e71deb9f8ecad26312fb93f227f5b54c6a0fcd2..2466228d6642ae9729598a6d7513a7853eef37e9 100755
--- a/deploy/jenkins/jenkins-jobs-setup.sh
+++ b/deploy/jenkins/jenkins-jobs-setup.sh
@@ -22,6 +22,7 @@ setupJobs(){
       find $JENKINS_TMP/Deploy/jobs/${arr[0]} -type f -name config.xml -exec sed -i "s#ArtifactUpload/dev/#ArtifactUpload/${arr[0]}/#g" {} \;
       find $JENKINS_TMP/Deploy/jobs/${arr[0]} -type f -name config.xml -exec sed -i "s#Deploy/dev/#Deploy/${arr[0]}/#g" {} \;
    fi
+   find $JENKINS_TMP/Deploy/jobs/${arr[0]} -type d -path "*Summary*" -prune -o -name config.xml -exec sed -i 's/<upstreamProjects>.*//g' {} \;
    echo -e "\e[0;33m${bold}Jobs created for ${arr[0]}${normal}"
 
    for key in "${!arr[@]}"; do
@@ -31,8 +32,8 @@ setupJobs(){
       cp -r $JENKINS_TMP/Provision/jobs/${arr[0]} $JENKINS_TMP/Provision/jobs/${arr[$key]}
       cp -r $JENKINS_TMP/OpsAdministration/jobs/${arr[0]} $JENKINS_TMP/OpsAdministration/jobs/${arr[$key]}
       cp -r $JENKINS_TMP/Deploy/jobs/${arr[0]} $JENKINS_TMP/Deploy/jobs/${arr[$key]}
-      find $JENKINS_TMP/Deploy/jobs/${arr[$key]} -type f -name config.xml -exec sed -i "s#ArtifactUpload/${arr[0]}/#Deploy/${arr[$(($key - 1))]}/#g" {} \;
-      find $JENKINS_TMP/Deploy/jobs/${arr[$key]} -type d -path "*Summary*" -prune -o -type f -name config.xml -exec sed -i "/<triggers>/,/<\/triggers>/d" {} \;
+      find $JENKINS_TMP/Deploy/jobs/${arr[$key]} -type f -name config.xml -exec bash -c 'configPath=$0; jobPath=$(dirname $configPath); jobName=$(basename $jobPath); modulePath=${jobPath%/*/*}; moduleName=$(basename $modulePath); sed -i "s#ArtifactUpload/$1/$moduleName/.*<#Deploy/$2/$moduleName/$jobName<#g" $0' {} ${arr[0]} ${arr[$(($key - 1))]} \;
+      find $JENKINS_TMP/Deploy/jobs/${arr[$key]} -type d -path "*Summary*" -prune -o -name config.xml -exec sed -i 's/<upstreamProjects>.*//g' {} \;
       find $JENKINS_TMP/Deploy/jobs/${arr[$key]}/jobs/Summary/jobs/DeployedVersions -type f -name config.xml -exec sed -i "s#Deploy/${arr[0]}/#Deploy/${arr[$key]}/#g" {} \;
       echo -e "\e[0;33m${bold}Jobs created for ${arr[$key]}${normal}"
    done
diff --git a/deploy/jenkins/jenkins-server-setup.sh b/deploy/jenkins/jenkins-server-setup.sh
index cea6ddf0394383f7590e0a10bdfb44b5e039f421..1552936d9489fe9b251e05392ecf1d9ed0d1a2b3 100755
--- a/deploy/jenkins/jenkins-server-setup.sh
+++ b/deploy/jenkins/jenkins-server-setup.sh
@@ -55,6 +55,17 @@ ln -s /usr/local/lib/node-v6.1.0-linux-x64/bin/gulp /usr/bin/gulp
 echo -e "\n\e[0;32m${bold}Installating Ansible${normal}"
 pip install ansible==2.5.0
 
+echo -e "\n\e[0;32m${bold}Installating azure cli${normal}"
+apt-get install curl apt-transport-https lsb-release gpg
+curl -sL https://packages.microsoft.com/keys/microsoft.asc | \
+    gpg --dearmor | \
+    sudo tee /etc/apt/trusted.gpg.d/microsoft.asc.gpg > /dev/null
+AZ_REPO=$(lsb_release -cs)
+echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | \
+    sudo tee /etc/apt/sources.list.d/azure-cli.list
+sudo apt-get update
+sudo apt-get install azure-cli
+
 echo -e "\n\e[0;32m${bold}Installating Docker-py${normal}"
 pip install docker-py
 
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/AdminUtils/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/AdminUtils/config.xml
index b49d708c4224ce52ae45b6e127e2985056ae69b9..ed1445b9ed18bdda676ff19ea927953fc7e2c5b7 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/AdminUtils/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/AdminUtils/config.xml
@@ -7,23 +7,31 @@
         <string>com.sonyericsson.rebuild.RebuildSettings</string>
       </jobPropertyDescriptors>
     </org.jenkinsci.plugins.workflow.multibranch.JobPropertyTrackerAction>
+    <org.jenkinsci.plugins.pipeline.modeldefinition.actions.DeclarativeJobAction plugin="pipeline-model-definition@1.3.4.1"/>
+    <org.jenkinsci.plugins.pipeline.modeldefinition.actions.DeclarativeJobPropertyTrackerAction plugin="pipeline-model-definition@1.3.4.1">
+      <jobProperties/>
+      <triggers/>
+      <parameters/>
+      <options/>
+    </org.jenkinsci.plugins.pipeline.modeldefinition.actions.DeclarativeJobPropertyTrackerAction>
   </actions>
   <description></description>
   <keepDependencies>false</keepDependencies>
   <properties>
-    <jenkins.model.BuildDiscarderProperty>
-      <strategy class="hudson.tasks.LogRotator">
-        <daysToKeep>-1</daysToKeep>
-        <numToKeep>-1</numToKeep>
-        <artifactDaysToKeep>-1</artifactDaysToKeep>
-        <artifactNumToKeep>5</artifactNumToKeep>
-      </strategy>
-    </jenkins.model.BuildDiscarderProperty>
-    <org.jenkinsci.plugins.workflow.job.properties.DisableConcurrentBuildsJobProperty/>
-    <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.29">
-      <autoRebuild>false</autoRebuild>
-      <rebuildDisabled>false</rebuildDisabled>
-    </com.sonyericsson.rebuild.RebuildSettings>
+    <org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
+      <triggers>
+        <jenkins.triggers.ReverseBuildTrigger>
+          <spec></spec>
+          <upstreamProjects>/Build/Core/AdminUtils</upstreamProjects>
+          <threshold>
+            <name>SUCCESS</name>
+            <ordinal>0</ordinal>
+            <color>BLUE</color>
+            <completeBuild>true</completeBuild>
+          </threshold>
+        </jenkins.triggers.ReverseBuildTrigger>
+      </triggers>
+    </org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
@@ -51,6 +59,19 @@ ArtifactRepo - Push the docker image to container registry.
         </hudson.model.ChoiceParameterDefinition>
       </parameterDefinitions>
     </hudson.model.ParametersDefinitionProperty>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>-1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>5</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
+    <org.jenkinsci.plugins.workflow.job.properties.DisableConcurrentBuildsJobProperty/>
+    <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.29">
+      <autoRebuild>false</autoRebuild>
+      <rebuildDisabled>false</rebuildDisabled>
+    </com.sonyericsson.rebuild.RebuildSettings>
     <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1">
       <maxConcurrentPerNode>0</maxConcurrentPerNode>
       <maxConcurrentTotal>0</maxConcurrentTotal>
@@ -59,21 +80,8 @@ ArtifactRepo - Push the docker image to container registry.
       <throttleOption>project</throttleOption>
       <limitOneJobWithMatchingParams>false</limitOneJobWithMatchingParams>
       <paramsToUseForLimit></paramsToUseForLimit>
+      <configVersion>1</configVersion>
     </hudson.plugins.throttleconcurrents.ThrottleJobProperty>
-    <org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
-      <triggers>
-        <jenkins.triggers.ReverseBuildTrigger>
-          <spec></spec>
-          <upstreamProjects>/Build/Core/AdminUtils</upstreamProjects>
-          <threshold>
-            <name>SUCCESS</name>
-            <ordinal>0</ordinal>
-            <color>BLUE</color>
-            <completeBuild>true</completeBuild>
-          </threshold>
-        </jenkins.triggers.ReverseBuildTrigger>
-      </triggers>
-    </org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
   </properties>
   <definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="workflow-cps@2.63">
     <scm class="hudson.plugins.git.GitSCM" plugin="git@3.9.3">
diff --git a/deploy/jenkins/jobs/Build/jobs/Core/jobs/Config/config.xml b/deploy/jenkins/jobs/Build/jobs/Core/jobs/Config/config.xml
index 24de44f2a1a4613e015bf92a252eea0e46220a11..587f683df5bcf77b9cddb1ade75b077bf8aad1b1 100644
--- a/deploy/jenkins/jobs/Build/jobs/Core/jobs/Config/config.xml
+++ b/deploy/jenkins/jobs/Build/jobs/Core/jobs/Config/config.xml
@@ -42,6 +42,7 @@
       <throttleOption>project</throttleOption>
       <limitOneJobWithMatchingParams>false</limitOneJobWithMatchingParams>
       <paramsToUseForLimit></paramsToUseForLimit>
+      <configVersion>1</configVersion>
     </hudson.plugins.throttleconcurrents.ThrottleJobProperty>
     <org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
       <triggers>
@@ -80,5 +81,5 @@
     <lightweight>false</lightweight>
   </definition>
   <triggers/>
-  <disabled>false</disabled>
+  <disabled>true</disabled>
 </flow-definition>
\ No newline at end of file
diff --git a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Core/jobs/FuntionalTestCases/config.xml b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Core/jobs/FuntionalTestCases/config.xml
index 1e97feaa5a5ec11793cfe40db75091d4feaeb72d..6c8cf34d724fe423ca5c5a3f000c9c848dd9c5f6 100644
--- a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Core/jobs/FuntionalTestCases/config.xml
+++ b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Core/jobs/FuntionalTestCases/config.xml
@@ -32,6 +32,8 @@
       <rebuildDisabled>false</rebuildDisabled>
     </com.sonyericsson.rebuild.RebuildSettings>
     <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1">
+      <maxConcurrentPerNode>0</maxConcurrentPerNode>
+      <maxConcurrentTotal>0</maxConcurrentTotal>
       <categories class="java.util.concurrent.CopyOnWriteArrayList"/>
       <throttleEnabled>false</throttleEnabled>
       <throttleOption>project</throttleOption>
diff --git a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Core/jobs/KeycloakRealm/config.xml b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Core/jobs/KeycloakRealm/config.xml
index 6a9232507a2301403593e43d861b6d648e2542f5..e0b05cc443d2eaf6f9b86ee49bdc7064ee9c262b 100644
--- a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Core/jobs/KeycloakRealm/config.xml
+++ b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Core/jobs/KeycloakRealm/config.xml
@@ -25,6 +25,8 @@
       <rebuildDisabled>false</rebuildDisabled>
     </com.sonyericsson.rebuild.RebuildSettings>
     <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1">
+      <maxConcurrentPerNode>0</maxConcurrentPerNode>
+      <maxConcurrentTotal>0</maxConcurrentTotal>
       <categories class="java.util.concurrent.CopyOnWriteArrayList"/>
       <throttleEnabled>false</throttleEnabled>
       <throttleOption>project</throttleOption>
@@ -45,7 +47,7 @@
       </userRemoteConfigs>
       <branches>
         <hudson.plugins.git.BranchSpec>
-          <name>keycloak-deployment</name>
+          <name>${public_repo_branch}</name>
         </hudson.plugins.git.BranchSpec>
       </branches>
       <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
diff --git a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Core/jobs/OnboardConsumers/config.xml b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Core/jobs/OnboardConsumers/config.xml
index 13772a78b5175ed8c0eed47527b1857855178e2b..1cad2ec348fb74a31f3acb1b93481057ace13559 100644
--- a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Core/jobs/OnboardConsumers/config.xml
+++ b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Core/jobs/OnboardConsumers/config.xml
@@ -18,6 +18,8 @@
       <rebuildDisabled>false</rebuildDisabled>
     </com.sonyericsson.rebuild.RebuildSettings>
     <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1">
+      <maxConcurrentPerNode>0</maxConcurrentPerNode>
+      <maxConcurrentTotal>0</maxConcurrentTotal>
       <categories class="java.util.concurrent.CopyOnWriteArrayList"/>
       <throttleEnabled>false</throttleEnabled>
       <throttleOption>project</throttleOption>
diff --git a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/DataPipeline/jobs/AnalyticsFetchLogs/config.xml b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/DataPipeline/jobs/AnalyticsFetchLogs/config.xml
index bdb453294974787b49d85af76c597962a0364058..9fc0e3c5cf85311634a8c3a046e6953d59384744 100644
--- a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/DataPipeline/jobs/AnalyticsFetchLogs/config.xml
+++ b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/DataPipeline/jobs/AnalyticsFetchLogs/config.xml
@@ -89,5 +89,5 @@
     <lightweight>false</lightweight>
   </definition>
   <triggers/>
-  <disabled>true</disabled>
+  <disabled>false</disabled>
 </flow-definition>
\ No newline at end of file
diff --git a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/DataPipeline/jobs/AnalyticsReplayJobs/config.xml b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/DataPipeline/jobs/AnalyticsReplayJobs/config.xml
index 5118f01003c3687c8233192db86996d639f8aa34..09b18a22360694b41d521a77da7cfd3f2e45ba7b 100644
--- a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/DataPipeline/jobs/AnalyticsReplayJobs/config.xml
+++ b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/DataPipeline/jobs/AnalyticsReplayJobs/config.xml
@@ -109,5 +109,5 @@
     <lightweight>false</lightweight>
   </definition>
   <triggers/>
-  <disabled>true</disabled>
+  <disabled>false</disabled>
 </flow-definition>
\ No newline at end of file
diff --git a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/KnowledgePlatform/jobs/Monitoring/config.xml b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/KnowledgePlatform/jobs/Monitoring/config.xml
index 7ddf1d3e35544d8338ed72f2bbbe3ec17745bcf7..4477a1f3ac850d089fa58fab8ad0a05ec500638b 100644
--- a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/KnowledgePlatform/jobs/Monitoring/config.xml
+++ b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/KnowledgePlatform/jobs/Monitoring/config.xml
@@ -18,6 +18,8 @@
       <rebuildDisabled>false</rebuildDisabled>
     </com.sonyericsson.rebuild.RebuildSettings>
     <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1">
+      <maxConcurrentPerNode>0</maxConcurrentPerNode>
+      <maxConcurrentTotal>0</maxConcurrentTotal>
       <categories class="java.util.concurrent.CopyOnWriteArrayList"/>
       <throttleEnabled>false</throttleEnabled>
       <throttleOption>project</throttleOption>
diff --git a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/KnowledgePlatform/jobs/Neo4jDefinitionUpdate/config.xml b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/KnowledgePlatform/jobs/Neo4jDefinitionUpdate/config.xml
index 8eaf214ccc861deb093caa8cb6e6720ca678889a..5e54bd7489ac2b7e55c3a59a00578b18aec29fa3 100644
--- a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/KnowledgePlatform/jobs/Neo4jDefinitionUpdate/config.xml
+++ b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/KnowledgePlatform/jobs/Neo4jDefinitionUpdate/config.xml
@@ -25,6 +25,8 @@
       <rebuildDisabled>false</rebuildDisabled>
     </com.sonyericsson.rebuild.RebuildSettings>
     <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1">
+      <maxConcurrentPerNode>0</maxConcurrentPerNode>
+      <maxConcurrentTotal>0</maxConcurrentTotal>
       <categories class="java.util.concurrent.CopyOnWriteArrayList"/>
       <throttleEnabled>false</throttleEnabled>
       <throttleOption>project</throttleOption>
diff --git a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/KnowledgePlatform/jobs/ValidateLearning/config.xml b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/KnowledgePlatform/jobs/ValidateLearning/config.xml
index 599982859e9fce9292818931939541ddaf958d0f..51357dbc05e0df943ce8b52d9c1fe035776a6c3b 100644
--- a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/KnowledgePlatform/jobs/ValidateLearning/config.xml
+++ b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/KnowledgePlatform/jobs/ValidateLearning/config.xml
@@ -25,6 +25,8 @@
       <rebuildDisabled>false</rebuildDisabled>
     </com.sonyericsson.rebuild.RebuildSettings>
     <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1">
+      <maxConcurrentPerNode>0</maxConcurrentPerNode>
+      <maxConcurrentTotal>0</maxConcurrentTotal>
       <categories class="java.util.concurrent.CopyOnWriteArrayList"/>
       <throttleEnabled>false</throttleEnabled>
       <throttleOption>project</throttleOption>
diff --git a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/CEPlugins/config.xml b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/CEPlugins/config.xml
index 53ae131d1d98739adc360c7e3685a8fc14fdc65b..0358cb466014fafac27eb0bddec49ee7facab70e 100644
--- a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/CEPlugins/config.xml
+++ b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/CEPlugins/config.xml
@@ -20,7 +20,7 @@
         <hudson.model.StringParameterDefinition>
           <name>container_name</name>
           <description>&lt;font color=black size=2&gt;&lt;b&gt;Please specify azure container name.&lt;/b&gt;&lt;/font&gt;</description>
-          <defaultValue>plugins</defaultValue>
+          <defaultValue>sunbird-public-dev</defaultValue>
           <trim>false</trim>
         </hudson.model.StringParameterDefinition>
         <org.biouno.unochoice.CascadeChoiceParameter plugin="uno-choice@2.1">
diff --git a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/CollectionEditor/config.xml b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/CollectionEditor/config.xml
index e097c5284ab10d55d995795104dd589a5851497b..82e9c954c1f19cd2a0e34b2c126b88527b2ce840 100644
--- a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/CollectionEditor/config.xml
+++ b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/CollectionEditor/config.xml
@@ -20,7 +20,7 @@
         <hudson.model.StringParameterDefinition>
           <name>container_name</name>
           <description>&lt;font color=black size=2&gt;&lt;b&gt;Please specify azure container name.&lt;/b&gt;&lt;/font&gt;</description>
-          <defaultValue>plugins</defaultValue>
+          <defaultValue>sunbird-public-dev</defaultValue>
           <trim>false</trim>
         </hudson.model.StringParameterDefinition>
         <org.biouno.unochoice.CascadeChoiceParameter plugin="uno-choice@2.1">
diff --git a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/ContentFramework/config.xml b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/ContentFramework/config.xml
index 6103ba6445b6e956178aaa5272f0b2b392d5b4af..cbc5c95bff9d245e561dad02c32a751a7a9ceb28 100644
--- a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/ContentFramework/config.xml
+++ b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/ContentFramework/config.xml
@@ -20,7 +20,7 @@
         <hudson.model.StringParameterDefinition>
           <name>container_name</name>
           <description>&lt;font color=black size=2&gt;&lt;b&gt;Please specify azure container name.&lt;/b&gt;&lt;/font&gt;</description>
-          <defaultValue>plugins</defaultValue>
+          <defaultValue>sunbird-public-dev</defaultValue>
           <trim>false</trim>
         </hudson.model.StringParameterDefinition>
         <org.biouno.unochoice.CascadeChoiceParameter plugin="uno-choice@2.1">
diff --git a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/ContentRendererPreview/config.xml b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/ContentRendererPreview/config.xml
index d25ae645866f68f619f58a6f8c5442783417c173..8fb29bc1a9b233557f964083c392aa7cc5686b66 100644
--- a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/ContentRendererPreview/config.xml
+++ b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/ContentRendererPreview/config.xml
@@ -20,7 +20,7 @@
         <hudson.model.StringParameterDefinition>
           <name>container_name</name>
           <description>&lt;font color=black size=2&gt;&lt;b&gt;Please specify azure container name.&lt;/b&gt;&lt;/font&gt;</description>
-          <defaultValue>plugins</defaultValue>
+          <defaultValue>sunbird-public-dev</defaultValue>
           <trim>false</trim>
         </hudson.model.StringParameterDefinition>
         <org.biouno.unochoice.CascadeChoiceParameter plugin="uno-choice@2.1">
diff --git a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/GenericEditor/config.xml b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/GenericEditor/config.xml
index 2fc9a8360b158b1b30787d46c41dcf2c0a749433..c510bb9cb1f9b5ee843164f85c75e66b02e71944 100644
--- a/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/GenericEditor/config.xml
+++ b/deploy/jenkins/jobs/Deploy/jobs/dev/jobs/Plugins/jobs/GenericEditor/config.xml
@@ -20,7 +20,7 @@
         <hudson.model.StringParameterDefinition>
           <name>container_name</name>
           <description>&lt;font color=black size=2&gt;&lt;b&gt;Please specify azure container name.&lt;/b&gt;&lt;/font&gt;</description>
-          <defaultValue>plugins</defaultValue>
+          <defaultValue>sunbird-public-dev</defaultValue>
           <trim>false</trim>
         </hudson.model.StringParameterDefinition>
         <org.biouno.unochoice.CascadeChoiceParameter plugin="uno-choice@2.1">
diff --git a/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/Core/jobs/CassandraBackup/config.xml b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/Core/jobs/CassandraBackup/config.xml
index 7bbf214a5a7faf435599b358299243025846976e..886ac1ea37dbeb43982d5050e2d0cfdaf6537e71 100644
--- a/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/Core/jobs/CassandraBackup/config.xml
+++ b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/Core/jobs/CassandraBackup/config.xml
@@ -17,9 +17,16 @@
       <autoRebuild>false</autoRebuild>
       <rebuildDisabled>false</rebuildDisabled>
     </com.sonyericsson.rebuild.RebuildSettings>
+    <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1">
+      <categories class="java.util.concurrent.CopyOnWriteArrayList"/>
+      <throttleEnabled>false</throttleEnabled>
+      <throttleOption>project</throttleOption>
+      <limitOneJobWithMatchingParams>false</limitOneJobWithMatchingParams>
+      <paramsToUseForLimit></paramsToUseForLimit>
+    </hudson.plugins.throttleconcurrents.ThrottleJobProperty>
   </properties>
   <definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="workflow-cps@2.63">
-    <scm class="hudson.plugins.git.GitSCM" plugin="git@4.0.0-rc">
+    <scm class="hudson.plugins.git.GitSCM" plugin="git@3.9.3">
       <configVersion>2</configVersion>
       <userRemoteConfigs>
         <hudson.plugins.git.UserRemoteConfig>
@@ -38,6 +45,7 @@
           <shallow>true</shallow>
           <noTags>false</noTags>
           <reference></reference>
+          <depth>0</depth>
           <honorRefspec>false</honorRefspec>
         </hudson.plugins.git.extensions.impl.CloneOption>
       </extensions>
diff --git a/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/Core/jobs/CreateUser/config.xml b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/Core/jobs/CreateUser/config.xml
new file mode 100644
index 0000000000000000000000000000000000000000..79712e5ba54cd2bc787953be9f8b347b6ec6370f
--- /dev/null
+++ b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/Core/jobs/CreateUser/config.xml
@@ -0,0 +1,81 @@
+<?xml version='1.1' encoding='UTF-8'?>
+<flow-definition plugin="workflow-job@2.31">
+  <actions/>
+  <description></description>
+  <keepDependencies>false</keepDependencies>
+  <properties>
+    <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.29">
+      <autoRebuild>false</autoRebuild>
+      <rebuildDisabled>false</rebuildDisabled>
+    </com.sonyericsson.rebuild.RebuildSettings>
+    <hudson.model.ParametersDefinitionProperty>
+      <parameterDefinitions>
+        <hudson.model.StringParameterDefinition>
+          <name>instance_name</name>
+          <description>&lt;font color=black size=2&gt;&lt;b&gt;Enter ansible group name&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue></defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>username</name>
+          <description>&lt;font color=black size=2&gt;&lt;b&gt;Enter user name&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue></defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>password</name>
+          <description>&lt;font color=black size=2&gt;&lt;b&gt;Enter encrypted password&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue></defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>public_key</name>
+          <description>&lt;font color=black size=2&gt;&lt;b&gt;Enter public key in single quotes&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue></defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.ChoiceParameterDefinition>
+          <name>tag</name>
+          <description></description>
+          <choices class="java.util.Arrays$ArrayList">
+            <a class="string-array">
+              <string>add-user</string>
+              <string>delete-user</string>
+            </a>
+          </choices>
+        </hudson.model.ChoiceParameterDefinition>
+      </parameterDefinitions>
+    </hudson.model.ParametersDefinitionProperty>
+    <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1">
+      <maxConcurrentPerNode>0</maxConcurrentPerNode>
+      <maxConcurrentTotal>0</maxConcurrentTotal>
+      <categories class="java.util.concurrent.CopyOnWriteArrayList"/>
+      <throttleEnabled>false</throttleEnabled>
+      <throttleOption>project</throttleOption>
+      <limitOneJobWithMatchingParams>false</limitOneJobWithMatchingParams>
+      <paramsToUseForLimit></paramsToUseForLimit>
+    </hudson.plugins.throttleconcurrents.ThrottleJobProperty>
+  </properties>
+  <definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="workflow-cps@2.63">
+    <scm class="hudson.plugins.git.GitSCM" plugin="git@3.9.3">
+      <configVersion>2</configVersion>
+      <userRemoteConfigs>
+        <hudson.plugins.git.UserRemoteConfig>
+          <url>https://github.com/project-sunbird/sunbird-devops.git</url>
+        </hudson.plugins.git.UserRemoteConfig>
+      </userRemoteConfigs>
+      <branches>
+        <hudson.plugins.git.BranchSpec>
+          <name>${public_repo_branch}</name>
+        </hudson.plugins.git.BranchSpec>
+      </branches>
+      <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
+      <submoduleCfg class="list"/>
+      <extensions/>
+    </scm>
+    <scriptPath>pipelines/ops/createuser/Jenkinsfile</scriptPath>
+    <lightweight>false</lightweight>
+  </definition>
+  <triggers/>
+  <disabled>false</disabled>
+</flow-definition>
\ No newline at end of file
diff --git a/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/Core/jobs/KeyRotation/config.xml b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/Core/jobs/KeyRotation/config.xml
index b42a47c733bb774cbbca6a21544e30595770dc0c..280a9610e53839c803aaaa8b393e405d8ca78cb4 100644
--- a/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/Core/jobs/KeyRotation/config.xml
+++ b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/Core/jobs/KeyRotation/config.xml
@@ -21,31 +21,31 @@
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
           <name>bootstrap_user</name>
-          <description>deployer user</description>
+          <description>&lt;font color=&quot;black&quot; size=2&gt;&lt;b&gt;Deployer user&lt;/b&gt;&lt;/font&gt;</description>
           <defaultValue>deployer</defaultValue>
           <trim>false</trim>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>bootstrap_user_public_key</name>
-          <description>Deployer user public key keep in single quotes</description>
+          <description>&lt;font color=&quot;black&quot; size=2&gt;&lt;b&gt;Deployer user public key keep in single quotes&lt;/b&gt;&lt;/font&gt;</description>
           <defaultValue></defaultValue>
           <trim>false</trim>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>ssh_user</name>
-          <description>ops user</description>
+          <description>&lt;font color=&quot;black&quot; size=2&gt;&lt;b&gt;ops user&lt;/b&gt;&lt;/font&gt;</description>
           <defaultValue>ops</defaultValue>
           <trim>false</trim>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>ssh_private_file</name>
-          <description>location of ssh key for ops user from &apos;/&apos;</description>
+          <description>&lt;font color=&quot;black&quot; size=2&gt;&lt;b&gt;location of ssh key for ops user from &apos;/&apos;&lt;/b&gt;&lt;/font&gt;</description>
           <defaultValue></defaultValue>
           <trim>false</trim>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>ssh_public_key</name>
-          <description>ops public key</description>
+          <description>&lt;font color=&quot;black&quot; size=2&gt;&lt;b&gt;ops public key&lt;/b&gt;&lt;/font&gt;</description>
           <defaultValue></defaultValue>
           <trim>false</trim>
         </hudson.model.StringParameterDefinition>
diff --git a/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/DataPipeline/jobs/CreateUser/config.xml b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/DataPipeline/jobs/CreateUser/config.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a8dc3b8c218f7892e488187d5ba2320a552e2a01
--- /dev/null
+++ b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/DataPipeline/jobs/CreateUser/config.xml
@@ -0,0 +1,78 @@
+<?xml version='1.1' encoding='UTF-8'?>
+<flow-definition plugin="workflow-job@2.31">
+  <description></description>
+  <keepDependencies>false</keepDependencies>
+  <properties>
+    <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.29">
+      <autoRebuild>false</autoRebuild>
+      <rebuildDisabled>false</rebuildDisabled>
+    </com.sonyericsson.rebuild.RebuildSettings>
+    <hudson.model.ParametersDefinitionProperty>
+      <parameterDefinitions>
+        <hudson.model.StringParameterDefinition>
+          <name>instance_name</name>
+          <description>&lt;font color=black size=2&gt;&lt;b&gt;Enter ansible group name&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue></defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>username</name>
+          <description>&lt;font color=black size=2&gt;&lt;b&gt;Enter user name&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue></defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>password</name>
+          <description>&lt;font color=black size=2&gt;&lt;b&gt;Enter encrypted password&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue></defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>public_key</name>
+          <description>&lt;font color=black size=2&gt;&lt;b&gt;Enter public key in single quotes&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue></defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.ChoiceParameterDefinition>
+          <name>tag</name>
+          <description></description>
+          <choices class="java.util.Arrays$ArrayList">
+            <a class="string-array">
+              <string>add-user</string>
+              <string>delete-user</string>
+            </a>
+          </choices>
+        </hudson.model.ChoiceParameterDefinition>
+      </parameterDefinitions>
+    </hudson.model.ParametersDefinitionProperty>
+    <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1">
+      <categories class="java.util.concurrent.CopyOnWriteArrayList"/>
+      <throttleEnabled>false</throttleEnabled>
+      <throttleOption>project</throttleOption>
+      <limitOneJobWithMatchingParams>false</limitOneJobWithMatchingParams>
+      <paramsToUseForLimit></paramsToUseForLimit>
+    </hudson.plugins.throttleconcurrents.ThrottleJobProperty>
+  </properties>
+  <definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="workflow-cps@2.63">
+    <scm class="hudson.plugins.git.GitSCM" plugin="git@3.9.3">
+      <configVersion>2</configVersion>
+      <userRemoteConfigs>
+        <hudson.plugins.git.UserRemoteConfig>
+          <url>https://github.com/project-sunbird/sunbird-devops.git</url>
+        </hudson.plugins.git.UserRemoteConfig>
+      </userRemoteConfigs>
+      <branches>
+        <hudson.plugins.git.BranchSpec>
+          <name>${public_repo_branch}</name>
+        </hudson.plugins.git.BranchSpec>
+      </branches>
+      <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
+      <submoduleCfg class="list"/>
+      <extensions/>
+    </scm>
+    <scriptPath>pipelines/ops/createuser/Jenkinsfile</scriptPath>
+    <lightweight>false</lightweight>
+  </definition>
+  <triggers/>
+  <disabled>false</disabled>
+</flow-definition>
\ No newline at end of file
diff --git a/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/DataPipeline/jobs/InfluxDBBackup/config.xml b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/DataPipeline/jobs/InfluxDBBackup/config.xml
index 7723d1b63d3d3262b11768f973b6e4d86b1cba9d..effb75accb3c1312dd17a0a69fe49e64a9901690 100644
--- a/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/DataPipeline/jobs/InfluxDBBackup/config.xml
+++ b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/DataPipeline/jobs/InfluxDBBackup/config.xml
@@ -25,12 +25,21 @@
       <rebuildDisabled>false</rebuildDisabled>
     </com.sonyericsson.rebuild.RebuildSettings>
     <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1">
+      <maxConcurrentPerNode>0</maxConcurrentPerNode>
+      <maxConcurrentTotal>0</maxConcurrentTotal>
       <categories class="java.util.concurrent.CopyOnWriteArrayList"/>
       <throttleEnabled>false</throttleEnabled>
       <throttleOption>project</throttleOption>
       <limitOneJobWithMatchingParams>false</limitOneJobWithMatchingParams>
       <paramsToUseForLimit></paramsToUseForLimit>
     </hudson.plugins.throttleconcurrents.ThrottleJobProperty>
+    <org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
+      <triggers>
+        <hudson.triggers.TimerTrigger>
+          <spec>0 0 * * *</spec>
+        </hudson.triggers.TimerTrigger>
+      </triggers>
+    </org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
   </properties>
   <definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="workflow-cps@2.63">
     <scm class="hudson.plugins.git.GitSCM" plugin="git@3.9.3">
diff --git a/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/DataPipeline/jobs/KeyRotation/config.xml b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/DataPipeline/jobs/KeyRotation/config.xml
new file mode 100644
index 0000000000000000000000000000000000000000..280a9610e53839c803aaaa8b393e405d8ca78cb4
--- /dev/null
+++ b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/DataPipeline/jobs/KeyRotation/config.xml
@@ -0,0 +1,94 @@
+<?xml version='1.1' encoding='UTF-8'?>
+<flow-definition plugin="workflow-job@2.31">
+  <actions/>
+  <description></description>
+  <keepDependencies>false</keepDependencies>
+  <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>-1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>5</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
+    <org.jenkinsci.plugins.workflow.job.properties.DisableConcurrentBuildsJobProperty/>
+    <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.29">
+      <autoRebuild>false</autoRebuild>
+      <rebuildDisabled>false</rebuildDisabled>
+    </com.sonyericsson.rebuild.RebuildSettings>
+    <hudson.model.ParametersDefinitionProperty>
+      <parameterDefinitions>
+        <hudson.model.StringParameterDefinition>
+          <name>bootstrap_user</name>
+          <description>&lt;font color=&quot;black&quot; size=2&gt;&lt;b&gt;Deployer user&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue>deployer</defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>bootstrap_user_public_key</name>
+          <description>&lt;font color=&quot;black&quot; size=2&gt;&lt;b&gt;Deployer user public key keep in single quotes&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue></defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>ssh_user</name>
+          <description>&lt;font color=&quot;black&quot; size=2&gt;&lt;b&gt;ops user&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue>ops</defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>ssh_private_file</name>
+          <description>&lt;font color=&quot;black&quot; size=2&gt;&lt;b&gt;location of ssh key for ops user from &apos;/&apos;&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue></defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>ssh_public_key</name>
+          <description>&lt;font color=&quot;black&quot; size=2&gt;&lt;b&gt;ops public key&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue></defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+      </parameterDefinitions>
+    </hudson.model.ParametersDefinitionProperty>
+    <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1">
+      <maxConcurrentPerNode>0</maxConcurrentPerNode>
+      <maxConcurrentTotal>0</maxConcurrentTotal>
+      <categories class="java.util.concurrent.CopyOnWriteArrayList"/>
+      <throttleEnabled>false</throttleEnabled>
+      <throttleOption>project</throttleOption>
+      <limitOneJobWithMatchingParams>false</limitOneJobWithMatchingParams>
+      <paramsToUseForLimit></paramsToUseForLimit>
+    </hudson.plugins.throttleconcurrents.ThrottleJobProperty>
+  </properties>
+  <definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="workflow-cps@2.63">
+    <scm class="hudson.plugins.git.GitSCM" plugin="git@3.9.3">
+      <configVersion>2</configVersion>
+      <userRemoteConfigs>
+        <hudson.plugins.git.UserRemoteConfig>
+          <url>https://github.com/project-sunbird/sunbird-devops.git</url>
+        </hudson.plugins.git.UserRemoteConfig>
+      </userRemoteConfigs>
+      <branches>
+        <hudson.plugins.git.BranchSpec>
+          <name>${public_repo_branch}</name>
+        </hudson.plugins.git.BranchSpec>
+      </branches>
+      <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
+      <submoduleCfg class="list"/>
+      <extensions>
+        <hudson.plugins.git.extensions.impl.CloneOption>
+          <shallow>true</shallow>
+          <noTags>false</noTags>
+          <reference></reference>
+          <depth>0</depth>
+          <honorRefspec>false</honorRefspec>
+        </hudson.plugins.git.extensions.impl.CloneOption>
+      </extensions>
+    </scm>
+    <scriptPath>pipelines/bootstrap/Jenkinsfile.rotatekey</scriptPath>
+    <lightweight>false</lightweight>
+  </definition>
+  <triggers/>
+  <disabled>false</disabled>
+</flow-definition>
\ No newline at end of file
diff --git a/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/CassandraBackup/config.xml b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/CassandraBackup/config.xml
index 37d9df3199e385469c5ae295976a34f20ed7df9d..b52ea2a9fae25ede9931952b558041ad9a315525 100644
--- a/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/CassandraBackup/config.xml
+++ b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/CassandraBackup/config.xml
@@ -42,6 +42,13 @@
       <limitOneJobWithMatchingParams>false</limitOneJobWithMatchingParams>
       <paramsToUseForLimit></paramsToUseForLimit>
     </hudson.plugins.throttleconcurrents.ThrottleJobProperty>
+    <org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
+      <triggers>
+        <hudson.triggers.TimerTrigger>
+          <spec>30 5,12 * * *</spec>
+        </hudson.triggers.TimerTrigger>
+      </triggers>
+    </org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
   </properties>
   <definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="workflow-cps@2.63">
     <scm class="hudson.plugins.git.GitSCM" plugin="git@3.9.3">
diff --git a/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/CreateUser/config.xml b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/CreateUser/config.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1ab58cb9eb69ac72164794aef8dbfb51b223e03b
--- /dev/null
+++ b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/CreateUser/config.xml
@@ -0,0 +1,81 @@
+<?xml version='1.1' encoding='UTF-8'?>
+<flow-definition plugin="workflow-job@2.31">
+  <actions/>
+  <description></description>
+  <keepDependencies>false</keepDependencies>
+  <properties>
+    <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.29">
+      <autoRebuild>false</autoRebuild>
+      <rebuildDisabled>false</rebuildDisabled>
+    </com.sonyericsson.rebuild.RebuildSettings>
+    <hudson.model.ParametersDefinitionProperty>
+      <parameterDefinitions>
+        <hudson.model.StringParameterDefinition>
+          <name>instance_name</name>
+          <description>&lt;font color=black size=2&gt;&lt;b&gt;Enter ansible group name&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue></defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>username</name>
+          <description>&lt;font color=black size=2&gt;&lt;b&gt;Enter user name&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue></defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>password</name>
+          <description>&lt;font color=black size=2&gt;&lt;b&gt;Enter user name&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue></defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>public_key</name>
+          <description>&lt;font color=black size=2&gt;&lt;b&gt;Enter public key in single quotes&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue></defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.ChoiceParameterDefinition>
+          <name>tag</name>
+          <description></description>
+          <choices class="java.util.Arrays$ArrayList">
+            <a class="string-array">
+              <string>add-user</string>
+              <string>delete-user</string>
+            </a>
+          </choices>
+        </hudson.model.ChoiceParameterDefinition>
+      </parameterDefinitions>
+    </hudson.model.ParametersDefinitionProperty>
+    <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1">
+      <maxConcurrentPerNode>0</maxConcurrentPerNode>
+      <maxConcurrentTotal>0</maxConcurrentTotal>
+      <categories class="java.util.concurrent.CopyOnWriteArrayList"/>
+      <throttleEnabled>false</throttleEnabled>
+      <throttleOption>project</throttleOption>
+      <limitOneJobWithMatchingParams>false</limitOneJobWithMatchingParams>
+      <paramsToUseForLimit></paramsToUseForLimit>
+    </hudson.plugins.throttleconcurrents.ThrottleJobProperty>
+  </properties>
+  <definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="workflow-cps@2.63">
+    <scm class="hudson.plugins.git.GitSCM" plugin="git@3.9.3">
+      <configVersion>2</configVersion>
+      <userRemoteConfigs>
+        <hudson.plugins.git.UserRemoteConfig>
+          <url>https://github.com/project-sunbird/sunbird-devops.git</url>
+        </hudson.plugins.git.UserRemoteConfig>
+      </userRemoteConfigs>
+      <branches>
+        <hudson.plugins.git.BranchSpec>
+          <name>${public_repo_branch}</name>
+        </hudson.plugins.git.BranchSpec>
+      </branches>
+      <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
+      <submoduleCfg class="list"/>
+      <extensions/>
+    </scm>
+    <scriptPath>pipelines/ops/createuser/Jenkinsfile</scriptPath>
+    <lightweight>false</lightweight>
+  </definition>
+  <triggers/>
+  <disabled>false</disabled>
+</flow-definition>
\ No newline at end of file
diff --git a/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/ElasticsearchBackup/config.xml b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/ElasticsearchBackup/config.xml
index dff07e183b01cc0c6542732479c23c4101f65d7f..d6ce0350bdb136b53844c59e7961ad10e66c6c60 100644
--- a/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/ElasticsearchBackup/config.xml
+++ b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/ElasticsearchBackup/config.xml
@@ -26,6 +26,13 @@
       <limitOneJobWithMatchingParams>false</limitOneJobWithMatchingParams>
       <paramsToUseForLimit></paramsToUseForLimit>
     </hudson.plugins.throttleconcurrents.ThrottleJobProperty>
+    <org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
+      <triggers>
+        <hudson.triggers.TimerTrigger>
+          <spec>H 1 * * *</spec>
+        </hudson.triggers.TimerTrigger>
+      </triggers>
+    </org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
   </properties>
   <definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="workflow-cps@2.63">
     <scm class="hudson.plugins.git.GitSCM" plugin="git@3.9.3">
diff --git a/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/KeyRotation/config.xml b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/KeyRotation/config.xml
new file mode 100644
index 0000000000000000000000000000000000000000..280a9610e53839c803aaaa8b393e405d8ca78cb4
--- /dev/null
+++ b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/KeyRotation/config.xml
@@ -0,0 +1,94 @@
+<?xml version='1.1' encoding='UTF-8'?>
+<flow-definition plugin="workflow-job@2.31">
+  <actions/>
+  <description></description>
+  <keepDependencies>false</keepDependencies>
+  <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>-1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>5</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
+    <org.jenkinsci.plugins.workflow.job.properties.DisableConcurrentBuildsJobProperty/>
+    <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.29">
+      <autoRebuild>false</autoRebuild>
+      <rebuildDisabled>false</rebuildDisabled>
+    </com.sonyericsson.rebuild.RebuildSettings>
+    <hudson.model.ParametersDefinitionProperty>
+      <parameterDefinitions>
+        <hudson.model.StringParameterDefinition>
+          <name>bootstrap_user</name>
+          <description>&lt;font color=&quot;black&quot; size=2&gt;&lt;b&gt;Deployer user&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue>deployer</defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>bootstrap_user_public_key</name>
+          <description>&lt;font color=&quot;black&quot; size=2&gt;&lt;b&gt;Deployer user public key keep in single quotes&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue></defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>ssh_user</name>
+          <description>&lt;font color=&quot;black&quot; size=2&gt;&lt;b&gt;ops user&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue>ops</defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>ssh_private_file</name>
+          <description>&lt;font color=&quot;black&quot; size=2&gt;&lt;b&gt;location of ssh key for ops user from &apos;/&apos;&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue></defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>ssh_public_key</name>
+          <description>&lt;font color=&quot;black&quot; size=2&gt;&lt;b&gt;ops public key&lt;/b&gt;&lt;/font&gt;</description>
+          <defaultValue></defaultValue>
+          <trim>false</trim>
+        </hudson.model.StringParameterDefinition>
+      </parameterDefinitions>
+    </hudson.model.ParametersDefinitionProperty>
+    <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1">
+      <maxConcurrentPerNode>0</maxConcurrentPerNode>
+      <maxConcurrentTotal>0</maxConcurrentTotal>
+      <categories class="java.util.concurrent.CopyOnWriteArrayList"/>
+      <throttleEnabled>false</throttleEnabled>
+      <throttleOption>project</throttleOption>
+      <limitOneJobWithMatchingParams>false</limitOneJobWithMatchingParams>
+      <paramsToUseForLimit></paramsToUseForLimit>
+    </hudson.plugins.throttleconcurrents.ThrottleJobProperty>
+  </properties>
+  <definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="workflow-cps@2.63">
+    <scm class="hudson.plugins.git.GitSCM" plugin="git@3.9.3">
+      <configVersion>2</configVersion>
+      <userRemoteConfigs>
+        <hudson.plugins.git.UserRemoteConfig>
+          <url>https://github.com/project-sunbird/sunbird-devops.git</url>
+        </hudson.plugins.git.UserRemoteConfig>
+      </userRemoteConfigs>
+      <branches>
+        <hudson.plugins.git.BranchSpec>
+          <name>${public_repo_branch}</name>
+        </hudson.plugins.git.BranchSpec>
+      </branches>
+      <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
+      <submoduleCfg class="list"/>
+      <extensions>
+        <hudson.plugins.git.extensions.impl.CloneOption>
+          <shallow>true</shallow>
+          <noTags>false</noTags>
+          <reference></reference>
+          <depth>0</depth>
+          <honorRefspec>false</honorRefspec>
+        </hudson.plugins.git.extensions.impl.CloneOption>
+      </extensions>
+    </scm>
+    <scriptPath>pipelines/bootstrap/Jenkinsfile.rotatekey</scriptPath>
+    <lightweight>false</lightweight>
+  </definition>
+  <triggers/>
+  <disabled>false</disabled>
+</flow-definition>
\ No newline at end of file
diff --git a/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/Neo4jBackup/config.xml b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/Neo4jBackup/config.xml
index 6822d1ba51406e3416ef05579b0e6d5c9d08b534..c21d4c9bf171c1428755daa4982decc5ee224874 100644
--- a/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/Neo4jBackup/config.xml
+++ b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/Neo4jBackup/config.xml
@@ -26,6 +26,13 @@
       <limitOneJobWithMatchingParams>false</limitOneJobWithMatchingParams>
       <paramsToUseForLimit></paramsToUseForLimit>
     </hudson.plugins.throttleconcurrents.ThrottleJobProperty>
+    <org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
+      <triggers>
+        <hudson.triggers.TimerTrigger>
+          <spec>H 2 * * *</spec>
+        </hudson.triggers.TimerTrigger>
+      </triggers>
+    </org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
   </properties>
   <definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="workflow-cps@2.63">
     <scm class="hudson.plugins.git.GitSCM" plugin="git@3.9.3">
diff --git a/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/RedisBackup/config.xml b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/RedisBackup/config.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8cc4368965b7325a8291ef7292cc3f41e7b45ec4
--- /dev/null
+++ b/deploy/jenkins/jobs/OpsAdministration/jobs/dev/jobs/KnowledgePlatform/jobs/RedisBackup/config.xml
@@ -0,0 +1,67 @@
+<?xml version='1.1' encoding='UTF-8'?>
+<flow-definition plugin="workflow-job@2.31">
+  <actions/>
+  <description></description>
+  <keepDependencies>false</keepDependencies>
+  <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>-1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>5</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
+    <org.jenkinsci.plugins.workflow.job.properties.DisableConcurrentBuildsJobProperty/>
+    <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.29">
+      <autoRebuild>false</autoRebuild>
+      <rebuildDisabled>false</rebuildDisabled>
+    </com.sonyericsson.rebuild.RebuildSettings>
+    <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1">
+      <maxConcurrentPerNode>0</maxConcurrentPerNode>
+      <maxConcurrentTotal>0</maxConcurrentTotal>
+      <categories class="java.util.concurrent.CopyOnWriteArrayList"/>
+      <throttleEnabled>false</throttleEnabled>
+      <throttleOption>project</throttleOption>
+      <limitOneJobWithMatchingParams>false</limitOneJobWithMatchingParams>
+      <paramsToUseForLimit></paramsToUseForLimit>
+    </hudson.plugins.throttleconcurrents.ThrottleJobProperty>
+    <org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
+      <triggers>
+        <hudson.triggers.TimerTrigger>
+          <spec>H 2 * * *</spec>
+        </hudson.triggers.TimerTrigger>
+      </triggers>
+    </org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
+  </properties>
+  <definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="workflow-cps@2.63">
+    <scm class="hudson.plugins.git.GitSCM" plugin="git@3.9.3">
+      <configVersion>2</configVersion>
+      <userRemoteConfigs>
+        <hudson.plugins.git.UserRemoteConfig>
+          <url>https://github.com/project-sunbird/sunbird-learning-platform.git</url>
+        </hudson.plugins.git.UserRemoteConfig>
+      </userRemoteConfigs>
+      <branches>
+        <hudson.plugins.git.BranchSpec>
+          <name>${public_repo_branch}</name>
+        </hudson.plugins.git.BranchSpec>
+      </branches>
+      <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
+      <submoduleCfg class="list"/>
+      <extensions>
+        <hudson.plugins.git.extensions.impl.CloneOption>
+          <shallow>true</shallow>
+          <noTags>false</noTags>
+          <reference></reference>
+          <depth>0</depth>
+          <honorRefspec>false</honorRefspec>
+        </hudson.plugins.git.extensions.impl.CloneOption>
+      </extensions>
+    </scm>
+    <scriptPath>pipelines/backup/redis-backup/Jenkinsfile</scriptPath>
+    <lightweight>false</lightweight>
+  </definition>
+  <triggers/>
+  <disabled>false</disabled>
+</flow-definition>
\ No newline at end of file
diff --git a/deploy/jenkins/jobs/Provision/jobs/dev/jobs/Core/jobs/Keycloak/config.xml b/deploy/jenkins/jobs/Provision/jobs/dev/jobs/Core/jobs/Keycloak/config.xml
index fcc171f9607ee88fe326ca4c890cd50736cc3d2c..4ed76d6c77180a2e07770befe856d9aea589ecc9 100644
--- a/deploy/jenkins/jobs/Provision/jobs/dev/jobs/Core/jobs/Keycloak/config.xml
+++ b/deploy/jenkins/jobs/Provision/jobs/dev/jobs/Core/jobs/Keycloak/config.xml
@@ -18,6 +18,8 @@
       <rebuildDisabled>false</rebuildDisabled>
     </com.sonyericsson.rebuild.RebuildSettings>
     <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1">
+      <maxConcurrentPerNode>0</maxConcurrentPerNode>
+      <maxConcurrentTotal>0</maxConcurrentTotal>
       <categories class="java.util.concurrent.CopyOnWriteArrayList"/>
       <throttleEnabled>false</throttleEnabled>
       <throttleOption>project</throttleOption>
@@ -45,14 +47,7 @@
           <shallow>true</shallow>
           <noTags>false</noTags>
           <reference></reference>
-          <depth>0</depth>
-          <honorRefspec>false</honorRefspec>
-        </hudson.plugins.git.extensions.impl.CloneOption>
-        <hudson.plugins.git.extensions.impl.CloneOption>
-          <shallow>true</shallow>
-          <noTags>false</noTags>
-          <reference></reference>
-          <depth>0</depth>
+          <depth>1</depth>
           <honorRefspec>false</honorRefspec>
         </hudson.plugins.git.extensions.impl.CloneOption>
       </extensions>
diff --git a/pipelines/deploy/keycloak/Jenkinsfile b/pipelines/deploy/keycloak/Jenkinsfile
index 30f157ff65472b25d4e4635364d683f7821cfc6f..f1eabb8b43be457c85697f6b85294225cab70597 100644
--- a/pipelines/deploy/keycloak/Jenkinsfile
+++ b/pipelines/deploy/keycloak/Jenkinsfile
@@ -37,7 +37,21 @@ node() {
                     '''.stripIndent().replace("\n", " ") + ANSI_NORMAL)
                     }
                 }
-                    stage('deploy artifact') {
+	   stage('extract keycloak') {
+                    sh """
+                       cp ${artifact} sunbird_auth_1.0v.zip
+                    """
+                    ansiblePlaybook = "${currentWs}/ansible/sunbird-auth-provision.yml"
+                    ansibleExtraArgs = "--vault-password-file /var/lib/jenkins/secrets/vault-pass"
+                    values.put('ansiblePlaybook', ansiblePlaybook)
+                    values.put('ansibleExtraArgs', ansibleExtraArgs)
+                    println values
+                    ansible_playbook_run(values)
+                    archiveArtifacts artifacts: "${artifact}", fingerprint: true, onlyIfSuccessful: true
+                    archiveArtifacts artifacts: 'metadata.json', onlyIfSuccessful: true
+                    currentBuild.description = "${values.artifact_version}"
+                }
+	   stage('deploy artifact') {
                     sh """
                        unzip ${artifact}
                     """
diff --git a/private_repo/ansible/inventory/dev/Core/common.yml b/private_repo/ansible/inventory/dev/Core/common.yml
index e836a83eb2c541f7b76e7e5c74c87985d30b8d9c..ff99e51843e0c2bf07d27addd17ea889e488f4ec 100644
--- a/private_repo/ansible/inventory/dev/Core/common.yml
+++ b/private_repo/ansible/inventory/dev/Core/common.yml
@@ -61,3 +61,5 @@ keycloak_ekstep_sunbird_login_theme_file: "login.tar.gz"
 keycloak_ekstep_sunbird_login_theme_dest: "/opt/keycloak/themes/sunbird/login"
 keycloak_postgresql: "postgresql-9.4.1212.jar"
 sunbird_auth_version: 1.0v
+
+
diff --git a/private_repo/ansible/inventory/dev/Core/hosts b/private_repo/ansible/inventory/dev/Core/hosts
index 5adff87bb94c92005cff05b9ce37aa079c4031bf..b5c2a42a63e61bf551423e4d07762789e37dfac1 100644
--- a/private_repo/ansible/inventory/dev/Core/hosts
+++ b/private_repo/ansible/inventory/dev/Core/hosts
@@ -1,38 +1,43 @@
-[swarm-manager-1] 
+# This is a sample file which depicts how to update the ip for ansible provisioning
+# All ips are for refernce purpose
+# Its mandatory to update ip addresses
+# Don't change the group_names as it's referrenced in playbooks and variable files
+
+[swarm-manager-1]
 18.0.0.15 swarm_master=true
 
 [swarm-manager:children]
 swarm-manager-1
 
-[keycloak-1]  
+[keycloak-1]
 18.0.0.9
 
 [keycloak:children]
 keycloak-1
 
-[log-es-1] 
-18.0.0.15 node_name=refactor-log-es-1 es_etc_node_master=true es_etc_node_data=true 
+[log-es-1]
+18.0.0.15 node_name=refactor-log-es-1 es_etc_node_master=true es_etc_node_data=true
 
 [log-es:children]
 log-es-1
 
-[swarm-agent-for-prometheus-1] 
-18.0.0.15 
+[swarm-agent-for-prometheus-1]
+18.0.0.15
 
 [swarm-agent-for-prometheus:children]
 swarm-agent-for-prometheus-1
 
-[swarm-agent-for-grafana-1] 
+[swarm-agent-for-grafana-1]
 18.0.0.15
 
 [swarm-agent-for-grafana:children]
 swarm-agent-for-grafana-1
 
-[swarm-agent-for-alertmanager-1] 
+[swarm-agent-for-alertmanager-1]
 18.0.0.15
 
 
-[es-1] 
+[es-1]
 18.0.0.9 es_instance_name=es-1 es_etc_node_master=true es_etc_node_data=true
 
 [es-backup:children]
@@ -44,20 +49,20 @@ log-es-1
 [es:children]
 es-1
 
-[cassandra-1] 
+[cassandra-1]
 18.0.0.9
 
 [cassandra:children]
 cassandra-1
 
-[postgresql-master-1] 
-18.0.0.9 
+[postgresql-master-1]
+18.0.0.9
 
 [postgresql-master:children]
 postgresql-master-1
 
-[postgresql-slave-1] 
-18.0.0.9 
+[postgresql-slave-1]
+18.0.0.9
 
 [postgresql-slave:children]
 postgresql-slave-1
@@ -67,7 +72,7 @@ postgresql-slave
 postgresql-master
 
 [kafka-1]
-18.0.0.13 kafka_id=1 
+18.0.0.13 kafka_id=1
 
 [processing-cluster-kafka]
 18.0.0.13
@@ -123,4 +128,4 @@ swarm-manager
 
 [all:vars]
 ansible_ssh_user=deployer
-ansible_ssh_private_key_file=/run/secrets/deployer_ssh_key
\ No newline at end of file
+ansible_ssh_private_key_file=/var/lib/jenkins/secrets/deployer_ssh_key
\ No newline at end of file
diff --git a/private_repo/ansible/inventory/dev/DataPipeline/common.yml b/private_repo/ansible/inventory/dev/DataPipeline/common.yml
index bd03ee5a0ea0e9347727e968c34f80a2a4851733..6cfaa8bc5c637d0df94fb1a7c0f531ffae35ca3b 100644
--- a/private_repo/ansible/inventory/dev/DataPipeline/common.yml
+++ b/private_repo/ansible/inventory/dev/DataPipeline/common.yml
@@ -7,27 +7,21 @@ domain_name:
 ssh_public_key_deployer:  
 bootstrap_user: 
 bootstrap_key_path: 
-ansible_ssh_private_key_file: 
 
 #################### DP ##########################
 
-
-
-# Every where the value is telemetry-data-store
-# Shall we change the value to telemetry-data-store in dev also?
-# What's the implication
-# Is it azure blob or s3 bucket??
 # Is it same as `channel_data_exhaust_bucket`
-secor_azure_container_name: 
+secor_azure_container_name: ""
+secor_alerts_slack_channel: ""
 
 dp_azure_account_name:  # azure storage account name
-default_org_hash_id: # channel id of the organization
+default_org_hash_id: "" # channel id of the organization
 
 # Data products monitoring web hooks
-data_exhaust_webhook_url: ""
-data_exhaust_Channel: ""
-data_exhaust_name: 
-bucket: 
+data_exhaust_webhook_url: ""   ####Slack webhook
+data_exhaust_Channel: ""      ### salck channel for data products alerts
+data_exhaust_name:   
+bucket:   ####  same as secor_azure_container_name
 stream_base_url: ""
 
 # Media content
@@ -38,3 +32,11 @@ media_service_azure_account_name: ""
 media_service_azure_resource_group_name: ""
 media_service_azure_token_client_key: ""
 media_service_azure_token_client_secret: ""
+
+# kafka topic required by core #
+# Please do not change this #
+ingestion_kafka_topics:
+  - name: telemetry.ingestion
+    num_of_partitions: 4
+    replication_factor: 1
+    retention_time: 604800000
diff --git a/private_repo/ansible/inventory/dev/DataPipeline/hosts b/private_repo/ansible/inventory/dev/DataPipeline/hosts
index dd06977aab3a04278584685f7fbab2989780e6c2..919631f7f43c67b65b2ccbc9b5876f1721ff9dce 100644
--- a/private_repo/ansible/inventory/dev/DataPipeline/hosts
+++ b/private_repo/ansible/inventory/dev/DataPipeline/hosts
@@ -4,6 +4,10 @@
 
 # Sunbird zookeeper
 [ingestion-cluster-zookeepers]
+15.0.0.8
+
+[core-cassandra]
+15.0.0.7
 
 
 ################# LP ##########################
@@ -108,7 +112,7 @@ dp
 
 [env:vars]
 ansible_ssh_user=deployer
-ansible_ssh_private_key_file=/run/secrets/deployer_ssh_key
+ansible_ssh_private_key_file=/var/lib/jenkins/secrets/deployer_ssh_key
 
 
 ########################### Monitoring ##########################
@@ -142,4 +146,4 @@ kafka-ps
 
 [all:vars]
 ansible_ssh_user=deployer
-ansible_ssh_private_key_file=/run/secrets/deployer_ssh_key
+ansible_ssh_private_key_file=/var/lib/jenkins/secrets/deployer_ssh_key
diff --git a/private_repo/ansible/inventory/dev/KnowledgePlatform/common.yml b/private_repo/ansible/inventory/dev/KnowledgePlatform/common.yml
index efe5cc1bc01aeb2602f084389d611d39ed7bb068..23437d899ecda46f68b7cad6ab52d40485a0e779 100644
--- a/private_repo/ansible/inventory/dev/KnowledgePlatform/common.yml
+++ b/private_repo/ansible/inventory/dev/KnowledgePlatform/common.yml
@@ -32,9 +32,11 @@ artifacts_container:
 
 
 neo4j_zip: neo4j-enterprise-3.3.9-unix.tar.gz       # neo4j enterprise version.zip present in the artifacts folder
+neo4j_home: "{{learner_user_home}}/{{neo4j_dir}}/neo4j-enterprise-3.3.9"   # Change this path to the version of neo4j you will be using
 neo4j_enterprise: "true"
 
-## Cassandra-backup
-cassandra_backup_azure_container_name: 
-default_org_hash_id: # channel id of the organization
+## backup
+backup_azure_storage_account_name: sunbirdbackupsdev
+### overriding backup secret
+backup_azure_storage_access_key: "{{lp_vault_backup_azure_storage_secret}}"
 
diff --git a/private_repo/ansible/inventory/dev/KnowledgePlatform/hosts b/private_repo/ansible/inventory/dev/KnowledgePlatform/hosts
index cb141a673ecd37c1ea7abb155aa9f1620fd13938..d67f201cf7a6f14f748e1b6eaa42edfb0e7d4112 100644
--- a/private_repo/ansible/inventory/dev/KnowledgePlatform/hosts
+++ b/private_repo/ansible/inventory/dev/KnowledgePlatform/hosts
@@ -83,8 +83,8 @@ lp
 swarm-bootstrap-manager
 
 [env:vars]
-ansible_ssh_user="deployer"
-ansible_ssh_private_key_file=/run/secrets/deployer_ssh_key
+ansible_ssh_user=deployer
+ansible_ssh_private_key_file=/var/lib/jenkins/secrets/deployer_ssh_key
 
 ####################### Monitoring ########################
 [logstash-ps]
@@ -98,9 +98,9 @@ cassandra-ps
 15.0.2.7
 
 [process-exporter:vars]
-ansible_ssh_user="deployer"
-ansible_ssh_private_key_file=/run/secrets/deployer_ssh_key
+ansible_ssh_user=deployer
+ansible_ssh_private_key_file=/var/lib/jenkins/secrets/deployer_ssh_key
 
 [all:vars]
 ansible_ssh_user=deployer
-ansible_ssh_private_key_file=/run/secrets/deployer_ssh_key
+ansible_ssh_private_key_file=/var/lib/jenkins/secrets/deployer_ssh_key