If a resource times out, we still need to check whether there is a new
traversal underway that we need to retrigger, otherwise the new traversal
will never complete.
Change-Id: I4ac7ac88797b7fb14046b5668649b2277ee55517
Closes-Bug: #1721654
The python standard library in Python 3.6.3 and earlier has a bug with
handling unhashable exceptions: https://bugs.python.org/issue28603
Although oslo_log will catch the error, make scheduler.Timeout hashable so
that all exceptions will be printable.
Prior to 640abe0c12e63c207fcf67592838f112a29f5b43 we just used __cmp__(),
but that isn't used in Python 3. Defining __eq__(), which is required for
the total_ordering decorator, makes the class unhashable in Python 3.
Change-Id: Idde65b2d41490ab8318b5a8b95ea74e9b96b4e5c
Related-Bug: #1724366
Related-Bug: #1721654
Convergence allows us to start a stack update while a previous update (or
create) is still in progress. If a resource is found to be locked by a
previous graph traversal when the new traversal comes to update it, the
earlier traversal is responsible for retriggering the resource after it
completes.
This patch adds functional tests to confirm that this works when the
long-running resource update ends in success or failure (as opposed to
timing out or being cancelled).
Change-Id: I5cb0cfd6bb05a94cd32709b5cda8454df6e81a61
We deprecated the resources OS::Designate::Record and
OS::Designate::Domain in ocata, so hidden them now.
Change-Id: I8f0529602f8d2ca50508c4f5ec00d255d078b8a9
Make sure to delete the ResourcePropertiesData row
if the resource 'attr_data_id' has been set already.
Change-Id: I2df5dfc72d051b6619c769c1260ff24b016bc294
Closes-Bug: #1708378
Raise NotFound() exception with proper message when fetching
atrribitutes for a member, that is not in the nested stack.
Change-Id: I8969893781439ef5e87ea9f815d7f22e23be3e78
Closes-Bug: #1723315
Add action_wait_secs for TestResource in api tests, so
that consecutive updates would have different updated_time.
Change-Id: I08d2ac6625acaa0828b18b5e805c81031bb87c01
Related-Bug: #1721692
Check that the patch update has actually run and that we're not simply
looking at the UPDATE_COMPLETE status from the previous test, otherwise
the outputs may not have been updated before we run the next test.
Change-Id: Ia45a303e74e19e7d1887c4e242a8ee5655208e59
Closes-Bug: #1721692
Add a "convergence_engine_enabled" configuration option to the functional
tests' Tempest plugin. The option is enabled by default, but can be
disabled by setting the DISABLE_CONVERGENCE environment variable to "true"
when running prepare_test_env.sh, so that if convergence is disabled in
devstack it will also be disabled in Tempest.
This will allow us to write functional tests for convergence-specific (or
non-convergence-specific) behaviours.
Change-Id: If3a37de75467d50af10582215e16611e59a4ad06
https://review.openstack.org/#/c/508021 fixed it
to work in uwsgi mode but did broke it to work with
ipv6 as it contains ':' as part of the host.
This patch fixes how the URL is parsed in order to
work properly with ipv6.
Change-Id: I3965ee83e1f743e25cbdcbbec516be0ed6a30afc
Closes-Bug: #1721045
The node key in the convergence graph is a (resource id, update/!cleanup)
tuple. Sometimes it would be convenient to access the members by name, so
convert to a namedtuple.
Change-Id: Id8c159b0137df091e96f1f8d2312395d4a5664ee
The gate has started failing due to interface detaches timing out.
Examining the logs, it looks like Nova's interface detach retry takes about
6s to run one attempt. Heat, on the other hand, does 10 retries at 0.5s
intervals. So if Nova has to retry then Heat will fail.
Increase Heat's polling interval to make it more likely that if Nova
succeeds, Heat will see it.
Change-Id: Ie74980a3f806b8c17e4e494ae979725b0078f135
Closes-Bug: #1585858