diff --git a/jobs/templates/released-bm-b300-cicd-queens-ovs-maas.yml b/jobs/templates/released-bm-b300-cicd-queens-ovs-maas.yml
index 8e868d6..bd20f81 100644
--- a/jobs/templates/released-bm-b300-cicd-queens-ovs-maas.yml
+++ b/jobs/templates/released-bm-b300-cicd-queens-ovs-maas.yml
@@ -92,7 +92,13 @@
         name: SALT_MODELS_SYSTEM_COMMIT
         trim: 'false'
     - string:
-        default: -m "run_cvp_func_sanity|run_cvp_tempest|run_stacklight"
+        default: |-
+          --keep-duplicates --maxfail=1 \
+            tcp_tests/tests/system/test_deploy_250_computes.py::TestkDeploy250Computes::test_deploy_250_computes \
+            \
+            tcp_tests/tests/system/test_cvp_pipelines.py::TestCvpPipelines::test_run_cvp_tempest \
+            tcp_tests/tests/system/test_cvp_pipelines.py::TestCvpPipelines::test_run_cvp_func_sanity \
+            tcp_tests/tests/system/test_cvp_pipelines.py::TestCvpPipelines::test_run_cvp_stacklight
         description: |-
           Pytest option -k or -m, with expression to select necessary tests.
           Additional pytest options are allowed.
diff --git a/tcp_tests/templates/cookied-model-generator/salt_released-bm-b300-cicd-queens-ovs-maas.yaml b/tcp_tests/templates/cookied-model-generator/salt_released-bm-b300-cicd-queens-ovs-maas.yaml
index 7a726d4..2051d4a 100644
--- a/tcp_tests/templates/cookied-model-generator/salt_released-bm-b300-cicd-queens-ovs-maas.yaml
+++ b/tcp_tests/templates/cookied-model-generator/salt_released-bm-b300-cicd-queens-ovs-maas.yaml
@@ -29,70 +29,6 @@
 {{ SHARED.MACRO_GENERATE_COOKIECUTTER_MODEL(CONTROL_VLAN=CONTROL_VLAN, TENANT_VLAN=TENANT_VLAN) }}
 
 {{ SHARED.MACRO_GENERATE_AND_ENABLE_ENVIRONMENT_MODEL() }}
-
-- description: "Upload vcompute cluster config to cfg01.{{ DOMAIN_NAME }}"
-  upload:
-    local_path:  {{ config.salt_deploy.templates_dir }}{{ LAB_CONFIG_NAME }}/
-    local_filename: openstack_vcompute_cluster.yml
-    remote_path: /srv/salt/reclass/classes/cluster/{{ LAB_CONFIG_NAME }}/infra/
-  node_name: {{ HOSTNAME_CFG01 }}
-  retry: {count: 1, delay: 10}
-  skip_fail: false
-
-- description: "Upload vcmp config to cfg01.{{ DOMAIN_NAME }}"
-  upload:
-    local_path:  {{ config.salt_deploy.templates_dir }}{{ LAB_CONFIG_NAME }}/
-    local_filename: vcmp.yml
-    remote_path: /srv/salt/reclass/classes/cluster/{{ LAB_CONFIG_NAME }}/openstack/compute/
-  node_name: {{ HOSTNAME_CFG01 }}
-  retry: {count: 1, delay: 10}
-  skip_fail: false
-
-- description: "Upload vcmp network definition to cfg01.{{ DOMAIN_NAME }}"
-  upload:
-    local_path:  {{ config.salt_deploy.templates_dir }}{{ LAB_CONFIG_NAME }}/
-    local_filename: vcmpcompute.yml
-    remote_path: /srv/salt/reclass/classes/cluster/{{ LAB_CONFIG_NAME }}/openstack/networking/
-  node_name: {{ HOSTNAME_CFG01 }}
-  retry: {count: 1, delay: 10}
-  skip_fail: false
-
-- description: "Upload env_add.yml to cfg01.{{ DOMAIN_NAME }}"
-  upload:
-    local_path:  {{ config.salt_deploy.templates_dir }}{{ LAB_CONFIG_NAME }}/
-    local_filename: env_add.yml
-    remote_path: /root/environment/
-  node_name: {{ HOSTNAME_CFG01 }}
-  retry: {count: 1, delay: 10}
-  skip_fail: false
-
-- description: "Upload infra_config_nodes_add.yml to cfg01.{{ DOMAIN_NAME }}"
-  upload:
-    local_path:  {{ config.salt_deploy.templates_dir }}{{ LAB_CONFIG_NAME }}/
-    local_filename: infra_config_nodes_add.yml
-    remote_path: /root/environment/
-  node_name: {{ HOSTNAME_CFG01 }}
-  retry: {count: 1, delay: 10}
-  skip_fail: false
-
-- description: "Upload infra_kvm_add.yml to cfg01.{{ DOMAIN_NAME }}"
-  upload:
-    local_path:  {{ config.salt_deploy.templates_dir }}{{ LAB_CONFIG_NAME }}/
-    local_filename: infra_kvm_add.yml
-    remote_path: /root/environment/
-  node_name: {{ HOSTNAME_CFG01 }}
-  retry: {count: 1, delay: 10}
-  skip_fail: false
-
-- description: "Upload openstack_init_add.yml to cfg01.{{ DOMAIN_NAME }}"
-  upload:
-    local_path:  {{ config.salt_deploy.templates_dir }}{{ LAB_CONFIG_NAME }}/
-    local_filename: openstack_init_add.yml
-    remote_path: /root/environment/
-  node_name: {{ HOSTNAME_CFG01 }}
-  retry: {count: 1, delay: 10}
-  skip_fail: false
-
 - description: Temporary WR for correct bridge name according to envoronment templates
   cmd: |
     sed -i 's/br\-ctl/br\_ctl/g' /srv/salt/reclass/classes/cluster/{{ LAB_CONFIG_NAME }}/infra/kvm.yml;
