Bug 1670227
| Summary: | RGW - Tempest test: test_object_version.ContainerTest.test_versioned_container fails with 412 PreconditionFailed | |||
|---|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | David Paterson <david_paterson> | |
| Component: | openstack-tripleo-heat-templates | Assignee: | Giulio Fidente <gfidente> | |
| Status: | CLOSED ERRATA | QA Contact: | Eliad Cohen <elicohen> | |
| Severity: | low | Docs Contact: | ||
| Priority: | low | |||
| Version: | 13.0 (Queens) | CC: | arkady_kanevsky, cdevine, chadd, christopher_dearborn, cschwede, dang, david_paterson, dcain, elicohen, gael_rehault, gfidente, jdurgin, kurt_hey, lhh, mbenjamin, mburns, morazi, nweinber, rajini.karthik | |
| Target Milestone: | beta | Keywords: | Reopened, Triaged | |
| Target Release: | 15.0 (Stein) | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | openstack-tripleo-heat-templates-10.5.1-0.20190701110422.889d4d4.el8ost | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 1807772 (view as bug list) | Environment: | ||
| Last Closed: | 2019-09-21 11:19:59 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: | 1807772 | |||
|
Description
David Paterson
2019-01-29 00:06:15 UTC
From the logs, it looks like fetching an auth token from the Identity Service is failing with error 201: 201 POST http://100.82.36.190:5000/v3/auth/tokens Can you please check if Keystone is responding to auth token requests, using the username and password that is there in the identity section of tempest config using: curl -i -H "Content-Type: application/json" -d '{ "auth": {"identity": {"methods": ["password"],"password": {"user": {"name": "demo","domain": { "id": "demo" },"password": "secrete"}}}}}' "http://100.82.36.190:5000/v3/auth/tokens" ; echo So I figured out that since this is a object versioning test, we need to have that enabled in rgw using the following config: rgw swift versioning enabled = true Else, the test fails with the same error for me. (In reply to Pritha Srivastava from comment #6) > So I figured out that since this is a object versioning test, we need to > have that enabled in rgw using the following config: > > rgw swift versioning enabled = true > > Else, the test fails with the same error for me. Great work, Pritha. It sounds as if, with confirmation, this issue is NotABug. At the same time, might it make sense to make rgw_swift_versioning_enabled default to true in the configuration? Matt Pritha is correct, having versioning enabled dosen't do anything unless X-Versions-Location is provided. However, if that *is* provided, and versioning is disabled, we return ERR_PRECONDITION_FAILED, so clients may use that to probe for version support. If so, then defaulting it to on will have those clients suddenly start using it. I don't have a strong opinion either way, but it generally seems like a useful feature. On the other hand, it seems (it's hard to tell from the docs) to be off by default in OpenStack, so maybe it should be off by default in RGW as well. Off by default in OpenStack seems to argue for leaving it alone? @david, can you post an update here when you've had a chance to retest, and with your preference for rgw default enablement of versioning (currently off)? thanks! Matt Yup that seems to work, rgw_swift_versioning_enabled appears to be false by default. From: http://docs.ceph.com/docs/jewel/radosgw/config-ref/ rgw swift versioning enabled Description: Enables the Object Versioning of OpenStack Object Storage API. This allows clients to put the X-Versions-Location attribute on containers that should be versioned. The attribute specifies the name of container storing archived versions. It must be owned by the same user that the versioned container due to access control verification - ACLs are NOT taken into consideration. Those containers cannot be versioned by the S3 object versioning mechanism. Type: Boolean Default: false -------------------------------------- I changed it to true on each controller in /etc/ceph/ceph.conf and restarted the rgw service and the test now passes. ceph.conf --------- rgw_swift_versioning_enabled = true restart service --------------- sudo systemctl restart ceph-radosgw.service 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, 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/RHEA-2019:2811 |