Ansibleに少しずつ慣れてきた
Ansibleを使い始めてしばらく経ちました
数週間前のroleを久しぶりに見ると、
軽くめまいがするくらいには書きなれてきました
最近は、lineinfileをcronに対して使おうとして、
何度も追記されてしまう事象を見つけました
こいつに対しては、事前に/etc/crontabの中身をgrepして、
該当の行の有無でそのあとのタスクを動かすかどうか判定することにしました
その際、registerを使うのですが、
最初registerの中身をうまく取り出せなくて、誤判定を頻発させていました・・・
-vvオプションをつけることで、出力を表示させることができ、
.stdoutを判定させることで判別できるとわかりました
- name: 判定
shell: "cat /etc/crontab | grep 'xxxxxxxx' | wc -l"
register: flag
- name: 実行
when: flag.stdout == "0"
fineinfile:
line: {{ item }}
with_items:
- xxxxxx
- uuuuu
といった具合です
冪等性を意識して少しずつかけるようになってきてよかった
次はhandlerとかも意識して書けるようになっていきたいところ・・・
以上