- name: Creating user "{{ uusername }}" with admin access user: name: {{ uusername }} password: {{ upassword | password_hash('sha512') }} groups: admin append=yes
userモジュール使ってパスワードを設定しようとすると毎回changedが出てしまいhandlerとかの処理が複雑になってしまうとういのがあった。
毎回changedになる原因としてはpassword_hashのfilterがhashする際に使用するソルトを指定しないと毎回関数側でソルトを生成するため起きている。(ソースは以下あたり)
ansible/encrypt.py at devel · ansible/ansible · GitHub
毎回changedを防ぐためには公式を見るとfilterの第二引数にsaltを指定できることが記載されている。ここに自前でsalt値を用意しておけば毎回生成の処理は走らないのでchangedになるのは防ぐことが可能となっている。