heat/heat_integrationtests
Zane Bitter 25ba5b654a Eliminate race in CancelUpdateTest
The purpose of this test is to ensure we can rollback an in-progress
Server resource with attached ports. However, by cancelling immediately
we create a race whereby the stack may be rolled back before we have
even started updating the stack, in which case we are not testing the
behaviour we actually care about. Inserting a delay gives Heat enough
time to process the Port and start updating the Server before we cancel
the update.

In some circumstances this could also trigger a race within Heat,
whereby the rollback traversal would not block, but the update traversal
would retrigger it anyway. This resulted in the stack rollback being
marked COMPLETE multiple times, which could also lead to errors in
deleting the old raw_template after it had already been removed. The
latter have been fixed by separate patches. The race itself should be
addressed separately.

Change-Id: I3f9db686c31659437ff4797555e6608986946572
Task: 37199
(cherry picked from commit 3b4e0cda28)
2020-01-02 07:58:01 +00:00
..
common Use keystone session with heatclient in integration tests 2019-03-15 09:13:17 +00:00
functional Eliminate race in CancelUpdateTest 2020-01-02 07:58:01 +00:00
locale Imported Translations from Zanata 2018-03-12 06:43:23 +00:00
README.rst Fix README.rst for in-tree functional tests 2018-02-05 16:34:50 +05:30
__init__.py Allow run tests for both tempest plugin and regression tests 2018-01-19 13:26:25 -05:00
cleanup_test_env.sh Bump minimal_image_ref 2018-12-19 15:39:36 +05:30
config-generator.conf Allow run tests for both tempest plugin and regression tests 2018-01-19 13:26:25 -05:00
post_test_hook.sh Bump minimal_image_ref 2018-12-19 15:39:36 +05:30
pre_test_hook.sh Use fedora 29 image from nodepool mirror 2018-11-28 13:05:31 +05:30
prepare_test_env.sh Add doc for multi-clouds support 2019-06-25 07:37:27 +00:00
prepare_test_network.sh Bump minimal_image_ref 2018-12-19 15:39:36 +05:30

README.rst

Heat integration tests

These tests can be run against any heat-enabled OpenStack cloud, however defaults match running against a recent DevStack.

To run the tests against DevStack, do the following:

export DEST=/opt/stack

# create test resources and write config
$DEST/heat/heat_integrationtests/prepare_test_env.sh
$DEST/heat/heat_integrationtests/prepare_test_network.sh

# run the heat integration tests
cd $DEST/heat
stestr --test-path=heat_integrationtests run

If the Heat Tempest Plugin is also installed, the tests from that will be run as well.

If custom configuration is required, add it in the file heat_integrationtests/heat_integrationtests.conf. A sample configuration is available in heat_integrationtests/heat_integrationtests.conf.sample