インフラエンジニアbacchiのわかったことまとめ

bacchi.me

Ansible

Ansibleでpipをupgradeする

更新日:

以前、pipパッケージのインストールに手間取りました。

pipそのものが古かったり、setuptoolsが古かったり。

https://bacchi.me/linux/pip_tips/

pipをばんばん使うplaybookを書くことになったので、Ansibleの公式ドキュメントをちらちら見ていました。

でも、Ansibleのpipモジュールのページにはupgradeについて何も記載がありません……。

んー、commandモジュールなり、shellモジュールなりでやるしかなさそう。

当初、

statモジュールであるファイルの有無を確認し、ファイルが無ければ、pip install --upgradeを実行して、ファイルをtouchする。

みたいなことをぱっと考えたけど、あまりにイケてないし、時間がたってからのことも考慮できてないのでボツ。

以下のようにchanged_whenを使ってchangedが発生しないようにしました。

pip install --upgradeの実行結果文字列に「Requirement already up-to-date」が含まれていたらokとする。

それ以外はアップデートがあったと判断しchangedにする。

べき等性を保つのに結構エネルギーいりますよね。

Ansible便利だけどつらい部分もありますね。

Sponsor Link

スポンサーリンク

Sponsor Link

スポンサーリンク

-Ansible

Copyright© bacchi.me , 2018 AllRights Reserved.