diff --git a/git-mirror-2way-pipeline.groovy b/git-mirror-2way-pipeline.groovy
index 0b7e023..e70e9e7 100644
--- a/git-mirror-2way-pipeline.groovy
+++ b/git-mirror-2way-pipeline.groovy
@@ -1,4 +1,5 @@
 def common = new com.mirantis.mk.Common()
+def git = new com.mirantis.mk.Git()
 stage("Mirror") {
   node() {
     try{
@@ -16,7 +17,7 @@
         checkout changelog: true, poll: true,
           scm: [$class: 'GitSCM', branches: pollBranches, doGenerateSubmoduleConfigurations: false,
           extensions: [[$class: 'CleanCheckout']],  submoduleCfg: [], userRemoteConfigs: [[credentialsId: CREDENTIALS_ID, url: SOURCE_URL]]]
-        common.mirrorGit(SOURCE_URL, TARGET_URL, CREDENTIALS_ID, BRANCHES, true, true, false)
+        git.mirrorGit(SOURCE_URL, TARGET_URL, CREDENTIALS_ID, BRANCHES, true, true, false)
       }
     } catch (Throwable e) {
        // If there was an error or exception thrown, the build failed
@@ -26,4 +27,4 @@
        common.sendNotification(currentBuild.result,"",["slack"])
     }
   }
-}
\ No newline at end of file
+}
diff --git a/git-mirror-pipeline.groovy b/git-mirror-pipeline.groovy
index 9da9813..3a0f892 100644
--- a/git-mirror-pipeline.groovy
+++ b/git-mirror-pipeline.groovy
@@ -1,4 +1,5 @@
 def common = new com.mirantis.mk.Common()
+def git = new com.mirantis.mk.Git()
 stage("Mirror") {
   node() {
     try{
@@ -11,7 +12,7 @@
         checkout changelog: true, poll: true,
           scm: [$class: 'GitSCM', branches: pollBranches, doGenerateSubmoduleConfigurations: false, submoduleCfg: [], 
           extensions: [[$class: 'CleanCheckout']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: CREDENTIALS_ID, url: SOURCE_URL]]]
-        common.mirrorGit(SOURCE_URL, TARGET_URL, CREDENTIALS_ID, BRANCHES)
+        git.mirrorGit(SOURCE_URL, TARGET_URL, CREDENTIALS_ID, BRANCHES)
       }
     } catch (Throwable e) {
        // If there was an error or exception thrown, the build failed
@@ -21,4 +22,4 @@
        common.sendNotification(currentBuild.result,"",["slack"])
     }
   }
-}
\ No newline at end of file
+}
diff --git a/release-salt-formulas-pipeline.groovy b/release-salt-formulas-pipeline.groovy
index 90ce9ef..7660636 100644
--- a/release-salt-formulas-pipeline.groovy
+++ b/release-salt-formulas-pipeline.groovy
@@ -1,13 +1,14 @@
 def common = new com.mirantis.mk.Common()
+def ssh = new com.mirantis.mk.Ssh()
 node() {
   try{
     stage("checkout") {
       dir("src") {
-        common.prepareSshAgentKey(CREDENTIALS_ID)
-        common.ensureKnownHosts(SOURCE_URL)
+        ssh.prepareSshAgentKey(CREDENTIALS_ID)
+        ssh.ensureKnownHosts(SOURCE_URL)
         git url: SOURCE_URL, branch: "master", credentialsId: CREDENTIALS_ID, poll: false
         sh("git branch --set-upstream-to=origin/master")
-        common.agentSh("make update")
+        ssh.agentSh("make update")
       }
     }
     stage("tag") {
@@ -17,7 +18,7 @@
     }
     stage("push") {
       dir("src/formulas") {
-        common.agentSh("mr --trust-all -j4 --force run git push gerrit $TAG")
+        ssh.agentSh("mr --trust-all -j4 --force run git push gerrit $TAG")
       }
     }
   } catch (Throwable e) {
@@ -27,4 +28,4 @@
   } finally {
      common.sendNotification(currentBuild.result,"",["slack"])
   }
-}
\ No newline at end of file
+}
diff --git a/test-salt-models-pipeline.groovy b/test-salt-models-pipeline.groovy
index ebc99c9..1928e4c 100644
--- a/test-salt-models-pipeline.groovy
+++ b/test-salt-models-pipeline.groovy
@@ -1,5 +1,7 @@
 def common = new com.mirantis.mk.Common()
 def gerrit = new com.mirantis.mk.Gerrit()
+def ssh = new com.mirantis.mk.Ssh()
+def git = new com.mirantis.mk.Git()
 
 node("python") {
   try{
@@ -7,7 +9,15 @@
       gerrit.gerritPatchsetCheckout ([
           credentialsId : CREDENTIALS_ID
       ])
-      sh("git submodule init; git submodule sync; git submodule update --recursive")
+
+      if (fileExists('classes/system') {
+        ssh.prepareSshAgentKey(CREDENTIALS_ID)
+        dir('classes/system') {
+          remoteUrl = git.getGitRemote()
+          ssh.ensureKnownHosts(remoteUrl)
+        }
+        ssh.agentSh("git submodule init; git submodule sync; git submodule update --recursive")
+      }
     }
     stage("test") {
       wrap([$class: 'AnsiColorBuildWrapper']) {
@@ -21,4 +31,4 @@
   } finally {
      common.sendNotification(currentBuild.result,"",["slack"])
   }
-}
\ No newline at end of file
+}
