Project

General

Profile

Actions

Bug #47655

open

AWS put-bucket-lifecycle command fails on the latest minor Octopus release

Added by Niko Smeds over 3 years ago. Updated over 3 years ago.

Status:
Triaged
Priority:
Normal
Assignee:
-
Target version:
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
ceph-ansible
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

We are rebuilding some servers, and reinstalling Ceph using ceph-ansible also updated a RADOS gateway to Octopus version 15.2.5. The other gateways are running v15.2.4 and v15.2.2.

Since that update, requests to `put-bucket-lifecycle` which are received by the v15.2.5 backend fail:

```
$ cat lifecycle.json {
"Rules": [ {
"Expiration": {
"Days": 7
},
"Prefix": "",
"Status": "Enabled"
}
]
}
$ aws s3api --endpoint-url=https://REDACTED put-bucket-lifecycle --bucket bucketname --lifecycle-configuration file://lifecycle.json

An error occurred (InvalidArgument) when calling the PutBucketLifecycle operation: Unknown
```

In the RGW logs we see

```
root@REDACTED:/var/log/ceph# tail -f ceph-rgw-REDACTED.rgw0.log
2020-09-25T22:26:04.692+0200 7f7e767ec700 1 ====== starting new request req=0x7f7f7469f680 =====
2020-09-25T22:26:04.704+0200 7f7e767ec700 0 RGWLC::RGWPutLC() failed to set entry on lc.6, ret=-22
2020-09-25T22:26:04.708+0200 7f7e767ec700 1 ====== req done req=0x7f7f7469f680 op status=-22 http_status=400 latency=0.016000314s ======
2020-09-25T22:26:04.708+0200 7f7e767ec700 1 beast: 0x7f7f7469f680: 10.206.10.2 - - [2020-09-25T22:26:04.708887+0200] "PUT /bucketname?lifecycle HTTP/1.1" 400 240 - "aws-cli/2.0.38 Python/3.8.5 Darwin/19.2.0 source/x86_64 command/s3api.put-bucket-lifecycle" -
```

The same request succeeds on the older versions.

This is causing issues with some of our Ansible playbooks which use the `s3_lifecycle` module.

I reviewed https://docs.ceph.com/en/latest/releases/octopus/ and found two changes which touch the LC (lifecycle) codebase:

- https://github.com/ceph/ceph/pull/36085
- https://github.com/ceph/ceph/pull/36018

I have minimal C coding experience - could either of these be responsible?

Actions

Also available in: Atom PDF