diff --git a/tcp_tests/tests/system/test_deploy_250_computes.py b/tcp_tests/tests/system/test_deploy_250_computes.py
new file mode 100644
index 0000000..1b2fa2a
--- /dev/null
+++ b/tcp_tests/tests/system/test_deploy_250_computes.py
@@ -0,0 +1,122 @@
+#    Copyright 2017 Mirantis, Inc.
+#
+#    Licensed under the Apache License, Version 2.0 (the "License"); you may
+#    not use this file except in compliance with the License. You may obtain
+#    a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+#    License for the specific language governing permissions and limitations
+#    under the License.
+
+import pytest
+
+from tcp_tests import logger
+from tcp_tests import settings
+
+
+LOG = logger.logger
+
+
+@pytest.mark.deploy
+class TestkDeploy250Computes(object):
+    "https://mirantis.jira.com/browse/PROD-36488 Deploy 250vcpu for BM"
+
+    @pytest.mark.grab_versions
+    @pytest.mark.parametrize("_", [settings.ENV_NAME])
+    @pytest.mark.run_mcp_update
+    def test_deploy_250_computes(self, reclass_actions, underlay_actions,
+                                 show_step, salt_actions, _):
+        reclass = reclass_actions
+        ssh = underlay_actions
+        master_host = "cfg01"
+
+        # ################# Upload patched parts of model  ####################
+        show_step(1)
+
+        lab_name = settings.LAB_CONFIG_NAME
+
+        reclass.merge_context("/root/environment/env_add.yml".format(lab_name),
+                              "cluster/*/init.yml")
+        reclass.merge_context("/root/environment/infra_config_nodes_add.yml"
+                              .format(lab_name),
+                              "cluster/*/infra/config/nodes.yml")
+        reclass.merge_context("/root/environment/infra_kvm_add.yml"
+                              .format(lab_name),
+                              "cluster/*/infra/kvm.yml")
+        reclass.merge_context("/root/environment/openstack_init_add.yml"
+                              .format(lab_name),
+                              "cluster/*/openstack/init.yml")
+
+        # ###### Generate nodes configs and apply changes to kvm nodes ########
+        show_step(2)
+
+        ssh.check_call(
+            "salt-call state.apply reclass.storage",
+            node_name=master_host
+        )
+        salt_actions.run_state("kvm*", "saltutil.sync_all")
+        salt_actions.run_state("kvm*", "saltutil.refresh_pillar")
+
+        # ################# One by one apply network changes ##################
+        show_step(3)
+
+        kvm_nodes = ssh.check_call(
+            "salt 'cfg01*' pillar.get linux:network:host | grep '  kvm' "
+            "| sed 's/   *//g' | sed 's/://g'",
+            master_host
+        )
+        for node in kvm_nodes.split('\n'):
+            salt_actions.run_state(node, "state.apply", "linux.network")
+
+        # ########## Check that bridges are available on all nodes ############
+        show_step(4)
+
+        salt_actions.cmd_run("kvm*", "brctl show | grep 'ctl'")
+        salt_actions.cmd_run("kvm*", "brctl show | grep 'mesh'")
+
+        # ########### One by one for each kvm create vcmp VMs #################
+        show_step(5)
+
+        for node in kvm_nodes.split('\n'):
+            salt_actions.run_state(node, "state.apply", "salt.control")
+
+        # ########################### Check VMs ###############################
+        show_step(6)
+
+        salt_actions.cmd_run("kvm01*", "virsh list")
+        ssh.check_call(
+            "salt-key",
+            node_name=master_host
+        )
+
+        ssh.check_call(
+            "salt-call mine.get '*' x509.get_pem_entries",
+            node_name=master_host
+        )
+
+        salt_actions.run_state(node, "state.apply", "salt.minion")
+
+        # ######################## Deploy vcmp nodes ##########################
+        show_step(7)
+
+        for vcmp in range(3, 255):
+            cmd = "salt 'vcmp${i}.*' saltutil.sync_all; " \
+                  "salt 'vcmp${i}.*' saltutil.sync_grains; " \
+                  "salt 'vcmp${i}.*' saltutil.refresh_pillar; " \
+                  "sleep 5; " \
+                  "salt 'vcmp${i}.*' state.sls linux,ntp,openssh,salt;" \
+                  "sleep 5; " \
+                  "salt 'vcmp${i}.*' state.highstate"
+            ssh.check_call(
+                cmd,
+                node_name=master_host
+            )
+
+        # ####################### Discover new computes #######################
+        show_step(8)
+
+        salt_actions.run_state(node, "state.sls", "nova.controller")
