diff --git a/Dockerfile b/Dockerfile
index 7b9b4fd..1b28a0d 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -4,25 +4,30 @@
 
 USER root
 
-RUN apt-get update; apt-get install -y inetutils-ping curl wget
+RUN apt-get update; apt-get install -y iputils-ping curl wget
 
 WORKDIR /var/lib/
 
 RUN mkdir -p cvp-configuration
 
 RUN git clone https://github.com/openstack/tempest && \
-    pushd tempest; git checkout 17.2.0; pip install -r requirements.txt; \
+    pushd tempest; git checkout 17.2.0; \
+    sed -i 's/length=15/length=32/g' /var/lib/tempest/tempest/lib/common/utils/data_utils.py; \
+    pip install -r requirements.txt; \
     popd;
 
 RUN git clone https://github.com/openstack/telemetry-tempest-plugin && \
     pushd telemetry-tempest-plugin; git checkout 7a4bff728fbd8629ec211669264ab645aa921e2b; pip install -r requirements.txt; \
     popd;
 
-RUN git clone https://github.com/openstack/heat-tempest-plugin && \
-    pushd heat-tempest-plugin; git checkout 12b770e923060f5ef41358c37390a25be56634f0; pip install -r requirements.txt; \
+RUN git clone https://gerrit.mcp.mirantis.com/packaging/sources/heat-tempest-plugin && \
+    pushd heat-tempest-plugin; git checkout mcp/ocata; pip install -r requirements.txt; \
     popd;
 
-RUN pip install --force-reinstall python-cinderclient==3.2.0
+RUN pip install --force-reinstall python-cinderclient==3.2.0 python-glanceclient==2.11
+
+RUN sed -i 's/uuid4())/uuid4()).replace("-","")/g' /usr/local/lib/python2.7/dist-packages/rally/plugins/openstack/scenarios/keystone/utils.py
+RUN sed -i 's/uuid4())/uuid4()).replace("-","")/g' /usr/local/lib/python2.7/dist-packages/rally/plugins/openstack/context/keystone/users.py
 
 COPY rally/ /var/lib/cvp-configuration/rally
 COPY tempest/ /var/lib/cvp-configuration/tempest
diff --git a/cleanup.sh b/cleanup.sh
index 15e7ef9..9638842 100755
--- a/cleanup.sh
+++ b/cleanup.sh
@@ -1,15 +1,25 @@
 #!/bin/bash
 export OS_INTERFACE='admin'
-mask='rally_\|tempest_\|tempest-'
+mask='s_rally\|rally_\|tempest_\|tempest-'
 dry_run=false
 clean_projects=false
+make_servers_active=false
+
+stack_batch_size=10
+# granularity values: days,hours,minutes,seconds
+stack_granularity=days
+stack_granularity_value=1
 
 function show_help {
-    printf "Resource cleaning script\nMask is: %s\n\t-h, -?\tShow this help\n\t-t\tDry run mode, no cleaning done\n\t-P\tForce cleaning of projects\n" ${mask}
+    printf "Resource cleaning script\nMask is: %s\n\t-h, -?\tShow this help\n" ${mask}
+    printf "\t-t\tDry run mode, no cleaning done\n"
+    printf "\t-P\tForce cleaning of projects\n"
+    printf "\t-S\tSet servers to ACTIVE before deletion (bare metal reqiured)\n"
+    printf "\t-F\tForce purge deleted stacks. Batch size: %s, >%s %s\n" ${stack_batch_size} ${stack_granularity_value} ${stack_granularity}
 }
 
 OPTIND=1 # Reset in case getopts has been used previously in the shell.
-while getopts "h?:tP" opt; do
+while getopts "h?:tSPF" opt; do
     case "$opt" in
     h|\?)
         show_help
@@ -18,9 +28,15 @@
     t)  dry_run=true
         printf "Running in dry-run mode\n"
         ;;
+    S)  make_servers_active=true
+        printf "Servers will be set to ACTIVE before deletion\n"
+        ;;
     P)  clean_projects=true
         printf "Project cleanning enabled\n"
         ;;
+    F)  purge_deleted_stacks=true
+        printf "Purging stacks deleted >$stack_granularity_value $stack_granularity ago enabled, batch size %s\n" $stack_batch_size
+        ;;
     esac
 done
 
