heat/heat_integrationtests
Zane Bitter 93b4551d9a Fix non-destructive upgrade for deprecated res types in convergence
When a user updates from a deprecated resource type to an
equivalent-but-differently-named one (e.g. from
OS::Heat::SoftwareDeployments to OS::Heat::SoftwareDeploymentGroup), Heat
is supposed to change the type without replacing the resource as it would
normally do when a resource type changes. This was broken in convergence,
because since 4507322675 the new Resource
object we create during the check_resource operation (using the new type's
plugin) is no longer automatically initialised with data from the database
as resources in the legacy path are.

Move the substitution checking to the Resource.load() method, so that it
now returns an instance of the new plugin where allowed. In the actual
update_convergence() method then we need only check that the resource class
is the one we'd expect from the new template, and replace the resource if
not.

We do have a test that is designed to check that this is working, but in it
we didn't compare the physical IDs of the resource that is potentially
getting replaced, but rather the physical IDs of some other resource that
can't possibly get modified (surprise! it doesn't change).

Change-Id: I75778abc303525a71d0a918f7192f00a43c21284
Closes-Bug: #1729439
2017-11-01 18:03:20 -04:00
..
api Fix regex for updated_time in PATCH update api test 2017-10-10 14:24:56 +05:30
common Allow convergence-specific Tempest tests 2017-10-05 14:19:32 -04:00
functional Fix non-destructive upgrade for deprecated res types in convergence 2017-11-01 18:03:20 -04:00
locale Imported Translations from Zanata 2017-10-07 11:22:47 +00:00
scenario Add test for basic resources as heat define test 2017-07-07 05:31:20 +00:00
.gitignore Support classes for heat integration tests 2014-09-24 09:02:20 +12:00
README.rst Fix readme guide for heat_integrationtests 2017-08-07 18:38:12 +08:00
__init__.py Support classes for heat integration tests 2014-09-24 09:02:20 +12:00
cleanup_test_env.sh Switch integration jobs to use local mirrors 2017-08-10 16:46:59 -04:00
install-requirements Create integration tests requirements on the fly 2016-03-25 13:40:50 +00:00
plugin.py Run heat_integrationtests as a tempest plugin 2016-08-13 09:53:07 +12:00
post_test_hook.sh Use group_regex to group gabbi api tests 2017-05-05 07:29:40 +05:30
pre_test_hook.sh Merge "Revert "Disable nova quota check in gate jobs"" 2017-08-30 10:44:34 +00:00
prepare_test_env.sh Skip AodhAlarmTest 2017-10-26 13:28:47 +05:30
prepare_test_network.sh Use osc commands for creating neutron resources 2016-10-20 15:42:40 +05:30

README.rst

Heat integration tests

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

To run the tests against DevStack, do the following:

# Define DEST

export DEST=/opt/stack

# create test resources and write tempest config

$DEST/heat/heat_integrationtests/prepare_test_env.sh

$DEST/heat/heat_integrationtests/prepare_test_network.sh

# run tempest selecting only these tests

cd $DEST/tempest

tempest run --regex heat_integrationtests

If custom configuration is required, edit the [heat_plugin] section of

$DEST/tempest/etc/tempest.conf