Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1852271

Summary: Tempest object storage test failed
Product: Red Hat OpenStack Reporter: rohit londhe <rlondhe>
Component: openstack-tempestAssignee: Lukas Piwowarski <lpiwowar>
Status: CLOSED ERRATA QA Contact: Martin Kopec <mkopec>
Severity: high Docs Contact:
Priority: high    
Version: 13.0 (Queens)CC: apevec, gsitlani, lhh, lpiwowar, mkopec, slinaber, udesale
Target Milestone: z13Keywords: Triaged, ZStream
Target Release: 13.0 (Queens)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-tempest-18.0.0-17.el7ost Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of:
: 1859701 (view as bug list) Environment:
Last Closed: 2020-10-28 18:26:58 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1859701    

Description rohit londhe 2020-06-30 01:32:16 UTC
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  ?

Comment 1 rohit londhe 2020-06-30 01:34:15 UTC
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

Comment 6 Lukas Piwowarski 2020-06-30 11:49:00 UTC
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

Comment 11 rohit londhe 2020-07-17 08:22:22 UTC
@Martin, can you provide us with the upstream Bz details for tracking purpose, please?

Comment 12 Martin Kopec 2020-07-22 14:13:29 UTC
there is a link in the attachments pointing to the upstream bug - https://bugs.launchpad.net/bugs/1885723

Or do you need something else?

Comment 13 rohit londhe 2020-07-23 03:49:23 UTC
Thank you Martin

Comment 22 Martin Kopec 2020-09-30 14:32:19 UTC
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.

Comment 27 errata-xmlrpc 2020-10-28 18:26:58 UTC
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