setting allow_versioned_writes to false in proxy config file causes functional tests to fail

Bug #1517974 reported by Travis Nguyen
26
This bug affects 4 people
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
In Progress
Undecided
Unassigned

Bug Description

Currently on master, setting allow_versioned_writes to false in the proxy config file causes the functional tests to fail, with 10 errors.

The 10 errors are as follows:

test_clear_version_option (test.functional.tests.TestObjectVersioning) ... ERROR
test_overwriting (test.functional.tests.TestObjectVersioning) ... ERROR
test_versioning_check_acl (test.functional.tests.TestObjectVersioning) ... ERROR
test_versioning_container_acl (test.functional.tests.TestObjectVersioning) ... ERROR
test_versioning_dlo (test.functional.tests.TestObjectVersioning) ... ERROR
test_clear_version_option (test.functional.tests.TestObjectVersioningUTF8) ... ERROR
test_overwriting (test.functional.tests.TestObjectVersioningUTF8) ... ERROR
test_versioning_check_acl (test.functional.tests.TestObjectVersioningUTF8) ... ERROR
test_versioning_container_acl (test.functional.tests.TestObjectVersioningUTF8) ... ERROR
test_versioning_dlo (test.functional.tests.TestObjectVersioningUTF8) ... ERROR

Travis Nguyen (travisn)
Changed in swift:
assignee: nobody → Travis Nguyen (travisn)
Revision history for this message
Travis Nguyen (travisn) wrote :

For each error, I get the following line:

ResponseError: 412: 'Precondition Failed' (None None) txid=txacbf413d5c3d4fb2903ad-00564f7860

It looks like the tests are expected to fail with a 412 error when allow_versioned_writes = false, based on the following file (at the time of writing, on lines 105-106):

https://review.openstack.org/#/c/134347/44/test/unit/common/middleware/test_versioned_writes.py

Since the tests behave as expected, my course of action is to have functests skip running the tests associated with TestObjectVersioning and TestObjectVersioningUTF8.

Revision history for this message
Travis Nguyen (travisn) wrote :

After introducing code that skipped the TestObjectVersioning and TestObjectVersioningUTF8 tests, I encountered an issue when running .functests. Tests associated with TestObjectVersioningUTF8 kept getting errors. After some debugging, I discovered that the TestObjectVersioningUTF8 tests were not going through setup. The solution was to set the variable set_up = True in the TestObjectVersioningUTF8 class in tests.py.

Tim Burke (1-tim-z)
Changed in swift:
status: New → Confirmed
Changed in swift:
status: Confirmed → In Progress
Revision history for this message
Janie Richling (jrichli) wrote :

Currently, the number of failed tests when setting allow_versioned_writes to false has decreased significantly. It is only test.functional.tests.TestSloWithVersioning.test_slo_manifest_version that fails at this point.

Changed in swift:
assignee: Travis Nguyen (travisn) → Janie Richling (jrichli)
Janie Richling (jrichli)
Changed in swift:
assignee: Janie Richling (jrichli) → nobody
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.