Bug 1852271 - Tempest object storage test failed
Summary: Tempest object storage test failed
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tempest
Version: 13.0 (Queens)
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: z13
: 13.0 (Queens)
Assignee: Lukas Piwowarski
QA Contact: Martin Kopec
URL:
Whiteboard:
Depends On:
Blocks: 1859701
TreeView+ depends on / blocked
 
Reported: 2020-06-30 01:32 UTC by rohit londhe
Modified: 2023-12-15 18:23 UTC (History)
7 users (show)

Fixed In Version: openstack-tempest-18.0.0-17.el7ost
Doc Type: No Doc Update
Doc Text:
Clone Of:
: 1859701 (view as bug list)
Environment:
Last Closed: 2020-10-28 18:26:58 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Launchpad 1885723 0 None None None 2020-06-30 13:09:23 UTC
OpenStack gerrit 738629 0 None MERGED Remove checking of Accept-Range header 2021-01-18 14:11:44 UTC
Red Hat Issue Tracker OSP-30835 0 None None None 2023-12-15 18:23:26 UTC
Red Hat Product Errata RHBA-2020:4387 0 None None None 2020-10-28 18:27:16 UTC

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


Note You need to log in before you can comment on or make changes to this bug.