chat-blog

僕の独り言が誰か一人の役に立つことを祈って

*

【Ansible】linuxのコマンド実行結果を元に処理をわけたい

   


nfsをマウントさせるときにサーバ上のmountのバージョンが古いとansibleのmountモジュールが使い物にならなかったのです。
ならば、commandモジュールでmountコマンドを叩こうとしたのですが、既にマウントされているときに実行してしまうとエラーになるのです。
(既にマウントされてるよって)

PR

というわけでmountコマンドを叩く前にサーバ上のマウントポイントがマウントされているかを、
チェックしてマウントされてたら何もしない、されてなかったらマウントするみたいな感じのケースで書きますが、
応用はどうとでも聞くと思います。
※冪等性云々の話をするとcommandモジュールとかは使いたくないのですが致し方ないときだってあるのです。

mountコマンドの結果をレジスターに格納

以降このresultの変数の中をみてく形です。

実際にmountするtask

when で実行するかを判断させてます。
最初に格納したresultのstdoutの中にmountコマンドの実行結果が格納されているので、
in を使ってマウントポイントの文字列が含まれてるかをチェックしてます。

実際resultの中には色々な情報が入っているので必要に応じてdebugしてそのときに適したところを使って条件分岐できると思います。

いや、もちろんansibleにmountモジュールがあるんだからそれを使いたいのは山々なんですけどね。
どうしてもcommandに頼らないといけないときだってあると思うのでそんなときのtipsになっていただければと。

参考になるURL
http://qiita.com/szk3/items/29e827f90a543c764a5e(新規タブで開きます)

今日の一言

ファイルシステムの共有って便利ですよね。


スポンサーリンク

スポンサードリンク

スポンサードリンク

 - 技術系

\皆によく読まれてる人気記事/

スポンサーリンクと関連コンテンツ

  関連記事

【Python】インストールしたパッケージを完全にアンインストールする方法

仕事でansibleを使ったりしてて検証中にバージョンを上げたり下げたりって結構 …

【Docker】イメージとコンテナの違いについて【初心者雑記】

現在Dockerについて興味があり使ってみたりしているが、 Dockerの概念を …

【Linux】resolv.confの設定でドメイン部分を補完してくれる件

ふと気になったことを調べた時の備忘録です。

【Ansible】複数のリスト(配列)をループさせて全パターンを網羅する方法

いわゆるnested loopをAnsibleでって話です。配列同士を入れ子にし …

macのターミナルで「ll」コマンド叩いても「コマンドが見つかりません」となる

まいど。 新しくかったimacで久しぶりに開発でもするかなと思ってターミナル(i …

logrotateしたファイルがバイナリになって肥大化してしまう件について検証してみた

先日ログローテートしてるファイルがバイナリになってしまうという事象が発生した。 …

【GIT】既存のプロジェクトをコピーする方法

ansibleでテンプレートとなるplaybookファイル用意してて、 サービス …

Macで標準出力の結果をそのままクリップボードに保存する方法

Macには標準出力をクリップボードに保存してくれる pbcopyという とっても …

【python】変数内に、ある文字列が存在するか確認

些細なことですが、寝たらすぐに忘れてしまうのメモ。(揮発性なのです)

Jenkinsのジョブを別のJenkinsサーバにコピーする方法

何かしらで、 「とある環境のjenkinsジョブを別サーバのjenkinsに持っ …

※コメントですが僕が確認してからとなるのでだいたい3日後の反映となります。

Message

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