-
Notifications
You must be signed in to change notification settings - Fork 398
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[PR #1077/4f989bdd backport][stable-2] s3_lifecycle: support value '0' for transition_days #1082
Merged
softwarefactory-project-zuul
merged 1 commit into
stable-2
from
patchback/backports/stable-2/4f989bdd5578373f97ce31008f50a15c825af5ef/pr-1077
Apr 21, 2022
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
s3_lifecycle: support value '0' for transition_days SUMMARY s3_lifecycle module does not support value 0 for transition_days parameter. ISSUE TYPE Bugfix Pull Request COMPONENT NAME s3_lifecycle ADDITIONAL INFORMATION A lifecycle rule with 0 as transition_days allows to create a rule that will move objects with a delta of just few hours (if set to 1, objects will be moved with a delta of 1d + few hours). When the value 0 is set, the value is stripped from the query and we get an error that is hard to correlate with an "invalid" value on this parameter (which is valid as 0 is an integer): - name: Create s3 buckets lifecycle rules s3_lifecycle: ec2_url: "FIXME" region: "FIXME" aws_access_key: "FIXME" aws_secret_key: "FIXME" name: "FIXME" rule_id: "onezone" transitions: - transition_days: 0 storage_class: "ONEZONE_IA" state: present status: enabled fatal: [localhost]: FAILED! => { "boto3_version": "1.21.3", "botocore_version": "1.24.19", "changed": false, "error": { "code": "MalformedXML", "message": "Extra element Transition in interleave" }, "lifecycle_configuration": { "Rules": [ { "Filter": { "Prefix": "" }, "ID": "onezone", "Status": "Enabled", "Transitions": [ { "StorageClass": "ONEZONE_IA" } ] } ] }, ... MSG: An error occurred (MalformedXML) when calling the PutBucketLifecycleConfiguration operation: Extra element Transition in interleave This is because transition.get('transition_days') returns 0 which is considered as False on a condition (this patch just check if the value is defined; e.g. is not None). Reviewed-by: Mark Chappell <None> Reviewed-by: Markus Bergholz <[email protected]> (cherry picked from commit 4f989bd)
ansibullbot
added
bug
This issue/PR relates to a bug
community_review
integration
tests/integration
module
module
needs_triage
new_contributor
Help guide this first time contributor
plugins
plugin (any type)
tests
tests
labels
Apr 20, 2022
markuman
approved these changes
Apr 21, 2022
softwarefactory-project-zuul
bot
deleted the
patchback/backports/stable-2/4f989bdd5578373f97ce31008f50a15c825af5ef/pr-1077
branch
April 21, 2022 19:32
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
bug
This issue/PR relates to a bug
community_review
integration
tests/integration
mergeit
Merge the PR (SoftwareFactory)
module
module
new_contributor
Help guide this first time contributor
plugins
plugin (any type)
tests
tests
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a backport of PR #1077 as merged into main (4f989bd).
SUMMARY
s3_lifecycle
module does not support value 0 for transition_days parameter.ISSUE TYPE
COMPONENT NAME
s3_lifecycle
ADDITIONAL INFORMATION
A lifecycle rule with 0 as transition_days allows to create a rule that will move objects with a delta of just few hours (if set to 1, objects will be moved with a delta of 1d + few hours).
When the value 0 is set, the value is stripped from the query and we get an error that is hard to correlate with an "invalid" value on this parameter (which is valid as 0 is an integer):
This is because
transition.get('transition_days')
returns 0 which is considered as False on a condition (this patch just check if the value is defined; e.g. is not None).