@@ -34,7 +50,7 @@
     fi
     if [ -s ${cmds} ]; then
         echo "Processing $(cat ${cmds} | wc -l) commands"
-        #cat ${cmds} | openstack
+        cat ${cmds} | openstack
         truncate -s 0 ${cmds}
     fi
 }
@@ -65,8 +81,11 @@
 
 ### Servers
 function _clean_servers {
-    servers=( $(openstack server list --name ${mask} -c ID -f value) )
+    servers=( $(openstack server list -c ID -c Name -f value --all | grep "${mask}" | cut -d' ' -f1) )
     echo "-> ${#servers[@]} servers containing '${mask}' found"
+    if [ "$make_servers_active" = true ]; then
+        printf "%s\n" ${servers[@]} | xargs -I{} echo server set --state active {} >>${cmds}
+    fi
     printf "%s\n" ${servers[@]} | xargs -I{} echo server delete {} >>${cmds}
     _clean_and_flush
 }
@@ -181,11 +200,14 @@
     # 73      "software_configs:global_index": "rule:deny_everybody",
     # After this you will be able to use --all option
 
-    stacks=( $(openstack stack list --deleted --nested --hidden -c ID -c Name -f value | grep ${mask} | cut -d' ' -f1) )
+    stacks=( $(openstack stack list --nested --hidden -c ID -c "Stack Name" -f value | grep ${mask} | cut -d' ' -f1) )
     echo "-> ${#stacks[@]} stacks containing '${mask}' found"
     printf "%s\n" ${stacks[@]} | xargs -I{} echo stack check {} >>${cmds}
     printf "%s\n" ${stacks[@]} | xargs -I{} echo stack delete -y {} >>${cmds}
     _clean_and_flush
+    if [ "$purge_deleted_stacks" = true ]; then
+        heat-manage purge_deleted -g ${stack_granularity} -b ${stack_batch_size} ${stack_granularity_value} | wc -l | xargs -I{} echo "-> Purged {} stacks"
+    fi
 }
 
 ### Containers
diff --git a/configure.sh b/configure.sh
index f0cfe27..ae4a816 100755
--- a/configure.sh
+++ b/configure.sh
@@ -20,14 +20,42 @@
 
 rally_configuration () {
   rally_version=$(rally version 2>&1)
-  # will be removed when we switch to Rally 0.9.2+
   if [ "$rally_version" == "0.9.0" ] || [ "$rally_version" == "0.9.1" ]; then
-    pip install ansible==2.3.2.0
-    sed -i '270s/,/}#,/g' /usr/local/lib/python2.7/dist-packages/rally/plugins/openstack/wrappers/network.py
+    echo "Please use rally 0.10.1"
+    exit
+  fi
+  if [ "$PROXY" != "offline" ]; then
+    if [ -n "${PROXY}" ]; then
+      export http_proxy=$PROXY
+      export https_proxy=$PROXY
+    fi
+    pip install --force-reinstall python-glanceclient==2.11
+    apt-get update; apt-get install -y iputils-ping curl wget
+    unset http_proxy
+    unset https_proxy
   fi
   sub_name=`date "+%H_%M_%S"`
+  # remove dashes from rally user passwords to fit into 32 char limit
+  sed -i 's/uuid4())/uuid4()).replace("-","")/g' /usr/local/lib/python2.7/dist-packages/rally/plugins/openstack/scenarios/keystone/utils.py
+  sed -i 's/uuid4())/uuid4()).replace("-","")/g' /usr/local/lib/python2.7/dist-packages/rally/plugins/openstack/context/keystone/users.py
   rally deployment create --fromenv --name=tempest_$sub_name
   rally deployment config
+  echo "[openstack]" >> /etc/rally/rally.conf
+  echo "pre_newton_neutron=True" >> /etc/rally/rally.conf
+}
+
+update_cacerts () {
+  # configuring certificates file
+  if [ -z ${OS_CACERT+x} ]; then
+    echo '# No OS_CACERT is set, update of crt file skipped'
+  else
+    echo '# Adding custom certificates'
+    ca=( $(find ${1} -name cacert.pem) )
+    for crt in ${ca[@]}; do
+      cat ${OS_CACERT} >>${crt}
+      echo '-> ${crt}'
+    done
+  fi
 }
 
 tempest_configuration () {
@@ -41,63 +69,99 @@
     rally verify create-verifier --name tempest_verifier_$sub_name --type tempest --source $TEMPEST_REPO --system-wide --version $tempest_version
     rally verify add-verifier-ext --source /var/lib/telemetry-tempest-plugin
     rally verify add-verifier-ext --source /var/lib/heat-tempest-plugin
+    update_cacerts "/usr/local/lib"
   else
     if [ -n "${PROXY}" ]; then
       export https_proxy=$PROXY
     fi
     rally verify create-verifier --name tempest_verifier_$sub_name --type tempest --source $TEMPEST_REPO --version $tempest_version
-    #rally verify add-verifier-ext --source https://github.com/openstack/telemetry-tempest-plugin
-    #rally verify add-verifier-ext --source https://github.com/openstack/heat-tempest-plugin
-    rally verify add-verifier-ext --source https://github.com/openstack/designate-tempest-plugin --version 0.5.0
+    #rally verify add-verifier-ext --version 7a4bff728fbd8629ec211669264ab645aa921e2b --source https://github.com/openstack/telemetry-tempest-plugin
+    rally verify add-verifier-ext --version mcp/ocata --source https://gerrit.mcp.mirantis.com/packaging/sources/heat-tempest-plugin
     pip install --force-reinstall python-cinderclient==3.2.0
     unset https_proxy
+    update_cacerts "/home/rally/.rally/verification"
   fi
+  # set password length to 32
+  data_utils_path=`find /home/rally/.rally/verification/ -name data_utils.py`
+  sed -i 's/length=15/length=32/g' $data_utils_path
+
   # supress tempest.conf display in console
   #rally verify configure-verifier --show
 }
 
