ContainerSyncTest calls delete_containers after clearing creds
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tempest |
Invalid
|
Undecided
|
Unassigned |
Bug Description
ContainerSyncTest calls delete_containers in the resource_cleanup function, which is called after clear_isolated_
I think this is a race that can result in the following failure if the credentials are gone by the time the containers are attempted to be deleted:
[-] teardown of resources failed: Unauthorized
Details: <html><
2015-03-17 22:39:28.126 21149 TRACE tempest.test Traceback (most recent call last):
2015-03-17 22:39:28.126 21149 TRACE tempest.test File "tempest/test.py", line 288, in tearDownClass
2015-03-17 22:39:28.126 21149 TRACE tempest.test teardown()
2015-03-17 22:39:28.126 21149 TRACE tempest.test File "tempest/
2015-03-17 22:39:28.126 21149 TRACE tempest.test cls.delete_
2015-03-17 22:39:28.126 21149 TRACE tempest.test File "tempest/
2015-03-17 22:39:28.126 21149 TRACE tempest.test objlist = container_
2015-03-17 22:39:28.126 21149 TRACE tempest.test File "tempest/
2015-03-17 22:39:28.126 21149 TRACE tempest.test params={'limit': limit, 'format': 'json'})
2015-03-17 22:39:28.126 21149 TRACE tempest.test File "tempest/
2015-03-17 22:39:28.126 21149 TRACE tempest.test resp, body = self.get(url, headers={})
2015-03-17 22:39:28.126 21149 TRACE tempest.test File "/opt/stack/
2015-03-17 22:39:28.126 21149 TRACE tempest.test return self.request('GET', url, extra_headers, headers)
2015-03-17 22:39:28.126 21149 TRACE tempest.test File "/opt/stack/
2015-03-17 22:39:28.126 21149 TRACE tempest.test resp, resp_body)
2015-03-17 22:39:28.126 21149 TRACE tempest.test File "/opt/stack/
2015-03-17 22:39:28.126 21149 TRACE tempest.test raise exceptions.
2015-03-17 22:39:28.126 21149 TRACE tempest.test Unauthorized: Unauthorized
2015-03-17 22:39:28.126 21149 TRACE tempest.test Details: <html><
2015-03-17 22:39:28.126 21149 TRACE tempest.test
Chatting in #openstack-qa it was noted that this test test_container_ synchronization has @test.attr( type='slow' ) and the failure happened because the test timeout was hit.
Also, credentials are cleared AFTER resource_cleanup, so there is no race here. The teardown items are LIFO.