UnicodeDecodeError: 'ascii' codec can't decode byte 0xe7 in position 16: ordinal not in range(128)調べてみると ": " が原因でした。
# ": " が含まれている lineinfile: dest=/etc/aliases regexp="^#root:.+marc" insertafter="root: root@example.com" line="root: root@example.com" # ": " を ":\ " に変更 lineinfile: dest=/etc/aliases regexp="^#root:.+marc" insertafter="root:\ root@example.com" line="root:\ root@example.com"
(内容に誤りがありましたので、追記しました)
Ansible は YAML で記述するので今回は YAML のフォーマットに引っ掛かったようです。
気付くまでに 1時間くらい費やしてしまいました。
\ を追加してエスケープすると \ が含まれたままファイルに反映されていました。
# ":\ " だとファイルには root:\ root@example.com で反映されていました。 lineinfile: dest=/etc/aliases regexp="^#root:.+marc" insertafter="root:\ root@example.com" line="root:\ root@example.com"エスケープせずに引数となる部分をシングルクォテーション(')で括ればエラーは解決できました。
lineinfile: 'dest=/etc/aliases regexp="^#root:.+marc" insertafter="root: root@example.com" line="root: root@example.com"'