-quick_configuration () {
+glance_image() {
 current_path=$(pwd)
-# Remove this if you use local gerrit cvp-configuration repo
-if [ "$PROXY" == "offline" ]; then
-  current_path=/var/lib
-fi
-#image
-glance image-list | grep "\btestvm\b" 2>&1 >/dev/null || {
-    if [ -n "${PROXY}" ] && [ "$PROXY" -ne "offline" ]; then
+# fetch image with exact name: testvm
+IMAGE_NAME2=testvm
+IMAGE_REF2=$(glance image-list | grep "\b${IMAGE_NAME2}\b" | awk '{print $2}')
+if [ "${IMAGE_REF2}" == "" ]; then
+  if [ "$PROXY" != "offline" ]; then
+    if [ -n "${PROXY}" ]; then
       export http_proxy=$PROXY
+      export https_proxy=$PROXY
     fi
     ls $current_path/cvp-configuration/cirros-0.3.4-x86_64-disk.img || wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img -O $current_path/cvp-configuration/cirros-0.3.4-x86_64-disk.img
     unset http_proxy
+    unset https_proxy
+  fi
+  if [ -e $current_path/cvp-configuration/cirros-0.3.4-x86_64-disk.img ]; then
     echo "MD5 should be ee1eca47dc88f4879d8a229cc70a07c6"
     md5sum $current_path/cvp-configuration/cirros-0.3.4-x86_64-disk.img
-    glance image-create --name=testvm --visibility=public --container-format=bare --disk-format=qcow2 < $current_path/cvp-configuration/cirros-0.3.4-x86_64-disk.img
+    glance image-create --name=${IMAGE_NAME2} --visibility=public --container-format=bare --disk-format=qcow2 < $current_path/cvp-configuration/cirros-0.3.4-x86_64-disk.img
+    IMAGE_REF2=$(glance image-list | grep "\b${IMAGE_NAME2}\b" | awk '{print $2}')
+  else
+    echo "Cirros image was not downloaded! Some tests may fail"
+    IMAGE_REF2=""
+  fi
+fi
+sed -i 's/${IMAGE_REF2}/'$IMAGE_REF2'/g' $current_path/cvp-configuration/tempest/tempest_ext.conf
+sed -i 's/${IMAGE_NAME2}/'$IMAGE_NAME2'/g' $current_path/cvp-configuration/tempest/tempest_ext.conf
 }
-IMAGE_REF2=$(glance image-list | grep 'testvm' | awk '{print $2}')
+
+quick_configuration () {
+current_path=$(pwd)
+#image
+glance_image
 #flavor for rally
 nova flavor-list | grep tiny 2>&1 >/dev/null || {
     echo "Let's create m1.tiny flavor"
     nova flavor-create --is-public true m1.tiny auto 128 1 1
 }
 #shared fixed network
-shared_count=`neutron net-list -c name -c shared | grep True | wc -l`
-if [ $shared_count -gt 1 ]; then
-  echo "TOO MANY SHARED NETWORKS! Script will choose just 1 random"
-fi
+shared_count=`neutron net-list -c name -c shared | grep True | grep "fixed-net" | wc -l`
 if [ $shared_count -eq 0 ]; then
   echo "Let's create shared fixed net"
   neutron net-create --shared fixed-net
-  neutron subnet-create --name fixed-subnet --gateway 192.168.0.1 --allocation-pool start=192.168.0.2,end=192.168.0.254 --ip-version 4 fixed-net 192.168.0.0/24
+  FIXED_NET_ID=$(neutron net-list -c id -c name -c shared | grep "fixed-net" | grep True | awk '{print $2}' | tail -n 1)
+  neutron subnet-create --name fixed-subnet --gateway 192.168.0.1 --allocation-pool start=192.168.0.2,end=192.168.0.254 --ip-version 4 $FIXED_NET_ID 192.168.0.0/24
 fi
-FIXED_NET=$(neutron net-list -c name -c shared | grep True | awk '{print $2}' | tail -n 1)
-echo "Fixed net is: $FIXED_NET"
-#Updating of tempest_full.conf file is skipped/deprecated
-sed -i 's/${IMAGE_REF2}/'$IMAGE_REF2'/g' $current_path/cvp-configuration/tempest/tempest_ext.conf
+fixed_count=`neutron net-list | grep "fixed-net" | wc -l`
+if [ $fixed_count -gt 1 ]; then
+  echo "TOO MANY NETWORKS WITH fixed-net NAME! This may affect tests. Please review your network list."
+fi
+# public/floating net
+PUBLIC_NET=$(neutron net-list -c name -c router:external | grep True | awk '{print $2}' | tail -n 1)
+FIXED_NET=$(neutron net-list -c name -c shared | grep "fixed-net" | grep True | awk '{print $2}' | tail -n 1)
+FIXED_NET_ID=$(neutron net-list -c id -c name -c shared | grep "fixed-net" | grep True | awk '{print $2}' | tail -n 1)
+FIXED_SUBNET_ID=$(neutron net-show $FIXED_NET_ID -c subnets | grep subnets | awk '{print $4}')
+FIXED_SUBNET_NAME=$(neutron subnet-show -c name $FIXED_SUBNET_ID | grep name | awk '{print $4}')
+echo "Public net name is $PUBLIC_NET"
+echo "Fixed net name is $FIXED_NET, id is $FIXED_NET_ID"
+echo "Fixed subnet is: $FIXED_SUBNET_ID, name: $FIXED_SUBNET_NAME"
 sed -i 's/${FIXED_NET}/'$FIXED_NET'/g' $current_path/cvp-configuration/tempest/tempest_ext.conf
+sed -i 's/${FIXED_SUBNET_NAME}/'$FIXED_SUBNET_NAME'/g' $current_path/cvp-configuration/tempest/tempest_ext.conf
+sed -i 's/${OS_USERNAME}/'$OS_USERNAME'/g' $current_path/cvp-configuration/tempest/tempest_ext.conf
+sed -i 's/${OS_TENANT_NAME}/'$OS_TENANT_NAME'/g' $current_path/cvp-configuration/tempest/tempest_ext.conf
+sed -i 's/${OS_REGION_NAME}/'$OS_REGION_NAME'/g' $current_path/cvp-configuration/tempest/tempest_ext.conf
+sed -i 's|${OS_AUTH_URL}|'"${OS_AUTH_URL}"'|g' $current_path/cvp-configuration/tempest/tempest_ext.conf
+sed -i 's|${OS_PASSWORD}|'"${OS_PASSWORD}"'|g' $current_path/cvp-configuration/tempest/tempest_ext.conf
+sed -i 's|${PUBLIC_NET}|'"${PUBLIC_NET}"'|g' $current_path/cvp-configuration/tempest/tempest_ext.conf
 sed -i 's/publicURL/'$TEMPEST_ENDPOINT_TYPE'/g' $current_path/cvp-configuration/tempest/tempest_ext.conf
 #supress tempest.conf display in console
 #cat $current_path/cvp-configuration/tempest/tempest_ext.conf
 cp $current_path/cvp-configuration/tempest/boot_config_none_env.yaml /home/rally/boot_config_none_env.yaml
+cp $current_path/cvp-configuration/cleanup.sh /home/rally/cleanup.sh
+chmod 755 /home/rally/cleanup.sh
 }
 
 if [ "$1" == "reconfigure" ]; then
@@ -110,16 +174,19 @@
 
 check_variables
 rally_configuration
+quick_configuration
 if [ -n "${TEMPEST_REPO}" ]; then
     tempest_configuration
-    quick_configuration
+    # If you do not have fip network, use this command
+    #cat $current_path/cvp-configuration/tempest/skip-list-fip-only.yaml >> $current_path/cvp-configuration/tempest/skip-list-queens.yaml
     # If Opencontrail is deployed, use this command
-    #cat $current_path/cvp-configuration/tempest/skip-list-oc4.yaml >> $current_path/cvp-configuration/tempest/skip-list-pike.yaml
+    #cat $current_path/cvp-configuration/tempest/skip-list-oc4.yaml >> $current_path/cvp-configuration/tempest/skip-list-queens.yaml
+    #cat $current_path/cvp-configuration/tempest/skip-list-heat.yaml >> $current_path/cvp-configuration/tempest/skip-list-queens.yaml
     rally verify configure-verifier --extend $current_path/cvp-configuration/tempest/tempest_ext.conf
     rally verify configure-verifier --show
     # If Barbican tempest plugin is installed, use this
-    # mkdir /etc/tempest
-    # rally verify configure-verifier --show | grep -v "rally.api" > /etc/tempest/tempest.conf
+    #mkdir /etc/tempest
+    #rally verify configure-verifier --show | grep -v "rally.api" > /etc/tempest/tempest.conf
     # Add 2 additional tempest tests (live migration to all nodes + ssh to all nodes)
     # TBD
     #cat tempest/test_extension.py >> repo/tempest/scenario/test_server_multinode.py
diff --git a/tempest/skip-list-ocata.yaml b/tempest/skip-list-ocata.yaml
index 5c3a81c..5aa54e3 100644
--- a/tempest/skip-list-ocata.yaml
+++ b/tempest/skip-list-ocata.yaml
@@ -1,5 +1,14 @@
 tempest.api.compute.servers.test_novnc.NoVNCConsoleTestJSON.test_novnc[id-c640fdff-8ab4-45a4-a5d8-7e6146cbd0dc]: See https://bugs.launchpad.net/nova/+bug/1669468.
 tempest.api.compute.admin.test_servers_on_multinodes.ServersOnMultiNodesTest.test_create_servers_on_same_host[id-26a9d5df-6890-45f2-abc4-a659290cb130]: SameHostFilter is not included into nova.conf
+designate_tempest_plugin.tests.api.admin.test_quotas.QuotasAdminTest.test_delete_quotas[id-33e0affb-5d66-4216-881c-f101a779851a,smoke]: admin token is disabled for designate
+designate_tempest_plugin.tests.api.admin.test_quotas.QuotasAdminTest.test_show_quotas[id-ed42f367-e5ba-40d7-a08d-366ad787d21c,smoke]: admin token is disabled for designate
+designate_tempest_plugin.tests.api.admin.test_quotas.QuotasAdminTest.test_update_quotas[id-4f2b65b7-c4e1-489c-9047-755e42ba0985,smoke]: admin token is disabled for designate
+designate_tempest_plugin.tests.api.v1.test_domains.DnsDomainsTest.test_create_update_get_domain[id-29f76dd4-2456-4e42-b0ca-bbffcc6bbf59,smoke]: sometimes may fail because of race condition
+designate_tempest_plugin.tests.api.v2.test_pool.PoolAdminTest.test_list_pools_dot_json_fails[id-41ad6a84-00ce-4a04-9fd5-b7c15c31e2db,smoke]: not applicable
+designate_tempest_plugin.tests.api.v2.test_tld.TldAdminTest.test_list_tlds_dot_json_fails[id-8116dcf5-a329-47d1-90be-5ff32f299c53,smoke]: not applicable
+designate_tempest_plugin.tests.api.v2.test_zones.ZonesTest.test_list_zones_dot_json_fails[id-925192f2-0ed8-4591-8fe7-a9fa028f90a0,smoke]: not applicable
+designate_tempest_plugin.tests.api.v2.test_tsigkey.TsigkeyAdminTest.test_list_tsigkeys_dot_json_fails[id-4bdc20ef-96f9-47f6-a1aa-275159af326b]: not applicable
+designate_tempest_plugin.tests.api.v2.test_zones_imports.ZonesImportTest.test_create_zone_import[id-2e2d907d-0609-405b-9c96-3cb2b87e3dce,smoke]: error on tempest side
 tempest.api.object_storage.test_account_bulk.BulkTest.test_bulk_delete[id-c075e682-0d2a-43b2-808d-4116200d736d]: not compatible with ceph
 tempest.api.object_storage.test_account_bulk.BulkTest.test_bulk_delete_by_POST[id-dbea2bcb-efbb-4674-ac8a-a5a0e33d1d79]: not compatible with ceph
 tempest.api.object_storage.test_account_bulk.BulkTest.test_extract_archive[id-a407de51-1983-47cc-9f14-47c2b059413c]: not compatible with ceph
@@ -118,3 +127,15 @@
 tempest.api.compute.servers.test_server_rescue.ServerRescueTestJSON.test_rescue_unrescue_instance[id-fd032140-714c-42e4-a8fd-adcd8df06be6]: FIP net is not configured
 tempest.api.compute.servers.test_server_rescue.ServerRescueTestJSON.test_rescued_vm_add_remove_security_group[id-affca41f-7195-492d-8065-e09eee245404]: FIP net is not configured
 tempest.api.compute.servers.test_server_rescue.ServerRescueTestJSON.test_rescued_vm_associate_dissociate_floating_ip[id-4842e0cf-e87d-4d9d-b61f-f4791da3cacc]: FIP net is not configured
+heat_tempest_plugin.tests.functional.test_nova_server_networks.CreateServerTest.test_create_update_server_with_subnet[id-12185eaa-927f-43f3-a525-0424c4eb9b5d]: PROD-22197
+heat_tempest_plugin.tests.scenario.test_aodh_alarm.AodhAlarmTest.test_alarm[id-fc0f18a6-f65c-4df1-b9c5-e160dea59849]: Not applicable for mcp deployments.
+heat_tempest_plugin.tests.functional.test_event_sinks.ZaqarEventSinkTest.test_events[id-d0b72695-e97d-4aa1-bfaf-31c14b09ac87]: Zaqar is not presented in deployment.
+heat_tempest_plugin.tests.functional.test_software_config.ZaqarSignalTransportTest.test_signal_queues[id-3af97ced-bead-4629-b78a-97762719e990]: Zaqar is not presented in deployment.
+heat_tempest_plugin.tests.functional.test_waitcondition.ZaqarWaitConditionTest.test_signal_queues[id-90183f0d-9929-43a6-8fb6-b81003824c6d]: Zaqar is not presented in deployment.
+heat_tempest_plugin.tests.scenario.test_autoscaling_lbv2.AutoscalingLoadBalancerv2Test.test_autoscaling_loadbalancer_neutron[id-89459930-aa61-4557-989b-3429d3b3b612]: Not applicable for mcp deployments.
+heat_tempest_plugin.tests.scenario.test_volumes.VolumeBackupRestoreIntegrationTest.test_cinder_volume_create_backup_restore[id-c3416735-87bf-4478-85c5-b3823819eb19]: Not applicable for mcp deployments.
+heat_tempest_plugin.tests.functional.test_os_wait_condition.OSWaitCondition.test_create_stack_with_multi_signal_waitcondition[id-cc54ca6e-b91d-4ddd-80cc-24a886dfaaa0]: No applicable for mcp deployment.
+heat_tempest_plugin.tests.scenario.test_server_software_config.SoftwareConfigIntegrationTest.test_server_software_config[id-fb2afe23-d1a8-45fc-bf8d-b18fc8412972]: Not applicable.
+heat_tempest_plugin.tests.scenario.test_server_cfn_init.CfnInitIntegrationTest.test_server_cfn_init[id-3f7726fc-a41b-40ca-ab38-51e2973f146a]: Not applicable for mcp deployment.
+heat_tempest_plugin.tests.scenario.test_server_signal.ServerSignalIntegrationTest.test_server_signal_userdata_format_raw[id-8da0f6cc-60e6-4298-9e54-e1f905c5552a]: Not applicable for mcp deployment.
+heat_tempest_plugin.tests.scenario.test_server_signal.ServerSignalIntegrationTest.test_server_signal_userdata_format_software_config[id-3d753d42-7c16-4a0e-8f73-875881826626]: Not applicable for mcp deployment.
\ No newline at end of file
diff --git a/tempest/tempest_ext.conf b/tempest/tempest_ext.conf
index a49030f..525faee 100644
--- a/tempest/tempest_ext.conf
+++ b/tempest/tempest_ext.conf
@@ -6,12 +6,8 @@
 min_microversion = 2.1
 max_microversion = latest
 volume_device_name = vdc
-min_compute_nodes = 3
+min_compute_nodes = 2
 endpoint_type = publicURL
-ping_timeout = 20
-ping_count = 5
-ssh_timeout = 90
-ssh_channel_timeout = 100
 build_timeout = 120
 fixed_network_name = ${FIXED_NET}
 
@@ -20,27 +16,27 @@
 
 # please review and fill this section
 [heat_plugin]
-image_ref = ${IMAGE_REF2}
-username = admin
-project_name = admin
-admin_project_name = admin
-domain_name = default
-admin_username = admin
-admin_domain_name = default
+username = ${OS_USERNAME}
+admin_username = ${OS_USERNAME}
+admin_password = ${OS_PASSWORD}
+password = ${OS_PASSWORD}
+project_name = ${OS_TENANT_NAME}
+admin_project_name = ${OS_TENANT_NAME}
+region = ${OS_REGION_NAME}
+auth_version = 3
+auth_url = ${OS_AUTH_URL}
+project_domain_name = Default
+user_domain_name = Default
 endpoint_type = internal
-auth_url = http://10.0.0.0:5000/v2.0
-admin_password = aaa
-password = aaa
-disable_ssl_certificate_validation = True
-image_ref = ${IMAGE_REF2}
-minimal_image_ref = ${IMAGE_REF2}
 instance_type = m1.tiny
-network_for_ssh = net_name
-floating_network_name = net_name
-region = RegionOne
-fixed_network_name = ${FIXED_NET}
-fixed_subnet_name = subnet_name
 minimal_instance_type = m1.tiny
+network_for_ssh = ${PUBLIC_NET}
+floating_network_name = ${PUBLIC_NET}
+fixed_subnet_name = ${FIXED_SUBNET_NAME}
+disable_ssl_certificate_validation = True
+image_ref = ${IMAGE_NAME2}
+minimal_image_ref = ${IMAGE_NAME2}
+fixed_network_name = ${FIXED_NET}
 build_timeout = 180
 ssh_timeout = 30
 boot_config_env = /home/rally/boot_config_none_env.yaml
@@ -60,15 +56,19 @@
 [network]
 build_timeout = 120
 endpoint_type = publicURL
-public_network_id =
+# leave empty if you do not have fip net
+public_network_id = 
+# remove if you do not have fip net
+#floating_network_name = 
 
-[network_feature_enabled]
+[network-feature-enabled]
 port_security = true
 
 [validation]
-run_validation = False
+run_validation = false
 image_ssh_password = cubswin:)
 ssh_timeout = 130
+ping_timeout = 20
 
 [object-storage]
 container_sync_timeout = 120
@@ -78,11 +78,6 @@
 #for ceph
 discoverability = false
 
-[orchestration]
-max_template_size = 5440000
-max_resources_per_stack = 20000
-endpoint_type = publicURL
-
 [volume]
 max_microversion = latest
 build_timeout = 120
@@ -100,34 +95,3 @@
 api_v3 = true
 manage_snapshot = true
 backup = False
-
-[DEFAULT]
-lock_path = /tmp
-
-[dns]
-
-[heat_plugin]
-image_ref = <>
-username = admin
-project_name = admin
-admin_project_name = admin
-domain_name = default
-admin_username = admin
-admin_domain_name = default
-endpoint_type = internal
-auth_url = <>
-admin_password = <>
-password = <>
-disable_ssl_certificate_validation = True
-image_ref = <>
-minimal_image_ref = <>
-instance_type = <>
-network_for_ssh = <>
-floating_network_name = <>
-region = <>
-fixed_network_name = <>
-fixed_subnet_name = <>
-minimal_instance_type = <>
-build_timeout = 180
-ssh_timeout = 30
-boot_config_env = /home/rally/boot_config_none_env.yaml
\ No newline at end of file
