Ansibleのモジュールを使っていて、get_urlモジュールの冪等性が気になったので動作を確認した。 何が問題か get_urlモジュールは、wgetやcurlのように、外部からファイルをダウンロードしてくる訳だけど、ダウンロードに失敗してファイルが途中で切れていたりすると、その後のtar展開などで困る。 しかし、get_urlのデフォルト動作では、Playbookを再実行しても、壊れたファイルを見て「あ、もうダウンロード終わってるじゃん」となってしまい、ファイルを再取得してくれない。 おまけをつけると、ダウンロードしたファイルが更新された時だけ、その先のビルド処理を流したい。 解決方法 まず、get_url に sha256sum オプションを渡してあげる。 さらに force=yes を渡してあげる。 すると、ファイルが既にあったら、最初にsha256sumチェックサムを見てくれて