環境
- Ansible 2.8
registerを使わずに、なければ空のファイルを作成し、あれば何もしない
- name: Create an empty file if file not exists copy: dest: /tmp/file.txt content: '' force: no
追加したyumリポジトリを無効化する
- name: Disable epel repository replace: path: /etc/yum.repos.d/epel.repo regexp: "enabled *= *1" replace: "enabled=0" become: yes
秘密情報を暗号化する
以下の方法が良いと思う。
GitHubな環境でansible-vaultの暗号化パラメータをうまく管理するコツ - Qiita
ansible.cfg
$ cat ansible.cfg [defaults] vault_password_file = ./vault_password hash_behaviour = merge [ssh_connection] pipeline = true ssh_args = -F ssh_config -o ControlMaster=auto -o ControlPersist=300s -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null
becomeパスワードを自動入力する
ansible_become_pass変数を定義する。
$ cat group_vars/all.yml ansible_become_pass: passwd
handlerを共通化する
handlersロールを定義し、playbookから呼び出す。
$ cat roles/handlers/handlers/main.yml - name: Reboot shell: sleep 2 && reboot async: 1 poll: 0 become: yes
現在日時を変数に格納する
- set_fact: epoch: "{{ lookup('pipe','date +%s') }}"
日時を加工する
- debug: msg: "{{ '%Y-%m-%dT%H:%M:%S' | strftime(epoch|int + 3600) }}"