You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When I try to upload a bucket policy to Hetzner Object Storage (Ceph), it fails due to GetBucketRequestPayment not being implemented. The module documentation states it should not fail when requester_pays is set to false, but this also doesn't seem to work for me. Am I missing something?
ansible-playbook [core 2.18.1] config file = None configured module search path = ['/Users/simon/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /opt/homebrew/Cellar/ansible/11.1.0_1/libexec/lib/python3.13/site-packages/ansible ansible collection location = /Users/simon/.ansible/collections:/usr/share/ansible/collections executable location = /opt/homebrew/bin/ansible-playbook python version = 3.13.1 (main, Dec 3 2024, 17:59:52) [Clang 16.0.0 (clang-1600.0.26.4)] (/opt/homebrew/Cellar/ansible/11.1.0_1/libexec/bin/python) jinja version = 3.1.5 libyaml = TrueNo config file found; using defaultshost_list declined parsing /etc/ansible/hosts as it did not pass its verify_file() methodSkipping due to inventory source not existing or not being readable by the current userscript declined parsing /etc/ansible/hosts as it did not pass its verify_file() methodauto declined parsing /etc/ansible/hosts as it did not pass its verify_file() methodSkipping due to inventory source not existing or not being readable by the current useryaml declined parsing /etc/ansible/hosts as it did not pass its verify_file() methodSkipping due to inventory source not existing or not being readable by the current userini declined parsing /etc/ansible/hosts as it did not pass its verify_file() methodSkipping due to inventory source not existing or not being readable by the current usertoml declined parsing /etc/ansible/hosts as it did not pass its verify_file() methodSkipping callback 'default', as we already have a stdout callback.Skipping callback 'minimal', as we already have a stdout callback.Skipping callback 'oneline', as we already have a stdout callback.PLAYBOOK: s3.yaml **************************************************************1 plays in s3.yamlPLAY [s3] **********************************************************************TASK [amazon.aws.s3_bucket] ****************************************************task path: /Users/simon/Desktop/ansible/s3.yaml:6<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: simon<127.0.0.1> EXEC /bin/sh -c 'echo ~simon && sleep 0'<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /Users/simon/.ansible/tmp `"&& mkdir "` echo /Users/simon/.ansible/tmp/ansible-tmp-1736430222.468454-36778-102655395157911 `" && echo ansible-tmp-1736430222.468454-36778-102655395157911="` echo /Users/simon/.ansible/tmp/ansible-tmp-1736430222.468454-36778-102655395157911 `" ) && sleep 0'Using module file /Users/simon/.ansible/collections/ansible_collections/amazon/aws/plugins/modules/s3_bucket.py<127.0.0.1> PUT /Users/simon/.ansible/tmp/ansible-local-36774dk50z9fy/tmpha6ndb0t TO /Users/simon/.ansible/tmp/ansible-tmp-1736430222.468454-36778-102655395157911/AnsiballZ_s3_bucket.py<127.0.0.1> EXEC /bin/sh -c 'chmod u+x /Users/simon/.ansible/tmp/ansible-tmp-1736430222.468454-36778-102655395157911/ /Users/simon/.ansible/tmp/ansible-tmp-1736430222.468454-36778-102655395157911/AnsiballZ_s3_bucket.py && sleep 0'<127.0.0.1> EXEC /bin/sh -c '/opt/homebrew/Cellar/ansible/11.1.0_1/libexec/bin/python /Users/simon/.ansible/tmp/ansible-tmp-1736430222.468454-36778-102655395157911/AnsiballZ_s3_bucket.py && sleep 0'<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /Users/simon/.ansible/tmp/ansible-tmp-1736430222.468454-36778-102655395157911/ > /dev/null 2>&1 && sleep 0'The full traceback is:Traceback (most recent call last): File "/var/folders/68/c0sn4zgx5nqdyy8ll80850cm0000gn/T/ansible_amazon.aws.s3_bucket_payload_3ozacv4t/ansible_amazon.aws.s3_bucket_payload.zip/ansible_collections/amazon/aws/plugins/modules/s3_bucket.py", line 643, in handle_bucket_requester_pays requester_pays_status = get_bucket_request_payment(s3_client, name) File "/var/folders/68/c0sn4zgx5nqdyy8ll80850cm0000gn/T/ansible_amazon.aws.s3_bucket_payload_3ozacv4t/ansible_amazon.aws.s3_bucket_payload.zip/ansible_collections/amazon/aws/plugins/module_utils/cloud.py", line 119, in _retry_wrapper return _retry_func( func=partial_func, ...<5 lines>... base_class=cls.base_class, ) File "/var/folders/68/c0sn4zgx5nqdyy8ll80850cm0000gn/T/ansible_amazon.aws.s3_bucket_payload_3ozacv4t/ansible_amazon.aws.s3_bucket_payload.zip/ansible_collections/amazon/aws/plugins/module_utils/cloud.py", line 68, in _retry_func return func() File "/var/folders/68/c0sn4zgx5nqdyy8ll80850cm0000gn/T/ansible_amazon.aws.s3_bucket_payload_3ozacv4t/ansible_amazon.aws.s3_bucket_payload.zip/ansible_collections/amazon/aws/plugins/modules/s3_bucket.py", line 1565, in get_bucket_request_payment return s3_client.get_bucket_request_payment(Bucket=bucket_name).get("Payer") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/var/folders/68/c0sn4zgx5nqdyy8ll80850cm0000gn/T/ansible_amazon.aws.s3_bucket_payload_3ozacv4t/ansible_amazon.aws.s3_bucket_payload.zip/ansible_collections/amazon/aws/plugins/module_utils/retries.py", line 107, in deciding_wrapper return unwrapped(*args, **kwargs) File "/opt/homebrew/Cellar/ansible/11.1.0_1/libexec/lib/python3.13/site-packages/botocore/client.py", line 569, in _api_call return self._make_api_call(operation_name, kwargs) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/ansible/11.1.0_1/libexec/lib/python3.13/site-packages/botocore/client.py", line 1023, in _make_api_call raise error_class(parsed_response, operation_name)botocore.exceptions.ClientError: An error occurred (501) when calling the GetBucketRequestPayment operation: Not Implementedfatal: [localhost]: FAILED! => { "boto3_version": "1.35.87", "botocore_version": "1.35.87", "changed": false, "error": { "code": "501", "message": "Not Implemented" }, "invocation": { "module_args": { "accelerate_enabled": null, "access_key": "<REMOVED>", "acl": null, "aws_access_key": "<REMOVED>", "aws_ca_bundle": null, "aws_config": null, "aws_secret_key": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "bucket_key_enabled": null, "ceph": true, "debug_botocore_endpoint_logs": true, "delete_object_ownership": false, "delete_public_access": false, "dualstack": false, "encryption": null, "encryption_key_id": null, "endpoint_url": "https://fsn1.your-objectstorage.com", "force": false, "inventory": null, "name": "<REMOVED>", "object_lock_default_retention": null, "object_lock_enabled": null, "object_ownership": null, "policy": "<anything>", "profile": null, "public_access": null, "purge_tags": true, "region": "fsn1", "requester_pays": false, "secret_key": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "session_token": null, "state": "present", "tags": null, "validate_bucket_name": true, "validate_certs": true, "versioning": null } }, "msg": "Failed to get bucket request payment: An error occurred (501) when calling the GetBucketRequestPayment operation: Not Implemented", "resource_actions": [ "fsn1:GetBucketRequestPayment", "fsn1:HeadBucket", "fsn1:GetBucketVersioning" ], "response_metadata": { "http_headers": { "cache-control": "no-cache", "content-length": "136", "content-type": "text/html" }, "http_status_code": 501, "retry_attempts": 0 }}PLAY RECAP *********************************************************************localhost : ok=0 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
Code of Conduct
I agree to follow the Ansible Code of Conduct
The text was updated successfully, but these errors were encountered:
Summary
When I try to upload a bucket policy to Hetzner Object Storage (Ceph), it fails due to
GetBucketRequestPayment
not being implemented. The module documentation states it should not fail whenrequester_pays
is set tofalse
, but this also doesn't seem to work for me. Am I missing something?Issue Type
Bug Report
Component Name
s3_bucket
Ansible Version
Collection Versions
AWS SDK versions
Configuration
OS / Environment
MacOS 15.2 (arm64)
Steps to Reproduce
Expected Results
The playbook should be applied successfully
Actual Results
Code of Conduct
The text was updated successfully, but these errors were encountered: