日刊 あおのうま Vol.2473(2018.01.09)【ようやく一歩前進】

投稿者: | 2018/01/09

register と failed_when

苦労していた、Ansible によるMySQL のユーザー情報CRUD 周りの冪等性ですが、とりあえずは、どうにか解決できそうです。
shell の実行結果に応じてregister の値を格納してやり、その結果をwhen で確認して、処理を振り分ける形。

- name: Check if root pass is blank
  shell: mysql -uroot -e "exit"
  register: blank_root_password
  failed_when: false
  changed_when: false

- debug: msg="{{ blank_root_password }}"

- name: Change root password
  mysql_user:
    host: localhost
    login_user: root
    login_password: ''
    name: root
    password: hoge
  when: blank_root_password.stderr == ""

正直、ちょっと苦しいというか、シンプルとは言い難い書き方なので、もっと勉強が必要そうですけれどね。

まあ、ここで長々と引っ掛かっていると、それはそれで時間のロスなので。
まずは歩を進めます。

長かった。orz

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータがどう処理されているか知りたい方はこちらをお読みください