.Lifecycle rules with multiple tag filters are no longer rejected
Due to a bug in lifecycle rule processing, an attempt to install the lifecycle rules with multiple tag filters was rejected and the `InvalidRequest` error message was returned. With this update, other rule forms are used, and lifecycle rules with multiple tag filters are no longer rejected.
Created attachment 1509748[details]
test_lc_xml_doesnt_work
* Description of problem:
When creating and uploading a lifecycle configuration which has 2 rules with tags for objects and using "Filter" option; it doesn't work.
In such cases when using setlifecycle command, it gives "S3 error: 400 (InvalidRequest)".
* Version-Release number of selected component (if applicable):
3.1
* How reproducible:
Always
* Steps to Reproduce:
- Download the script attached "test_lc_xml_doesnt_work"
- Create a bucket
- Use s3cmd to set the lc policy
# s3cmd setlifecycle test_lc_xml_doesnt_work s3://bucket-name
Actual results:
# s3cmd setlifecycle test_lc_xml_doesnt_work s3://lctest
ERROR: S3 error: 400 (InvalidRequest)
Expected results:
# s3cmd setlifecycle test_lc_xml_doesnt_work s3://lctest
s3://lctest/: Policy updated.
Additional info:
For the same configuration, if we use "Prefix" option instead of "Filter" it works.
I have also attached the rgw log with debug level 20.
----
# date
Thu Nov 29 13:10:59 IST 2018
# s3cmd setlifecycle test_lc_xml_doesnt_work s3://lctest
ERROR: S3 error: 400 (InvalidRequest)
------
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/RHBA-2019:0475
Comment 69Red Hat Bugzilla
2023-09-14 04:43:01 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days
Created attachment 1509748 [details] test_lc_xml_doesnt_work * Description of problem: When creating and uploading a lifecycle configuration which has 2 rules with tags for objects and using "Filter" option; it doesn't work. In such cases when using setlifecycle command, it gives "S3 error: 400 (InvalidRequest)". * Version-Release number of selected component (if applicable): 3.1 * How reproducible: Always * Steps to Reproduce: - Download the script attached "test_lc_xml_doesnt_work" - Create a bucket - Use s3cmd to set the lc policy # s3cmd setlifecycle test_lc_xml_doesnt_work s3://bucket-name Actual results: # s3cmd setlifecycle test_lc_xml_doesnt_work s3://lctest ERROR: S3 error: 400 (InvalidRequest) Expected results: # s3cmd setlifecycle test_lc_xml_doesnt_work s3://lctest s3://lctest/: Policy updated. Additional info: For the same configuration, if we use "Prefix" option instead of "Filter" it works.