Hello,
I use duplicity with an S3 Glacier bucket from Scaleway. After upgrading to 0.8.23 and enabling boto3, the backup fails with the following error:
% /usr/bin/duplicity -v3 --full-if-older-than 1M --s3-use-new-style --s3-use-glacier --s3-endpoint-url
https://s3.nl-ams.scw.cloud
--s3-region-name nl-ams --asynchronous-upload --s3-multipart-chunk-size
10 --metadata-sync-mode partial --exclude-device-files --include=/etc --include=/data/Pictures '--exclude=**' / boto3+s3://<bucket-name>/duplicity
Synchronizing remote metadata to local cache...
>>> Copying duplicity-full-signatures.20220611T132657Z.sigtar.gpg to local cache.
>>> Attempt of get Nr. 1 failed. ClientError: An error occurred (AccessDenied) when calling the >>> GetObject operation: Access Denied.
I understand that the current boto3 implementation does not support restore from Glacier storage.
According to the man page, the manifest file is always stored in standard class.
However, the sigtar file is stored in Glacier class when the option s3_use_clacier is set.
The error is gone when the sigtar file is manually restored to standard class.
I assume that the storage class should be set explicitely for the sigtar file, similar to the handling for the manifest in s3_boto3_backend.py:123++?
If this assumption is correct, I can raise a bug ticket for that problem.
Regards,
Bernhard