yoga verification: ceph-mon: $ dpkg -l | grep ceph ii ceph 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 distributed storage and file system ii ceph-base 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 common ceph daemon libraries and management tools ii ceph-common 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 common utilities to mount and interact with a ceph storage cluster ii ceph-mds 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 metadata server for the ceph distributed file system ii ceph-mgr 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 manager for the ceph distributed file system ii ceph-mgr-modules-core 17.2.9-0ubuntu0.22.04.3~cloud0 all ceph manager modules which are always enabled ii ceph-mon 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 monitor server for the ceph storage system ii ceph-osd 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 OSD server for the ceph storage system ii ceph-volume 17.2.9-0ubuntu0.22.04.3~cloud0 all tool to facilidate OSD deployment ii libcephfs2 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 Ceph distributed file system client library ii libsqlite3-mod-ceph 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 SQLite3 VFS for Ceph ii python3-ceph-argparse 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 Python 3 utility libraries for Ceph CLI ii python3-ceph-common 17.2.9-0ubuntu0.22.04.3~cloud0 all Python 3 utility libraries for Ceph ii python3-cephfs 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 Python 3 libraries for the Ceph libcephfs library
ceph-rgw: $ dpkg -l | grep ceph ii ceph-common 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 common utilities to mount and interact with a ceph storage cluster ii libcephfs2 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 Ceph distributed file system client library ii python3-ceph-argparse 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 Python 3 utility libraries for Ceph CLI ii python3-ceph-common 17.2.9-0ubuntu0.22.04.3~cloud0 all Python 3 utility libraries for Ceph ii python3-cephfs 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 Python 3 libraries for the Ceph libcephfs library ceph-osd: $ dpkg -l | grep ceph ii ceph 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 distributed storage and file system ii ceph-base 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 common ceph daemon libraries and management tools ii ceph-common 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 common utilities to mount and interact with a ceph storage cluster ii ceph-mds 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 metadata server for the ceph distributed file system ii ceph-mgr 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 manager for the ceph distributed file system ii ceph-mgr-modules-core 17.2.9-0ubuntu0.22.04.3~cloud0 all ceph manager modules which are always enabled ii ceph-mon 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 monitor server for the ceph storage system ii ceph-osd 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 OSD server for the ceph storage system ii ceph-volume 17.2.9-0ubuntu0.22.04.3~cloud0 all tool to facilidate OSD deployment ii libcephfs2 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 Ceph distributed file system client library ii libsqlite3-mod-ceph 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 SQLite3 VFS for Ceph ii python3-ceph-argparse 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 Python 3 utility libraries for Ceph CLI ii python3-ceph-common 17.2.9-0ubuntu0.22.04.3~cloud0 all Python 3 utility libraries for Ceph ii python3-cephfs 17.2.9-0ubuntu0.22.04.3~cloud0 amd64 Python 3 libraries for the Ceph libcephfs library 2. Upload a 10MB test file: $ ls -lah test.txt -rw-rw-r-- 1 ubuntu ubuntu 10M Jun 25 11:05 test.txt $ aws s3 --profile ceph --endpoint-url http://10.159.7.97 cp ./test.txt s3://my-test-bucket/ --debug 2026-06-25 11:11:01,077 - MainThread - awscli.clidriver - DEBUG - CLI version: aws-cli/1.18.69 Python/3.8.10 Linux/5.4.0-216-generic botocore/1.16.19 2026-06-25 11:11:01,077 - MainThread - awscli.clidriver - DEBUG - Arguments entered to CLI: ['s3', '--profile', 'ceph', '--endpoint-url', 'http://10.159.7.97', 'cp', './test.txt', 's3://my-test-bucket/', '--debug'] 2026-06-25 11:11:01,078 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function add_scalar_parsers at 0x7f7383731040> 2026-06-25 11:11:01,078 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function register_uri_param_handler at 0x7f7383bb8b80> 2026-06-25 11:11:01,078 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function inject_assume_role_provider_cache at 0x7f7383b968b0> 2026-06-25 11:11:01,079 - MainThread - botocore.credentials - DEBUG - Skipping environment variable credential check because profile name was explicitly set. 2026-06-25 11:11:01,079 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function attach_history_handler at 0x7f7383874790> 2026-06-25 11:11:01,079 - MainThread - botocore.hooks - DEBUG - Event building-command-table.s3: calling handler <function add_waiters at 0x7f73836b9940> 2026-06-25 11:11:01,079 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.s3.anonymous: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,079 - MainThread - botocore.hooks - DEBUG - Event building-command-table.cp: calling handler <function add_waiters at 0x7f73836b9940> 2026-06-25 11:11:01,080 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.paths: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,080 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.dryrun: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,081 - MainThread - botocore.hooks - DEBUG - Event process-cli-arg.custom.cp: calling handler <awscli.argprocess.ParamShorthandParser object at 0x7f7383bdd220> 2026-06-25 11:11:01,081 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.quiet: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,081 - MainThread - botocore.hooks - DEBUG - Event process-cli-arg.custom.cp: calling handler <awscli.argprocess.ParamShorthandParser object at 0x7f7383bdd220> 2026-06-25 11:11:01,081 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.anonymous: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,081 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.acl: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,081 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.follow-symlinks: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,081 - MainThread - botocore.hooks - DEBUG - Event process-cli-arg.custom.cp: calling handler <awscli.argprocess.ParamShorthandParser object at 0x7f7383bdd220> 2026-06-25 11:11:01,081 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.anonymous: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,081 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.sse: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,082 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.sse-c: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,082 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.sse-c-key: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,082 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.sse-kms-key-id: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,082 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.sse-c-copy-source: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,082 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.sse-c-copy-source-key: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,082 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.storage-class: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,082 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.grants: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,082 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.website-redirect: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,082 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.content-type: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,082 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.cache-control: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,083 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.content-disposition: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,083 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.content-encoding: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,083 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.content-language: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,083 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.expires: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,083 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.source-region: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,083 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.only-show-errors: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,083 - MainThread - botocore.hooks - DEBUG - Event process-cli-arg.custom.cp: calling handler <awscli.argprocess.ParamShorthandParser object at 0x7f7383bdd220> 2026-06-25 11:11:01,083 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.anonymous: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,083 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.page-size: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,083 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.ignore-glacier-warnings: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,084 - MainThread - botocore.hooks - DEBUG - Event process-cli-arg.custom.cp: calling handler <awscli.argprocess.ParamShorthandParser object at 0x7f7383bdd220> 2026-06-25 11:11:01,084 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.force-glacier-transfer: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,084 - MainThread - botocore.hooks - DEBUG - Event process-cli-arg.custom.cp: calling handler <awscli.argprocess.ParamShorthandParser object at 0x7f7383bdd220> 2026-06-25 11:11:01,084 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.request-payer: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,084 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.metadata: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,084 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.metadata-directive: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,084 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.expected-size: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,084 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.custom.cp.anonymous: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7f7383673970> 2026-06-25 11:11:01,084 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: assume-role 2026-06-25 11:11:01,084 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: assume-role-with-web-identity 2026-06-25 11:11:01,084 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: shared-credentials-file 2026-06-25 11:11:01,085 - MainThread - botocore.credentials - INFO - Found credentials in shared credentials file: ~/.aws/credentials 2026-06-25 11:11:01,085 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /usr/lib/python3/dist-packages/botocore/data/endpoints.json 2026-06-25 11:11:01,088 - MainThread - botocore.hooks - DEBUG - Event choose-service-name: calling handler <function handle_service_name_alias at 0x7f73840850d0> 2026-06-25 11:11:01,088 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /usr/lib/python3/dist-packages/botocore/data/s3/2006-03-01/service-2.json 2026-06-25 11:11:01,093 - MainThread - botocore.hooks - DEBUG - Event creating-client-class.s3: calling handler <function add_generate_presigned_post at 0x7f73840c4c10> 2026-06-25 11:11:01,093 - MainThread - botocore.hooks - DEBUG - Event creating-client-class.s3: calling handler <function add_generate_presigned_url at 0x7f73840c49d0> 2026-06-25 11:11:01,094 - MainThread - botocore.regions - DEBUG - Creating a regex based endpoint for s3, US 2026-06-25 11:11:01,096 - MainThread - botocore.endpoint - DEBUG - Setting s3 timeout as (60, 60) 2026-06-25 11:11:01,096 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /usr/lib/python3/dist-packages/botocore/data/_retry.json 2026-06-25 11:11:01,096 - MainThread - botocore.client - DEBUG - Registering retry handlers for service: s3 2026-06-25 11:11:01,097 - MainThread - botocore.hooks - DEBUG - Event choose-service-name: calling handler <function handle_service_name_alias at 0x7f73840850d0> 2026-06-25 11:11:01,098 - MainThread - botocore.hooks - DEBUG - Event creating-client-class.s3: calling handler <function add_generate_presigned_post at 0x7f73840c4c10> 2026-06-25 11:11:01,098 - MainThread - botocore.hooks - DEBUG - Event creating-client-class.s3: calling handler <function add_generate_presigned_url at 0x7f73840c49d0> 2026-06-25 11:11:01,098 - MainThread - botocore.regions - DEBUG - Creating a regex based endpoint for s3, US 2026-06-25 11:11:01,099 - MainThread - botocore.endpoint - DEBUG - Setting s3 timeout as (60, 60) 2026-06-25 11:11:01,099 - MainThread - botocore.client - DEBUG - Registering retry handlers for service: s3 2026-06-25 11:11:01,100 - MainThread - botocore.hooks - DEBUG - Event choose-service-name: calling handler <function handle_service_name_alias at 0x7f73840850d0> 2026-06-25 11:11:01,100 - MainThread - botocore.hooks - DEBUG - Event creating-client-class.s3: calling handler <function add_generate_presigned_post at 0x7f73840c4c10> 2026-06-25 11:11:01,101 - MainThread - botocore.hooks - DEBUG - Event creating-client-class.s3: calling handler <function add_generate_presigned_url at 0x7f73840c49d0> 2026-06-25 11:11:01,101 - MainThread - botocore.regions - DEBUG - Creating a regex based endpoint for s3, US 2026-06-25 11:11:01,102 - MainThread - botocore.endpoint - DEBUG - Setting s3 timeout as (60, 60) 2026-06-25 11:11:01,103 - MainThread - botocore.client - DEBUG - Registering retry handlers for service: s3 2026-06-25 11:11:01,103 - MainThread - awscli.customizations.s3.s3handler - DEBUG - Using a multipart threshold of 8388608 and a part size of 8388608 2026-06-25 11:11:01,104 - MainThread - s3transfer.utils - DEBUG - Acquiring 0 2026-06-25 11:11:01,104 - ThreadPoolExecutor-1_0 - s3transfer.tasks - DEBUG - UploadSubmissionTask(transfer_id=0, {'transfer_future': <s3transfer.futures.TransferFuture object at 0x7f7383334fa0>}) about to wait for the following futures [] 2026-06-25 11:11:01,104 - ThreadPoolExecutor-1_0 - s3transfer.tasks - DEBUG - UploadSubmissionTask(transfer_id=0, {'transfer_future': <s3transfer.futures.TransferFuture object at 0x7f7383334fa0>}) done waiting for dependent futures 2026-06-25 11:11:01,104 - ThreadPoolExecutor-1_0 - s3transfer.tasks - DEBUG - Executing task UploadSubmissionTask(transfer_id=0, {'transfer_future': <s3transfer.futures.TransferFuture object at 0x7f7383334fa0>}) with kwargs {'client': <botocore.client.S3 object at 0x7f738339a190>, 'config': <s3transfer.manager.TransferConfig object at 0x7f7383331580>, 'osutil': <s3transfer.utils.OSUtils object at 0x7f7383331610>, 'request_executor': <s3transfer.futures.BoundedExecutor object at 0x7f7383331850>, 'transfer_future': <s3transfer.futures.TransferFuture object at 0x7f7383334fa0>} 2026-06-25 11:11:01,106 - ThreadPoolExecutor-1_0 - s3transfer.futures - DEBUG - Submitting task CreateMultipartUploadTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'extra_args': {'ContentType': 'text/plain'}}) to executor <s3transfer.futures.BoundedExecutor object at 0x7f7383331850> for transfer request: 0. 2026-06-25 11:11:01,106 - ThreadPoolExecutor-1_0 - s3transfer.utils - DEBUG - Acquiring 0 2026-06-25 11:11:01,106 - ThreadPoolExecutor-0_0 - s3transfer.tasks - DEBUG - CreateMultipartUploadTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'extra_args': {'ContentType': 'text/plain'}}) about to wait for the following futures [] 2026-06-25 11:11:01,106 - ThreadPoolExecutor-1_0 - s3transfer.futures - DEBUG - Submitting task UploadPartTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'part_number': 1, 'extra_args': {}}) to executor <s3transfer.futures.BoundedExecutor object at 0x7f7383331850> for transfer request: 0. 2026-06-25 11:11:01,106 - ThreadPoolExecutor-1_0 - s3transfer.utils - DEBUG - Acquiring 0 2026-06-25 11:11:01,106 - ThreadPoolExecutor-0_0 - s3transfer.tasks - DEBUG - CreateMultipartUploadTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'extra_args': {'ContentType': 'text/plain'}}) done waiting for dependent futures 2026-06-25 11:11:01,106 - ThreadPoolExecutor-0_0 - s3transfer.tasks - DEBUG - Executing task CreateMultipartUploadTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'extra_args': {'ContentType': 'text/plain'}}) with kwargs {'client': <botocore.client.S3 object at 0x7f738339a190>, 'bucket': 'my-test-bucket', 'key': 'test.txt', 'extra_args': {'ContentType': 'text/plain'}} 2026-06-25 11:11:01,107 - ThreadPoolExecutor-0_0 - botocore.hooks - DEBUG - Event before-parameter-build.s3.CreateMultipartUpload: calling handler <function validate_ascii_metadata at 0x7f73840a4160> 2026-06-25 11:11:01,107 - ThreadPoolExecutor-0_0 - botocore.hooks - DEBUG - Event before-parameter-build.s3.CreateMultipartUpload: calling handler <function sse_md5 at 0x7f73840a3550> 2026-06-25 11:11:01,107 - ThreadPoolExecutor-0_0 - botocore.hooks - DEBUG - Event before-parameter-build.s3.CreateMultipartUpload: calling handler <function validate_bucket_name at 0x7f73840a34c0> 2026-06-25 11:11:01,107 - ThreadPoolExecutor-0_0 - botocore.hooks - DEBUG - Event before-parameter-build.s3.CreateMultipartUpload: calling handler <bound method S3RegionRedirector.redirect_from_cache of <botocore.utils.S3RegionRedirector object at 0x7f738339ae50>> 2026-06-25 11:11:01,107 - ThreadPoolExecutor-0_0 - botocore.hooks - DEBUG - Event before-parameter-build.s3.CreateMultipartUpload: calling handler <bound method S3ArnParamHandler.handle_arn of <botocore.utils.S3ArnParamHandler object at 0x7f738339af10>> 2026-06-25 11:11:01,107 - ThreadPoolExecutor-0_0 - botocore.hooks - DEBUG - Event before-parameter-build.s3.CreateMultipartUpload: calling handler <function generate_idempotent_uuid at 0x7f73840a30d0> 2026-06-25 11:11:01,107 - ThreadPoolExecutor-0_0 - botocore.hooks - DEBUG - Event before-call.s3.CreateMultipartUpload: calling handler <function add_expect_header at 0x7f73840a3820> 2026-06-25 11:11:01,107 - ThreadPoolExecutor-0_0 - botocore.hooks - DEBUG - Event before-call.s3.CreateMultipartUpload: calling handler <bound method S3RegionRedirector.set_request_url of <botocore.utils.S3RegionRedirector object at 0x7f738339ae50>> 2026-06-25 11:11:01,108 - ThreadPoolExecutor-0_0 - botocore.hooks - DEBUG - Event before-call.s3.CreateMultipartUpload: calling handler <function inject_api_version_header_if_needed at 0x7f73840a4b80> 2026-06-25 11:11:01,108 - ThreadPoolExecutor-0_0 - botocore.endpoint - DEBUG - Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/my-test-bucket/test.txt?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'text/plain', 'User-Agent': 'aws-cli/1.18.69 Python/3.8.10 Linux/5.4.0-216-generic botocore/1.16.19'}, 'body': b'', 'url': 'http://10.159.7.97/my-test-bucket/test.txt?uploads', 'context': {'client_region': 'US', 'client_config': <botocore.config.Config object at 0x7f738339a340>, 'has_streaming_input': False, 'auth_type': None, 'signing': {'bucket': 'my-test-bucket'}}} 2026-06-25 11:11:01,108 - ThreadPoolExecutor-0_0 - botocore.hooks - DEBUG - Event request-created.s3.CreateMultipartUpload: calling handler <function signal_not_transferring at 0x7f738398bb80> 2026-06-25 11:11:01,108 - ThreadPoolExecutor-0_0 - botocore.hooks - DEBUG - Event request-created.s3.CreateMultipartUpload: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7f738339a2b0>> 2026-06-25 11:11:01,108 - ThreadPoolExecutor-0_0 - botocore.hooks - DEBUG - Event choose-signer.s3.CreateMultipartUpload: calling handler <function set_operation_specific_signer at 0x7f738409df70> 2026-06-25 11:11:01,108 - ThreadPoolExecutor-0_0 - botocore.hooks - DEBUG - Event before-sign.s3.CreateMultipartUpload: calling handler <bound method S3EndpointSetter.set_endpoint of <botocore.utils.S3EndpointSetter object at 0x7f738339afa0>> 2026-06-25 11:11:01,108 - ThreadPoolExecutor-0_0 - botocore.utils - DEBUG - Using S3 path style addressing. 2026-06-25 11:11:01,108 - ThreadPoolExecutor-0_0 - botocore.auth - DEBUG - Calculating signature using v4 auth. 2026-06-25 11:11:01,109 - ThreadPoolExecutor-0_0 - botocore.auth - DEBUG - CanonicalRequest: POST /my-test-bucket/test.txt uploads= content-type:text/plain host:10.159.7.97 x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 x-amz-date:20260625T111101Z content-type;host;x-amz-content-sha256;x-amz-date e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 2026-06-25 11:11:01,109 - ThreadPoolExecutor-0_0 - botocore.auth - DEBUG - StringToSign: AWS4-HMAC-SHA256 20260625T111101Z 20260625/US/s3/aws4_request 79af72826a5601914700be8ea8744fca54ad718ac695abea9bbbd40d74bd53dc 2026-06-25 11:11:01,109 - ThreadPoolExecutor-0_0 - botocore.auth - DEBUG - Signature: 39fc4c550611a7dc8acca6e95442e3d1fb644ed01260d490f8dfb0623cea8031 2026-06-25 11:11:01,109 - ThreadPoolExecutor-0_0 - botocore.hooks - DEBUG - Event request-created.s3.CreateMultipartUpload: calling handler <function signal_transferring at 0x7f738398bc10> 2026-06-25 11:11:01,109 - ThreadPoolExecutor-0_0 - botocore.endpoint - DEBUG - Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=http://10.159.7.97/my-test-bucket/test.txt?uploads, headers={'Content-Type': b'text/plain', 'User-Agent': b'aws-cli/1.18.69 Python/3.8.10 Linux/5.4.0-216-generic botocore/1.16.19', 'X-Amz-Date': b'20260625T111101Z', 'X-Amz-Content-SHA256': b'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 'Authorization': b'AWS4-HMAC-SHA256 Credential=NVHH09CP5XR9G4H9UKXV/20260625/US/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=39fc4c550611a7dc8acca6e95442e3d1fb644ed01260d490f8dfb0623cea8031', 'Content-Length': '0'}> 2026-06-25 11:11:01,110 - ThreadPoolExecutor-0_0 - urllib3.connectionpool - DEBUG - Starting new HTTP connection (1): 10.159.7.97:80 2026-06-25 11:11:01,109 - ThreadPoolExecutor-0_1 - s3transfer.tasks - DEBUG - UploadPartTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'part_number': 1, 'extra_args': {}}) about to wait for the following futures [<s3transfer.futures.ExecutorFuture object at 0x7f7383127b20>] 2026-06-25 11:11:01,110 - ThreadPoolExecutor-1_0 - s3transfer.futures - DEBUG - Submitting task UploadPartTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'part_number': 2, 'extra_args': {}}) to executor <s3transfer.futures.BoundedExecutor object at 0x7f7383331850> for transfer request: 0. 2026-06-25 11:11:01,110 - ThreadPoolExecutor-1_0 - s3transfer.utils - DEBUG - Acquiring 0 2026-06-25 11:11:01,110 - ThreadPoolExecutor-0_1 - s3transfer.tasks - DEBUG - UploadPartTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'part_number': 1, 'extra_args': {}}) about to wait for <s3transfer.futures.ExecutorFuture object at 0x7f7383127b20> 2026-06-25 11:11:01,111 - ThreadPoolExecutor-0_2 - s3transfer.tasks - DEBUG - UploadPartTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'part_number': 2, 'extra_args': {}}) about to wait for the following futures [<s3transfer.futures.ExecutorFuture object at 0x7f7383127b20>] 2026-06-25 11:11:01,111 - ThreadPoolExecutor-1_0 - s3transfer.futures - DEBUG - Submitting task CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'extra_args': {}}) to executor <s3transfer.futures.BoundedExecutor object at 0x7f7383331850> for transfer request: 0. 2026-06-25 11:11:01,111 - ThreadPoolExecutor-1_0 - s3transfer.utils - DEBUG - Acquiring 0 2026-06-25 11:11:01,111 - ThreadPoolExecutor-0_2 - s3transfer.tasks - DEBUG - UploadPartTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'part_number': 2, 'extra_args': {}}) about to wait for <s3transfer.futures.ExecutorFuture object at 0x7f7383127b20> 2026-06-25 11:11:01,112 - ThreadPoolExecutor-0_3 - s3transfer.tasks - DEBUG - CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'extra_args': {}}) about to wait for the following futures [<s3transfer.futures.ExecutorFuture object at 0x7f7383127b20>, <s3transfer.futures.ExecutorFuture object at 0x7f738315a370>, <s3transfer.futures.ExecutorFuture object at 0x7f73810f6df0>] 2026-06-25 11:11:01,112 - ThreadPoolExecutor-1_0 - s3transfer.utils - DEBUG - Releasing acquire 0/None 2026-06-25 11:11:01,112 - ThreadPoolExecutor-0_3 - s3transfer.tasks - DEBUG - CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'extra_args': {}}) about to wait for <s3transfer.futures.ExecutorFuture object at 0x7f7383127b20> 2026-06-25 11:11:02,600 - ThreadPoolExecutor-0_0 - urllib3.connectionpool - DEBUG - http://10.159.7.97:80 "POST /my-test-bucket/test.txt?uploads HTTP/1.1" 200 253 2026-06-25 11:11:02,601 - ThreadPoolExecutor-0_0 - botocore.parsers - DEBUG - Response headers: {'x-amz-request-id': 'tx0000016022614f61c194b-006a3d0cc5-1368-default', 'Content-Type': 'application/xml', 'Content-Length': '253', 'Date': 'Thu, 25 Jun 2026 11:11:02 GMT', 'Connection': 'Keep-Alive'} 2026-06-25 11:11:02,601 - ThreadPoolExecutor-0_0 - botocore.parsers - DEBUG - Response body: b'<?xml version="1.0" encoding="UTF-8"?><InitiateMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Bucket>my-test-bucket</Bucket><Key>test.txt</Key><UploadId>2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA</UploadId></InitiateMultipartUploadResult>' 2026-06-25 11:11:02,601 - ThreadPoolExecutor-0_0 - botocore.hooks - DEBUG - Event needs-retry.s3.CreateMultipartUpload: calling handler <botocore.retryhandler.RetryHandler object at 0x7f738339adf0> 2026-06-25 11:11:02,601 - ThreadPoolExecutor-0_0 - botocore.retryhandler - DEBUG - No retry needed. 2026-06-25 11:11:02,602 - ThreadPoolExecutor-0_0 - botocore.hooks - DEBUG - Event needs-retry.s3.CreateMultipartUpload: calling handler <bound method S3RegionRedirector.redirect_from_error of <botocore.utils.S3RegionRedirector object at 0x7f738339ae50>> 2026-06-25 11:11:02,602 - ThreadPoolExecutor-0_0 - botocore.hooks - DEBUG - Event after-call.s3.CreateMultipartUpload: calling handler <function enhance_error_msg at 0x7f738372daf0> 2026-06-25 11:11:02,602 - ThreadPoolExecutor-0_0 - s3transfer.utils - DEBUG - Releasing acquire 0/None 2026-06-25 11:11:02,602 - ThreadPoolExecutor-0_1 - s3transfer.tasks - DEBUG - UploadPartTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'part_number': 1, 'extra_args': {}}) done waiting for dependent futures 2026-06-25 11:11:02,602 - ThreadPoolExecutor-0_1 - s3transfer.tasks - DEBUG - Executing task UploadPartTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'part_number': 1, 'extra_args': {}}) with kwargs {'client': <botocore.client.S3 object at 0x7f738339a190>, 'fileobj': <s3transfer.utils.ReadFileChunk object at 0x7f7383127eb0>, 'bucket': 'my-test-bucket', 'key': 'test.txt', 'part_number': 1, 'extra_args': {}, 'upload_id': '2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA'} 2026-06-25 11:11:02,602 - ThreadPoolExecutor-0_1 - botocore.hooks - DEBUG - Event before-parameter-build.s3.UploadPart: calling handler <function sse_md5 at 0x7f73840a3550> 2026-06-25 11:11:02,602 - ThreadPoolExecutor-0_1 - botocore.hooks - DEBUG - Event before-parameter-build.s3.UploadPart: calling handler <function convert_body_to_file_like_object at 0x7f73840a4a60> 2026-06-25 11:11:02,602 - ThreadPoolExecutor-0_1 - botocore.hooks - DEBUG - Event before-parameter-build.s3.UploadPart: calling handler <function validate_bucket_name at 0x7f73840a34c0> 2026-06-25 11:11:02,602 - ThreadPoolExecutor-0_1 - botocore.hooks - DEBUG - Event before-parameter-build.s3.UploadPart: calling handler <bound method S3RegionRedirector.redirect_from_cache of <botocore.utils.S3RegionRedirector object at 0x7f738339ae50>> 2026-06-25 11:11:02,603 - ThreadPoolExecutor-0_1 - botocore.hooks - DEBUG - Event before-parameter-build.s3.UploadPart: calling handler <bound method S3ArnParamHandler.handle_arn of <botocore.utils.S3ArnParamHandler object at 0x7f738339af10>> 2026-06-25 11:11:02,603 - ThreadPoolExecutor-0_1 - botocore.hooks - DEBUG - Event before-parameter-build.s3.UploadPart: calling handler <function generate_idempotent_uuid at 0x7f73840a30d0> 2026-06-25 11:11:02,603 - ThreadPoolExecutor-0_1 - botocore.hooks - DEBUG - Event before-call.s3.UploadPart: calling handler <function conditionally_calculate_md5 at 0x7f73840a3430> 2026-06-25 11:11:02,602 - ThreadPoolExecutor-0_2 - s3transfer.tasks - DEBUG - UploadPartTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'part_number': 2, 'extra_args': {}}) done waiting for dependent futures 2026-06-25 11:11:02,605 - ThreadPoolExecutor-0_2 - s3transfer.tasks - DEBUG - Executing task UploadPartTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'part_number': 2, 'extra_args': {}}) with kwargs {'client': <botocore.client.S3 object at 0x7f738339a190>, 'fileobj': <s3transfer.utils.ReadFileChunk object at 0x7f73810f6160>, 'bucket': 'my-test-bucket', 'key': 'test.txt', 'part_number': 2, 'extra_args': {}, 'upload_id': '2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA'} 2026-06-25 11:11:02,606 - ThreadPoolExecutor-0_2 - botocore.hooks - DEBUG - Event before-parameter-build.s3.UploadPart: calling handler <function sse_md5 at 0x7f73840a3550> 2026-06-25 11:11:02,606 - ThreadPoolExecutor-0_2 - botocore.hooks - DEBUG - Event before-parameter-build.s3.UploadPart: calling handler <function convert_body_to_file_like_object at 0x7f73840a4a60> 2026-06-25 11:11:02,606 - ThreadPoolExecutor-0_2 - botocore.hooks - DEBUG - Event before-parameter-build.s3.UploadPart: calling handler <function validate_bucket_name at 0x7f73840a34c0> 2026-06-25 11:11:02,606 - ThreadPoolExecutor-0_2 - botocore.hooks - DEBUG - Event before-parameter-build.s3.UploadPart: calling handler <bound method S3RegionRedirector.redirect_from_cache of <botocore.utils.S3RegionRedirector object at 0x7f738339ae50>> 2026-06-25 11:11:02,606 - ThreadPoolExecutor-0_2 - botocore.hooks - DEBUG - Event before-parameter-build.s3.UploadPart: calling handler <bound method S3ArnParamHandler.handle_arn of <botocore.utils.S3ArnParamHandler object at 0x7f738339af10>> 2026-06-25 11:11:02,606 - ThreadPoolExecutor-0_2 - botocore.hooks - DEBUG - Event before-parameter-build.s3.UploadPart: calling handler <function generate_idempotent_uuid at 0x7f73840a30d0> 2026-06-25 11:11:02,606 - ThreadPoolExecutor-0_2 - botocore.hooks - DEBUG - Event before-call.s3.UploadPart: calling handler <function conditionally_calculate_md5 at 0x7f73840a3430> 2026-06-25 11:11:02,609 - ThreadPoolExecutor-0_3 - s3transfer.tasks - DEBUG - CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'extra_args': {}}) about to wait for <s3transfer.futures.ExecutorFuture object at 0x7f738315a370> 2026-06-25 11:11:02,614 - ThreadPoolExecutor-0_2 - botocore.hooks - DEBUG - Event before-call.s3.UploadPart: calling handler <function add_expect_header at 0x7f73840a3820> 2026-06-25 11:11:02,614 - ThreadPoolExecutor-0_2 - botocore.handlers - DEBUG - Adding expect 100 continue header to request. 2026-06-25 11:11:02,614 - ThreadPoolExecutor-0_2 - botocore.hooks - DEBUG - Event before-call.s3.UploadPart: calling handler <bound method S3RegionRedirector.set_request_url of <botocore.utils.S3RegionRedirector object at 0x7f738339ae50>> 2026-06-25 11:11:02,614 - ThreadPoolExecutor-0_2 - botocore.hooks - DEBUG - Event before-call.s3.UploadPart: calling handler <function inject_api_version_header_if_needed at 0x7f73840a4b80> 2026-06-25 11:11:02,614 - ThreadPoolExecutor-0_2 - botocore.endpoint - DEBUG - Making request for OperationModel(name=UploadPart) with params: {'url_path': '/my-test-bucket/test.txt', 'query_string': {'uploadId': '2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA', 'partNumber': 2}, 'method': 'PUT', 'headers': {'User-Agent': 'aws-cli/1.18.69 Python/3.8.10 Linux/5.4.0-216-generic botocore/1.16.19', 'Content-MD5': '+wrRd/DllzSOARvzjyKFzA==', 'Expect': '100-continue'}, 'body': <s3transfer.utils.ReadFileChunk object at 0x7f73810f6160>, 'url': 'http://10.159.7.97/my-test-bucket/test.txt?uploadId=2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA&partNumber=2', 'context': {'client_region': 'US', 'client_config': <botocore.config.Config object at 0x7f738339a340>, 'has_streaming_input': True, 'auth_type': None, 'signing': {'bucket': 'my-test-bucket'}}} 2026-06-25 11:11:02,614 - ThreadPoolExecutor-0_2 - botocore.hooks - DEBUG - Event request-created.s3.UploadPart: calling handler <function signal_not_transferring at 0x7f738398bb80> 2026-06-25 11:11:02,615 - ThreadPoolExecutor-0_2 - botocore.hooks - DEBUG - Event request-created.s3.UploadPart: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7f738339a2b0>> 2026-06-25 11:11:02,615 - ThreadPoolExecutor-0_2 - botocore.hooks - DEBUG - Event choose-signer.s3.UploadPart: calling handler <function set_operation_specific_signer at 0x7f738409df70> 2026-06-25 11:11:02,615 - ThreadPoolExecutor-0_2 - botocore.hooks - DEBUG - Event before-sign.s3.UploadPart: calling handler <bound method S3EndpointSetter.set_endpoint of <botocore.utils.S3EndpointSetter object at 0x7f738339afa0>> 2026-06-25 11:11:02,617 - ThreadPoolExecutor-0_2 - botocore.auth - DEBUG - Calculating signature using v4 auth. 2026-06-25 11:11:02,621 - ThreadPoolExecutor-0_2 - botocore.auth - DEBUG - CanonicalRequest: PUT /my-test-bucket/test.txt partNumber=2&uploadId=2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA content-md5:+wrRd/DllzSOARvzjyKFzA== host:10.159.7.97 x-amz-content-sha256:f96cb00cb30ef61fe0101098b343421b4be0fe0decb9bf1f4088666b11abaab2 x-amz-date:20260625T111102Z content-md5;host;x-amz-content-sha256;x-amz-date f96cb00cb30ef61fe0101098b343421b4be0fe0decb9bf1f4088666b11abaab2 2026-06-25 11:11:02,622 - ThreadPoolExecutor-0_2 - botocore.auth - DEBUG - StringToSign: AWS4-HMAC-SHA256 20260625T111102Z 20260625/US/s3/aws4_request ce9befc115b9f1f60765b347bcd2ec05a2692a5063addf6cb82bb1c36c2a47cb 2026-06-25 11:11:02,622 - ThreadPoolExecutor-0_2 - botocore.auth - DEBUG - Signature: 186760b35a1b42c5ca3c88e236e90014af89a46cafc91888deea5ee352faebfa 2026-06-25 11:11:02,622 - ThreadPoolExecutor-0_2 - botocore.hooks - DEBUG - Event request-created.s3.UploadPart: calling handler <function signal_transferring at 0x7f738398bc10> 2026-06-25 11:11:02,622 - ThreadPoolExecutor-0_2 - botocore.endpoint - DEBUG - Sending http request: <AWSPreparedRequest stream_output=False, method=PUT, url=http://10.159.7.97/my-test-bucket/test.txt?uploadId=2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA&partNumber=2, headers={'User-Agent': b'aws-cli/1.18.69 Python/3.8.10 Linux/5.4.0-216-generic botocore/1.16.19', 'Content-MD5': b'+wrRd/DllzSOARvzjyKFzA==', 'Expect': b'100-continue', 'X-Amz-Date': b'20260625T111102Z', 'X-Amz-Content-SHA256': b'f96cb00cb30ef61fe0101098b343421b4be0fe0decb9bf1f4088666b11abaab2', 'Authorization': b'AWS4-HMAC-SHA256 Credential=NVHH09CP5XR9G4H9UKXV/20260625/US/s3/aws4_request, SignedHeaders=content-md5;host;x-amz-content-sha256;x-amz-date, Signature=186760b35a1b42c5ca3c88e236e90014af89a46cafc91888deea5ee352faebfa', 'Content-Length': '2097152'}> 2026-06-25 11:11:02,623 - ThreadPoolExecutor-0_2 - botocore.awsrequest - DEBUG - Waiting for 100 Continue response. 2026-06-25 11:11:02,623 - ThreadPoolExecutor-0_2 - botocore.awsrequest - DEBUG - 100 Continue response seen, now sending request body. 2026-06-25 11:11:02,635 - ThreadPoolExecutor-0_1 - botocore.hooks - DEBUG - Event before-call.s3.UploadPart: calling handler <function add_expect_header at 0x7f73840a3820> 2026-06-25 11:11:02,638 - ThreadPoolExecutor-0_1 - botocore.handlers - DEBUG - Adding expect 100 continue header to request. 2026-06-25 11:11:02,638 - ThreadPoolExecutor-0_1 - botocore.hooks - DEBUG - Event before-call.s3.UploadPart: calling handler <bound method S3RegionRedirector.set_request_url of <botocore.utils.S3RegionRedirector object at 0x7f738339ae50>> 2026-06-25 11:11:02,638 - ThreadPoolExecutor-0_1 - botocore.hooks - DEBUG - Event before-call.s3.UploadPart: calling handler <function inject_api_version_header_if_needed at 0x7f73840a4b80> 2026-06-25 11:11:02,638 - ThreadPoolExecutor-0_1 - botocore.endpoint - DEBUG - Making request for OperationModel(name=UploadPart) with params: {'url_path': '/my-test-bucket/test.txt', 'query_string': {'uploadId': '2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA', 'partNumber': 1}, 'method': 'PUT', 'headers': {'User-Agent': 'aws-cli/1.18.69 Python/3.8.10 Linux/5.4.0-216-generic botocore/1.16.19', 'Content-MD5': 'N9FX7Y3ENVDur3OnqQqrTQ==', 'Expect': '100-continue'}, 'body': <s3transfer.utils.ReadFileChunk object at 0x7f7383127eb0>, 'url': 'http://10.159.7.97/my-test-bucket/test.txt?uploadId=2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA&partNumber=1', 'context': {'client_region': 'US', 'client_config': <botocore.config.Config object at 0x7f738339a340>, 'has_streaming_input': True, 'auth_type': None, 'signing': {'bucket': 'my-test-bucket'}}} 2026-06-25 11:11:02,638 - ThreadPoolExecutor-0_1 - botocore.hooks - DEBUG - Event request-created.s3.UploadPart: calling handler <function signal_not_transferring at 0x7f738398bb80> 2026-06-25 11:11:02,638 - ThreadPoolExecutor-0_1 - botocore.hooks - DEBUG - Event request-created.s3.UploadPart: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7f738339a2b0>> 2026-06-25 11:11:02,638 - ThreadPoolExecutor-0_1 - botocore.hooks - DEBUG - Event choose-signer.s3.UploadPart: calling handler <function set_operation_specific_signer at 0x7f738409df70> 2026-06-25 11:11:02,639 - ThreadPoolExecutor-0_1 - botocore.hooks - DEBUG - Event before-sign.s3.UploadPart: calling handler <bound method S3EndpointSetter.set_endpoint of <botocore.utils.S3EndpointSetter object at 0x7f738339afa0>> 2026-06-25 11:11:02,645 - ThreadPoolExecutor-0_1 - botocore.auth - DEBUG - Calculating signature using v4 auth. 2026-06-25 11:11:02,645 - ThreadPoolExecutor-0_1 - botocore.auth - DEBUG - CanonicalRequest: PUT /my-test-bucket/test.txt partNumber=1&uploadId=2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA content-md5:N9FX7Y3ENVDur3OnqQqrTQ== host:10.159.7.97 x-amz-content-sha256:c401681cc5b84c6973a843e8a8e4bb3c16d23a67cb148eced51f2b0349750ba7 x-amz-date:20260625T111102Z content-md5;host;x-amz-content-sha256;x-amz-date c401681cc5b84c6973a843e8a8e4bb3c16d23a67cb148eced51f2b0349750ba7 2026-06-25 11:11:02,646 - ThreadPoolExecutor-0_1 - botocore.auth - DEBUG - StringToSign: AWS4-HMAC-SHA256 20260625T111102Z 20260625/US/s3/aws4_request 502873523b75fe2a7d76c22616b95f7d78fb11cea5a8bc34459a4f739d432773 2026-06-25 11:11:02,646 - ThreadPoolExecutor-0_1 - botocore.auth - DEBUG - Signature: 28ce96e3364df64e4245fae8e72a4d879d98d3ee2c243cec6e066a0d471771f8 2026-06-25 11:11:02,646 - ThreadPoolExecutor-0_1 - botocore.hooks - DEBUG - Event request-created.s3.UploadPart: calling handler <function signal_transferring at 0x7f738398bc10> 2026-06-25 11:11:02,646 - ThreadPoolExecutor-0_1 - botocore.endpoint - DEBUG - Sending http request: <AWSPreparedRequest stream_output=False, method=PUT, url=http://10.159.7.97/my-test-bucket/test.txt?uploadId=2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA&partNumber=1, headers={'User-Agent': b'aws-cli/1.18.69 Python/3.8.10 Linux/5.4.0-216-generic botocore/1.16.19', 'Content-MD5': b'N9FX7Y3ENVDur3OnqQqrTQ==', 'Expect': b'100-continue', 'X-Amz-Date': b'20260625T111102Z', 'X-Amz-Content-SHA256': b'c401681cc5b84c6973a843e8a8e4bb3c16d23a67cb148eced51f2b0349750ba7', 'Authorization': b'AWS4-HMAC-SHA256 Credential=NVHH09CP5XR9G4H9UKXV/20260625/US/s3/aws4_request, SignedHeaders=content-md5;host;x-amz-content-sha256;x-amz-date, Signature=28ce96e3364df64e4245fae8e72a4d879d98d3ee2c243cec6e066a0d471771f8', 'Content-Length': '8388608'}> 2026-06-25 11:11:02,646 - ThreadPoolExecutor-0_1 - urllib3.connectionpool - DEBUG - Starting new HTTP connection (2): 10.159.7.97:80 2026-06-25 11:11:02,647 - ThreadPoolExecutor-0_1 - botocore.awsrequest - DEBUG - Waiting for 100 Continue response. 2026-06-25 11:11:02,648 - ThreadPoolExecutor-0_1 - botocore.awsrequest - DEBUG - 100 Continue response seen, now sending request body. 2026-06-25 11:11:02,760 - ThreadPoolExecutor-0_2 - urllib3.connectionpool - DEBUG - http://10.159.7.97:80 "PUT /my-test-bucket/test.txt?uploadId=2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA&partNumber=2 HTTP/1.1" 200 0 2026-06-25 11:11:02,761 - ThreadPoolExecutor-0_2 - botocore.parsers - DEBUG - Response headers: {'Content-Length': '0', 'ETag': '"fb0ad177f0e597348e011bf38f2285cc"', 'Accept-Ranges': 'bytes', 'x-amz-request-id': 'tx00000963969c7cdbc5172-006a3d0cc6-1368-default', 'Date': 'Thu, 25 Jun 2026 11:11:02 GMT', 'Connection': 'Keep-Alive'} 2026-06-25 11:11:02,761 - ThreadPoolExecutor-0_2 - botocore.parsers - DEBUG - Response body: b'' 2026-06-25 11:11:02,647 - ThreadPoolExecutor-0_1 - botocore.awsrequest - DEBUG - Waiting for 100 Continue response. 2026-06-25 11:11:02,648 - ThreadPoolExecutor-0_1 - botocore.awsrequest - DEBUG - 100 Continue response seen, now sending request body. 2026-06-25 11:11:02,760 - ThreadPoolExecutor-0_2 - urllib3.connectionpool - DEBUG - http://10.159.7.97:80 "PUT /my-test-bucket/test.txt?uploadId=2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA&partNumber=2 HTTP/1.2026-06-25 11:11:02,648 - ThreadPoolExecutor-0_1 - botocore.awsrequest - DEBUG - 100 Continue response seen, now sending request body. content-md5;host;x-amz-content-sha256;x-amz-date c401681cc5b84c6973a843e8a8e4bb3c16d23a67cb148eced51f2b0349750ba7 2026-06-25 11:11:02,646 - ThreadPoolExecutor-0_1 - botocore.auth - DEBUG - StringToSign: AWS4-HMAC-SHA256 20260625T111102Z 20260625/US/s3/aws4_request 502873523b75fe2a7d76c22616b95f7d78fb11cea5a8bc34459a4f739d432773 2026-06-25 11:11:02,646 - ThreadPoolExecutor-0_1 - botocore.auth - DEBUG - Signature: 28ce96e3364df64e4245fae8e72a4d879d98d3ee2c243cec6e066a0d471771f8 2026-06-25 11:11:02,646 - ThreadPoolExecutor-0_1 - botocore.hooks - DEBUG - Event request-created.s3.UploadPart: calling handler <function signal_transferring at 0x7f738398bc10> 2026-06-25 11:11:02,646 - ThreadPoolExecutor-0_1 - botocore.endpoint - DEBUG - Sending http request: <AWSPreparedRequest stream_output=False, method=PUT, url=http://10.159.7.97/my-test-bucket/test.txt?uploadId=2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA&partNumber=1, headers={'User-Agent': b'aws-cli/1.18.69 Python/3.8.10 Linux/5.4.0-216-generic botocore/1.16.19', 'Content-MD5': b'N9FX7Y3ENVDur3OnqQqrTQ==', 'Expect': b'100-continue', 'X-Amz-Date': b'20260625T111102Z', 'X-Amz-Content-SHA256': b'c401681cc5b84c6973a843e8a8e4bb3c16d23a67cb148eced51f2b0349750ba7', 'Authorization': b'AWS4-HMAC-SHA256 Credential=NVHH09CP5XR9G4H9UKXV/20260625/US/s3/aws4_request, SignedHeaders=content-md5;host;x-amz-content-sha256;x-amz-date, Signature=28ce96e3364df64e4245fae8e72a4d879d98d3ee2c243cec6e066a0d471771f8', 'Content-Length': '8388608'}> 2026-06-25 11:11:02,646 - ThreadPoolExecutor-0_1 - urllib3.connectionpool - DEBUG - Starting new HTTP connection (2): 10.159.7.97:80 2026-06-25 11:11:02,647 - ThreadPoolExecutor-0_1 - botocore.awsrequest - DEBUG - Waiting for 100 Continue response. 2026-06-25 11:11:02,648 - ThreadPoolExecutor-0_1 - botocore.awsrequest - DEBUG - 100 Continue response seen, now sending request body. 2026-06-25 11:11:02,760 - ThreadPoolExecutor-0_2 - urllib3.connectionpool - DEBUG - http://10.159.7.97:80 "PUT /my-test-bucket/test.txt?uploadId=2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA&partNumber=2 HTTP/1.1" 200 0 2026-06-25 11:11:02,761 - ThreadPoolExecutor-0_2 - botocore.parsers - DEBUG - Response headers: {'Content-Length': '0', 'ETag': '"fb0ad177f0e597348e011bf38f2285cc"', 'Accept-Ranges': 'bytes', 'x-amz-request-id': 'tx00000963969c7cdbc5172-006a3d0cc6-1368-default', 'Date': 'Thu, 25 Jun 2026 11:11:02 GMT', 'Connection': 'Keep-Alive'} 2026-06-25 11:11:02,761 - ThreadPoolExecutor-0_2 - botocore.parsers - DEBUG - Response body: b'' 2026-06-25 11:11:02,761 - ThreadPoolExecutor-0_2 - botocore.hooks - DEBUG - Event needs-retry.s3.UploadPart: calling handler <botocore.retryhandler.RetryHandler object at 0x7f738339adf0> 2026-06-25 11:11:02,761 - ThreadPoolExecutor-0_2 - botocore.retryhandler - DEBUG - No retry needed. 2026-06-25 11:11:02,761 - ThreadPoolExecutor-0_2 - botocore.hooks - DEBUG - Event needs-retry.s3.UploadPart: calling handler <bound method S3RegionRedirector.redirect_from_error of <botocore.utils.S3RegionRedirector object at 0x7f738339ae50>> 2026-06-25 11:11:02,761 - ThreadPoolExecutor-0_2 - botocore.hooks - DEBUG - Event after-call.s3.UploadPart: calling handler <function enhance_error_msg at 0x7f738372daf0> 2026-06-25 11:11:02,761 - ThreadPoolExecutor-0_2 - s3transfer.utils - DEBUG - Releasing acquire 0/None 2026-06-25 11:11:02,839 - ThreadPoolExecutor-0_1 - urllib3.connectionpool - DEBUG - http://10.159.7.97:80 "PUT /my-test-bucket/test.txt?uploadId=2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA&partNumber=1 HTTP/1.1" 200 0 2026-06-25 11:11:02,839 - ThreadPoolExecutor-0_1 - botocore.parsers - DEBUG - Response headers: {'Content-Length': '0', 'ETag': '"37d157ed8dc43550eeaf73a7a90aab4d"', 'Accept-Ranges': 'bytes', 'x-amz-request-id': 'tx00000ea16a22abf8a6208-006a3d0cc6-1368-default', 'Date': 'Thu, 25 Jun 2026 11:11:02 GMT', 'Connection': 'Keep-Alive'} 2026-06-25 11:11:02,839 - ThreadPoolExecutor-0_1 - botocore.parsers - DEBUG - Response body: b'' 2026-06-25 11:11:02,839 - ThreadPoolExecutor-0_1 - botocore.hooks - DEBUG - Event needs-retry.s3.UploadPart: calling handler <botocore.retryhandler.RetryHandler object at 0x7f738339adf0> 2026-06-25 11:11:02,839 - ThreadPoolExecutor-0_1 - botocore.retryhandler - DEBUG - No retry needed. 2026-06-25 11:11:02,839 - ThreadPoolExecutor-0_1 - botocore.hooks - DEBUG - Event needs-retry.s3.UploadPart: calling handler <bound method S3RegionRedirector.redirect_from_error of <botocore.utils.S3RegionRedirector object at 0x7f738339ae50>> 2026-06-25 11:11:02,839 - ThreadPoolExecutor-0_1 - botocore.hooks - DEBUG - Event after-call.s3.UploadPart: calling handler <function enhance_error_msg at 0x7f738372daf0> 2026-06-25 11:11:02,839 - ThreadPoolExecutor-0_1 - s3transfer.utils - DEBUG - Releasing acquire 0/None 2026-06-25 11:11:02,839 - ThreadPoolExecutor-0_3 - s3transfer.tasks - DEBUG - CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'extra_args': {}}) about to wait for <s3transfer.futures.ExecutorFuture object at 0x7f73810f6df0> 2026-06-25 11:11:02,839 - ThreadPoolExecutor-0_3 - s3transfer.tasks - DEBUG - CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'extra_args': {}}) done waiting for dependent futures 2026-06-25 11:11:02,839 - ThreadPoolExecutor-0_3 - s3transfer.tasks - DEBUG - Executing task CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'my-test-bucket', 'key': 'test.txt', 'extra_args': {}}) with kwargs {'client': <botocore.client.S3 object at 0x7f738339a190>, 'bucket': 'my-test-bucket', 'key': 'test.txt', 'extra_args': {}, 'upload_id': '2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA', 'parts': [{'ETag': '"37d157ed8dc43550eeaf73a7a90aab4d"', 'PartNumber': 1}, {'ETag': '"fb0ad177f0e597348e011bf38f2285cc"', 'PartNumber': 2}]} 2026-06-25 11:11:02,840 - ThreadPoolExecutor-0_3 - botocore.hooks - DEBUG - Event before-parameter-build.s3.CompleteMultipartUpload: calling handler <function validate_bucket_name at 0x7f73840a34c0> 2026-06-25 11:11:02,840 - ThreadPoolExecutor-0_3 - botocore.hooks - DEBUG - Event before-parameter-build.s3.CompleteMultipartUpload: calling handler <bound method S3RegionRedirector.redirect_from_cache of <botocore.utils.S3RegionRedirector object at 0x7f738339ae50>> 2026-06-25 11:11:02,840 - ThreadPoolExecutor-0_3 - botocore.hooks - DEBUG - Event before-parameter-build.s3.CompleteMultipartUpload: calling handler <bound method S3ArnParamHandler.handle_arn of <botocore.utils.S3ArnParamHandler object at 0x7f738339af10>> 2026-06-25 11:11:02,840 - ThreadPoolExecutor-0_3 - botocore.hooks - DEBUG - Event before-parameter-build.s3.CompleteMultipartUpload: calling handler <function generate_idempotent_uuid at 0x7f73840a30d0> 2026-06-25 11:11:02,840 - ThreadPoolExecutor-0_3 - botocore.hooks - DEBUG - Event before-call.s3.CompleteMultipartUpload: calling handler <function add_expect_header at 0x7f73840a3820> 2026-06-25 11:11:02,840 - ThreadPoolExecutor-0_3 - botocore.hooks - DEBUG - Event before-call.s3.CompleteMultipartUpload: calling handler <bound method S3RegionRedirector.set_request_url of <botocore.utils.S3RegionRedirector object at 0x7f738339ae50>> 2026-06-25 11:11:02,840 - ThreadPoolExecutor-0_3 - botocore.hooks - DEBUG - Event before-call.s3.CompleteMultipartUpload: calling handler <function inject_api_version_header_if_needed at 0x7f73840a4b80> 2026-06-25 11:11:02,840 - ThreadPoolExecutor-0_3 - botocore.endpoint - DEBUG - Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/my-test-bucket/test.txt', 'query_string': {'uploadId': '2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA'}, 'method': 'POST', 'headers': {'User-Agent': 'aws-cli/1.18.69 Python/3.8.10 Linux/5.4.0-216-generic botocore/1.16.19'}, 'body': b'<CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Part><ETag>"37d157ed8dc43550eeaf73a7a90aab4d"</ETag><PartNumber>1</PartNumber></Part><Part><ETag>"fb0ad177f0e597348e011bf38f2285cc"</ETag><PartNumber>2</PartNumber></Part></CompleteMultipartUpload>', 'url': 'http://10.159.7.97/my-test-bucket/test.txt?uploadId=2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA', 'context': {'client_region': 'US', 'client_config': <botocore.config.Config object at 0x7f738339a340>, 'has_streaming_input': False, 'auth_type': None, 'signing': {'bucket': 'my-test-bucket'}}} 2026-06-25 11:11:02,840 - ThreadPoolExecutor-0_3 - botocore.hooks - DEBUG - Event request-created.s3.CompleteMultipartUpload: calling handler <function signal_not_transferring at 0x7f738398bb80> 2026-06-25 11:11:02,840 - ThreadPoolExecutor-0_3 - botocore.hooks - DEBUG - Event request-created.s3.CompleteMultipartUpload: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7f738339a2b0>> 2026-06-25 11:11:02,840 - ThreadPoolExecutor-0_3 - botocore.hooks - DEBUG - Event choose-signer.s3.CompleteMultipartUpload: calling handler <function set_operation_specific_signer at 0x7f738409df70> 2026-06-25 11:11:02,840 - ThreadPoolExecutor-0_3 - botocore.hooks - DEBUG - Event before-sign.s3.CompleteMultipartUpload: calling handler <bound method S3EndpointSetter.set_endpoint of <botocore.utils.S3EndpointSetter object at 0x7f738339afa0>> 2026-06-25 11:11:02,840 - ThreadPoolExecutor-0_3 - botocore.auth - DEBUG - Calculating signature using v4 auth. 2026-06-25 11:11:02,840 - ThreadPoolExecutor-0_3 - botocore.auth - DEBUG - CanonicalRequest: POST /my-test-bucket/test.txt uploadId=2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA host:10.159.7.97 x-amz-content-sha256:0fdd3972b29ba794f9ba43f4a2ca6e6526fa0bdaa13f1cd6dcf8a7f01e902f86 x-amz-date:20260625T111102Z host;x-amz-content-sha256;x-amz-date 0fdd3972b29ba794f9ba43f4a2ca6e6526fa0bdaa13f1cd6dcf8a7f01e902f86 2026-06-25 11:11:02,840 - ThreadPoolExecutor-0_3 - botocore.auth - DEBUG - StringToSign: AWS4-HMAC-SHA256 20260625T111102Z 20260625/US/s3/aws4_request ff8296e88e042e994ce1b938416fd148bf84708e219abaf043a2b797d21bc8c4 2026-06-25 11:11:02,840 - ThreadPoolExecutor-0_3 - botocore.auth - DEBUG - Signature: def0976306a1ba81b9efd9c5404668c2f3d7d044f9da8a5f4543c3a216665379 2026-06-25 11:11:02,841 - ThreadPoolExecutor-0_3 - botocore.hooks - DEBUG - Event request-created.s3.CompleteMultipartUpload: calling handler <function signal_transferring at 0x7f738398bc10> 2026-06-25 11:11:02,841 - ThreadPoolExecutor-0_3 - botocore.endpoint - DEBUG - Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=http://10.159.7.97/my-test-bucket/test.txt?uploadId=2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA, headers={'User-Agent': b'aws-cli/1.18.69 Python/3.8.10 Linux/5.4.0-216-generic botocore/1.16.19', 'X-Amz-Date': b'20260625T111102Z', 'X-Amz-Content-SHA256': b'0fdd3972b29ba794f9ba43f4a2ca6e6526fa0bdaa13f1cd6dcf8a7f01e902f86', 'Authorization': b'AWS4-HMAC-SHA256 Credential=NVHH09CP5XR9G4H9UKXV/20260625/US/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=def0976306a1ba81b9efd9c5404668c2f3d7d044f9da8a5f4543c3a216665379', 'Content-Length': '271'}> 2026-06-25 11:11:02,877 - ThreadPoolExecutor-0_3 - urllib3.connectionpool - DEBUG - http://10.159.7.97:80 "POST /my-test-bucket/test.txt?uploadId=2~bGJ7i9R8uEK3Z4vzQAZpkAPCIE8tbeA HTTP/1.1" 200 309 2026-06-25 11:11:02,878 - ThreadPoolExecutor-0_3 - botocore.parsers - DEBUG - Response headers: {'x-amz-request-id': 'tx00000073eca4b39ab23c2-006a3d0cc6-1368-default', 'Content-Type': 'application/xml', 'Content-Length': '309', 'Date': 'Thu, 25 Jun 2026 11:11:02 GMT', 'Connection': 'Keep-Alive'} 2026-06-25 11:11:02,878 - ThreadPoolExecutor-0_3 - botocore.parsers - DEBUG - Response body: b'<?xml version="1.0" encoding="UTF-8"?><CompleteMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Location>http://10.159.7.97/my-test-bucket/test.txt</Location><Bucket>my-test-bucket</Bucket><Key>test.txt</Key><ETag>652843ebc17dfc4b9d477c40f199cc1a-2</ETag></CompleteMultipartUploadResult>' 2026-06-25 11:11:02,878 - ThreadPoolExecutor-0_3 - botocore.hooks - DEBUG - Event needs-retry.s3.CompleteMultipartUpload: calling handler <function check_for_200_error at 0x7f738409de50> 2026-06-25 11:11:02,878 - ThreadPoolExecutor-0_3 - botocore.hooks - DEBUG - Event needs-retry.s3.CompleteMultipartUpload: calling handler <botocore.retryhandler.RetryHandler object at 0x7f738339adf0> 2026-06-25 11:11:02,878 - ThreadPoolExecutor-0_3 - botocore.retryhandler - DEBUG - No retry needed. 2026-06-25 11:11:02,879 - ThreadPoolExecutor-0_3 - botocore.hooks - DEBUG - Event needs-retry.s3.CompleteMultipartUpload: calling handler <bound method S3RegionRedirector.redirect_from_error of <botocore.utils.S3RegionRedirector object at 0x7f738339ae50>> 2026-06-25 11:11:02,879 - ThreadPoolExecutor-0_3 - botocore.hooks - DEBUG - Event after-call.s3.CompleteMultipartUpload: calling handler <function enhance_error_msg at 0x7f738372daf0> upload: ./test.txt to s3://my-test-bucket/test.txt 2026-06-25 11:11:02,879 - ThreadPoolExecutor-0_3 - s3transfer.utils - DEBUG - Releasing acquire 0/None 2026-06-25 11:11:02,879 - Thread-1 - awscli.customizations.s3.results - DEBUG - Shutdown request received in result processing thread, shutting down result thread. The output line: 2026-06-25 11:11:02,878 - ThreadPoolExecutor-0_3 - botocore.parsers - DEBUG - Response body: b'<?xml version="1.0" encoding="UTF-8"?><CompleteMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Location>http://10.159.7.97/my-test-bucket/test.txt</Location><Bucket>my-test-bucket</Bucket><Key>test.txt</Key><ETag>652843ebc17dfc4b9d477c40f199cc1a-2</ETag></CompleteMultipartUploadResult>' correctly shows the final ETag. 3. Downloading the file from ceph and confirming no corruption took place: $ aws s3 --profile ceph cp s3://my-test-bucket/test.txt ./test-from-ceph.txt --endpoint-url http://10.159.7.97 download: s3://my-test-bucket/test.txt to ./test-from-ceph.txt $ sha256sum ./test.txt test-from-ceph.txt fb144bfdb960a7faf9c9406faf32488d2f75955e5400476e8363c53500bbf478 ./test.txt fb144bfdb960a7faf9c9406faf32488d2f75955e5400476e8363c53500bbf478 test-from-ceph.txt Since they have the same sha256 we can confirm they are the same. ** Tags removed: verification-yoga-needed ** Tags added: verification-yoga-done -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2131790 Title: RGW - etag not returned on multipart upload To manage notifications about this bug go to: https://bugs.launchpad.net/cloud-archive/+bug/2131790/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
