Ansible s3 download時に[Files uploaded with multipart of s3 are not supported with checksum, unable to compute checksum.]エラー

AWSからであればネットからダウンロードするよりも、S3にダウンロードしてあるものをコピーするのが圧倒的に早い。

というわけで既存のローカルからファイルコピーしていたタスクを書き直した。
AnsibleでS3経由でファイルを単にダウンロードするだけのタスクなのに、失敗している。
(実際にはファイルはあるのだが、チェックサムの計算に失敗している)

で、みたところアップロードしたファイルはマルチパートで分割されてアップロードされていた。
aws s3 cpコマンドを使ってアップロードするとファイルサイズが8M超えたあたりで自動的に分割するらしい。
(E-tagというメタデータをS3コンソールから確認できて、そこに-2みたいな-が入っていたらマルチパートでアップロードされたものということらしい)

Ansibleのs3タスクでアップロードされたものはマルチパートにはならないので、面倒だけどAnsibleタスク同士でアップロード、ダウンロードしている分にはエラーに遭遇しない。

追記:

どうやら別の原因だったもようで、既にファイルがあるときにもう一回実施するとエラーになるというものだった。
ファイルを消して実行したら問題なかった。このAnsibleのエラーメッセージがおかしい!

さらに追記:

Ansibleのs3でアップロードするとマルチパートにはならないが、アップロード先に同名ファイルがあるとやはりエラー。どうもマルチパートは鬼門なのでマルチパートは避けるようにしよう。

カテゴリー: Ansible パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload the CAPTCHA.