Ansibleでtimezonectlを使いタイムゾーンを設定する

マシンのTimezoneの設定もPlaybbook化してみる。 CentOS7では、timedatectlというコマンド経由で設定出来るので、それを利用する。

---
- hosts: all
  become: true
  become_user: root
  vars:
    timezone: Asia/Tokyo
  tasks:
    - name: 'タイムゾーンを確認'
      shell: timedatectl status | grep "Time zone" | sed -e "s/.*:\s\(.*\)\s(.*)/\1/" | tr -d '\n'
      changed_when: false
      register: current_timezone
    - name: 'タイムゾーンの設定'
      shell: timedatectl set-timezone {{ timezone }}
      when: current_timezone.stdout != timezone