Add customization in maintenance branch
PROD-27329

Change-Id: I55b06df674309ad501e2abd9585d8e428077eb8e
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