diff --git a/jobs/pipelines/deploy-cicd-and-run-tests.groovy b/jobs/pipelines/deploy-cicd-and-run-tests.groovy
index 5106d80..a611a1a 100644
--- a/jobs/pipelines/deploy-cicd-and-run-tests.groovy
+++ b/jobs/pipelines/deploy-cicd-and-run-tests.groovy
@@ -17,7 +17,7 @@
     node_with_reports = "${NODE_NAME}"
     make_snapshot_stages = "${env.MAKE_SNAPSHOT_STAGES}" != "false" ? true : false
 } else if (env_manager == 'heat') {
-    jenkins_slave_node_name = "openstack_slave_${JOB_NAME}"
+    jenkins_slave_node_name = "openstack_slave_${env.ENV_NAME}"
     make_snapshot_stages = false
     node_with_reports = jenkins_slave_node_name
 }
@@ -222,11 +222,11 @@
             }
             def deploy = build job: "${upgrade_job}",
                 parameters: [
-                    string(name: 'PARENT_NODE_NAME', value: "openstack_slave_${env.LAB_CONFIG_NAME}"),
+                    string(name: 'PARENT_NODE_NAME', value: "openstack_slave_${env.ENV_NAME}"),
                     string(name: 'TCP_QA_REFS', value: env.TCP_QA_REFS),
                     string(name: 'PASSED_STEPS', value: steps),
                     string(name: 'TEMPEST_TEST_SUITE_NAME', value: env.TEMPEST_TEST_SUITE_NAME),
-                    string(name: 'NODE', value: "openstack_slave_${env.LAB_CONFIG_NAME}")
+                    string(name: 'NODE', value: "openstack_slave_${env.ENV_NAME}")
                 ],
                 wait: false,
                 propagate: false
diff --git a/jobs/pipelines/remove-old-jenkins-agents.groovy b/jobs/pipelines/remove-old-jenkins-agents.groovy
new file mode 100644
index 0000000..eb2ccd8
--- /dev/null
+++ b/jobs/pipelines/remove-old-jenkins-agents.groovy
@@ -0,0 +1,60 @@
+import hudson.node_monitors.*
+import hudson.slaves.*
+import java.util.concurrent.*
+
+jenkins = Jenkins.instance
+
+import javax.mail.internet.*;
+import javax.mail.*
+import javax.activation.*
+
+def getEnviron(computer) {
+   def env
+   def thread = Thread.start("Getting env from ${computer.name}", { env = computer.environment })
+   thread.join(2000)
+   if (thread.isAlive()) thread.interrupt()
+   env
+}
+
+def agentAccessible(computer) {
+    getEnviron(computer)?.get('PATH') != null
+}
+
+def numberOfflineNodes = 0
+def numberNodes = 0
+for (agent in jenkins.getNodes()) {
+   def computer = agent.computer
+   numberNodes ++
+   println ""
+   println "Checking computer ${computer.name}:"
+   def isOK = (agentAccessible(computer) && !computer.offline)
+   if (isOK) {
+     println "\t\tOK, got PATH back from agent ${computer.name}."
+
+   } else {
+     numberOfflineNodes ++
+     println "  ERROR: can't get PATH from agent ${computer.name}."
+     //if (computer.isTemporarilyOffline()) {
+     //  if (!computer.getOfflineCause().toString().contains("Disconnected by")) {
+     //    computer.setTemporarilyOffline(false, agent.getComputer().getOfflineCause())
+     //  }
+     //} else {
+     //    //computer.connect(true)
+     //}
+
+     if (computer.isOffline() && !computer.isTemporarilyOffline())
+     {
+       println "!!!! this node will be killed !!!";
+       computer.doDoDelete();
+     }
+   }
+     println('\tcomputer.isOffline: ' + computer.isOffline());
+     println('\tcomputer.isTemporarilyOffline: ' + computer.isTemporarilyOffline());
+     println('\tcomputer.getOfflineCause: ' + computer.getOfflineCause());
+     println('\tcomputer.offline: ' + computer.offline);
+     time = computer.getIdleStartMilliseconds() ;
+     println('\tcomputer.getConnectTime: ' + new Date(time).toString());
+ }
+println ("Number of Offline Nodes: " + numberOfflineNodes)
+println ("Number of Nodes: " + numberNodes)
+
diff --git a/jobs/project.yaml b/jobs/project.yaml
index 145ae0d..83b78ee 100644
--- a/jobs/project.yaml
+++ b/jobs/project.yaml
@@ -55,6 +55,7 @@
       - environment-template-ci
       - self-deploy-jobs
       - self-deploy-virtualenvs
+      - cleanup-jenkins-agents
       - tcp-qa-ci
       - test_cleanup
       # - testrail-reporter-ci - can't moved to JJB, unsupported parameters
diff --git a/jobs/templates/cleanup-jenkins-agents.yml b/jobs/templates/cleanup-jenkins-agents.yml
new file mode 100644
index 0000000..859463c
--- /dev/null
+++ b/jobs/templates/cleanup-jenkins-agents.yml
@@ -0,0 +1,18 @@
+- job-template:
+    project-type: pipeline
+    description: '{job-description}'
+    concurrent: false
+    disabled: false
+    name: cleanup-jenkins-agents
+    triggers:
+      - timed: 00 2 * * Sun
+    pipeline-scm:
+      lightweight-checkout: true
+      scm:
+      - git:
+          branches:
+          - master
+          url: https://gerrit.mcp.mirantis.com/mcp/tcp-qa
+      script-path: jobs/pipelines/remove-old-jenkins-agents.groovy
+    logrotate:
+      daysToKeep: 365
\ No newline at end of file
diff --git a/jobs/view.yaml b/jobs/view.yaml
index a6caaf2..307c4c6 100644
--- a/jobs/view.yaml
+++ b/jobs/view.yaml
@@ -73,6 +73,7 @@
     job-name:
       - self-deploy-jobs
       - self-deploy-virtualenvs
+      - cleanup-jenkins-agents
     columns:
       - status
       - weather
diff --git a/tcp_tests/tests/system/test_cvp_pipelines.py b/tcp_tests/tests/system/test_cvp_pipelines.py
index c7c919c..44cf396 100644
--- a/tcp_tests/tests/system/test_cvp_pipelines.py
+++ b/tcp_tests/tests/system/test_cvp_pipelines.py
@@ -120,10 +120,10 @@
         dt = drivetrain_actions
         jenkins_start_timeout = 60
         jenkins_build_timeout = 6 * 60 * 60
-        cluster_name = settings.ENV_NAME
+        config_name = settings.LAB_CONFIG_NAME
         tempest_pattern = settings.TEMPEST_PATTERN
         skiplist_file = "tcp_tests/templates/{}/tempest_skip.list".\
-            format(cluster_name)
+            format(config_name)
 
         show_step(1)
         salt.sync_time()
