Created attachment 1699221 [details] ceph confuguration file Description of problem: Tempest object storage test failed [1] with error " testtools.matchers._impl.MismatchError: accept-ranges header does not exist" [2] [1] [root@cd56067f656f tempest]# grep -i failed /out/tempest.log {0} tempest.api.object_storage.test_account_services.AccountTest.test_list_containers [0.774807s] ... FAILED Captured traceback: ~~~~~~~~~~~~~~~~~~~ Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/tempest/api/object_storage/test_account_services.py", line 59, in test_list_containers self.assertHeaders(resp, 'Account', 'GET') File "/usr/lib/python2.7/site-packages/tempest/api/object_storage/base.py", line 145, in assertHeaders target, method, self.policies)) File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 435, in assertThat raise mismatch_error testtools.matchers._impl.MismatchError: accept-ranges header does not exist Version-Release number of selected component (if applicable): How reproducible: 100% Steps to Reproduce: Please check the trailing comments. Actual results: Tempest test is getting failed for "tempest.api.object_storage.test_account_services.AccountTest.test_list_containers" Expected results: Tempest test should get cleared. Additional info: ~~~ [object-storage] operator_role = admin # operator_role = Member reseller_admin_role = ResellerAdmin ~~~ Is this related to https://bugzilla.redhat.com/show_bug.cgi?id=1252600 ?
Debug is enabled. Here is another test I just ran [1] From /var/log/messages, the test objects were created and http status code is 201 [2]. [1] # tempest run --regex id-3499406a-ae53-4f8c-b43a-133d4dc6fe3f {0} tempest.api.object_storage.test_account_services.AccountTest.test_list_containers [0.704184s] ... FAILED Captured traceback: ~~~~~~~~~~~~~~~~~~~ Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/tempest/api/object_storage/test_account_services.py", line 59, in test_list_containers self.assertHeaders(resp, 'Account', 'GET') File "/usr/lib/python2.7/site-packages/tempest/api/object_storage/base.py", line 145, in assertHeaders target, method, self.policies)) File "/usr/lib/python2.7/site-packages/testtools/testcase.py", line 435, in assertThat raise mismatch_error testtools.matchers._impl.MismatchError: accept-ranges header does not exist Captured pythonlogging: ~~~~~~~~~~~~~~~~~~~~~~~ 2020-06-22 12:13:56,987 1668 INFO [tempest.lib.common.rest_client] Request (AccountTest:test_list_containers): 200 GET https://s3-stage-us-east2$ geix.cloud.ge.com/swift/v1/6486a7f230cc4c5cab96447c7bb112a7 0.702s 2020-06-22 12:13:56,988 1668 DEBUG [tempest.lib.common.rest_client] Request - Headers: {'X-Auth-Token': '<omitted>'} Body: None Response - Headers: {'status': '200', u'content-length': '161', u'x-account-storage-policy-default-placement-object-count': '0', u'x-account-sto$ age-policy-default-placement-bytes-used-actual': '0', u'x-trans-id': 'tx00000000000000000004f-005ef0a101-264270c-default', u'date': 'Mon, 22 Jun 2020 12$ 16:02 GMT', u'x-account-bytes-used': '0', u'x-account-container-count': '7', u'x-openstack-request-id': 'tx00000000000000000004f-005ef0a101-264270c-defa$ lt', 'content-location': 'https://s3-stage-us-east2.geix.cloud.ge.com/swift/v1/6486a7f230cc4c5cab96447c7bb112a7', u'x-account-storage-policy-default-pla$ ement-bytes-used': '0', u'x-account-object-count': '0', u'connection': 'close', u'x-timestamp': '1592828162.54866', u'x-account-bytes-used-actual': '0', u'x-account-storage-policy-default-placement-container-count': '7', u'content-type': 'text/plain; charset=utf-8'} Body: tempest-TestContainer-1704152638 tempest-a--1597572204 tempest-b--483381724 tempest-c--1400033726 tempest-d--1963614177 tempest-e--490315381 tempest-f--426506549 [2] Jun 22 12:15:58 atl1-stage-ceph015-ssd journal: 2020-06-22 12:15:58.367841 7fd505b99700 2 req 77:0.753169:swift:PUT /swift/v1/6486a7f230cc4c5cab96447c7bb112a7/tempest-a--1597572204:create_bucket:completing Jun 22 12:15:58 atl1-stage-ceph015-ssd journal: 2020-06-22 12:15:58.367914 7fd505b99700 2 req 77:0.753240:swift:PUT /swift/v1/6486a7f230cc4c5cab96447c7bb112a7/tempest-a--1597572204:create_bucket:op status=1900 Jun 22 12:15:58 atl1-stage-ceph015-ssd journal: 2020-06-22 12:15:58.367936 7fd505b99700 2 req 77:0.753264:swift:PUT /swift/v1/6486a7f230cc4c5cab96447c7bb112a7/tempest-a--1597572204:create_bucket:http status=201
It seems like when Ceph is being used the Accept-Ranges header is not sent in the response. The Accept-Ranges header is not required according to RFC [1], therefore it is probably possible to remove checking whether it is contained in the response from the test. Also, in the Swift API documentation it is not stated that the response has to contain Accept-Ranges header [2]. [1] https://tools.ietf.org/html/rfc7233#section-2.3 [2] https://docs.openstack.org/api-ref/object-store/?expanded=show-account-details-and-list-containers-detail
@Martin, can you provide us with the upstream Bz details for tracking purpose, please?
there is a link in the attachments pointing to the upstream bug - https://bugs.launchpad.net/bugs/1885723 Or do you need something else?
Thank you Martin
The fix for this issue is part of the Fixed in version package which is currently available via latest symlink in RHOS-13 repositories .. therefore I'm gonna mark this as VERIFIED.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Red Hat OpenStack Platform 13 bug fix and enhancement advisory), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:4387