Bug 1493476 - [ rgw ]: Enabling Lifecycle on a bucket, for expiration day=0, getting XML error
Summary: [ rgw ]: Enabling Lifecycle on a bucket, for expiration day=0, getting XML ...
Status: ASSIGNED
Alias: None
Product: Red Hat Ceph Storage
Classification: Red Hat
Component: RGW
Version: 3.0
Hardware: Unspecified
OS: Unspecified
medium
low
Target Milestone: z1
: 4.0
Assignee: Matt Benjamin (redhat)
QA Contact: ceph-qe-bugs
Bara Ancincova
URL:
Whiteboard:
Keywords:
Depends On:
Blocks: 1494421
TreeView+ depends on / blocked
 
Reported: 2017-09-20 09:48 UTC by Shreekar
Modified: 2019-06-13 02:27 UTC (History)
9 users (show)

(edit)
.The `Expiration, Days` S3 Lifecycle parameter cannot be set to `0`

The Ceph Object Gateway does not accept the value of `0` for the `Expiration, Days` Lifecycle configuration parameter. Consequently, setting the expiration to `0` cannot be used to trigger background delete operation of objects.

To work around this problem, delete objects directly.
Clone Of:
(edit)
Last Closed:


Attachments (Terms of Use)
Test case which sets expiration of 0 day (1.19 KB, text/plain)
2017-09-20 11:46 UTC, Shreekar
no flags Details

Description Shreekar 2017-09-20 09:48:11 UTC
Description of problem:
Enable lifecycle on a bucket and set the number of days to 0, which expires objects immediately. It returned XML error instead of deleting objects.

Version-Release number of selected component (if applicable):
Ceph 3.0 

How reproducible:
Always

Steps to Reproduce:
1.Set up a ceph 3.0 cluster.
2.Enable lifecycle on a bucket.
3.Set expiration for objects to 0 day(s).
4.Objects  will get deleted immediately.

Actual results:

[root@magna118 ~]# python tc11198.py 
log/0ABC.txt
Traceback (most recent call last):
  File "tc11198.py", line 38, in <module>
    mybucket.configure_lifecycle(lifecycle)
  File "/usr/lib/python2.7/site-packages/boto-2.48.0-py2.7.egg/boto/s3/bucket.py", line 1366, in configure_lifecycle
    response.status, response.reason, body)
boto.exception.S3ResponseError: S3ResponseError: 400 Bad Request
<?xml version="1.0" encoding="UTF-8"?><Error><Code>InvalidArgument</Code><BucketName>redhat</BucketName><RequestId>tx0000000000000000001f7-0059bb820b-1077-default</RequestId><HostId>1077-default-default</HostId></Error>


Expected results:
Objects will expire immediately.


Additional info:
Test case: CEPH 11198 Specify the number of days in lifecycle rule to 0

Comment 3 Shreekar 2017-09-20 11:46 UTC
Created attachment 1328402 [details]
Test case which sets expiration of 0 day


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