カスタム設定のテスト
カスタム設定ができたので、それをテストするための簡単なプレイブックを作成しましょう。これにより、設定の変更が Ansible の動作にどのように影響するかを理解する手助けになります。
/home/labex/project
ディレクトリに test_config.yml
という名前の新しいファイルを作成します。
nano /home/labex/project/test_config.yml
内容を次のように更新します。
---
- name: Test Custom Configuration
hosts: all
tasks:
- name: Display remote user
debug:
msg: "Connected as user: {{ ansible_user }}"
- name: Display privilege escalation info
debug:
msg: "Privilege escalation is {{ 'enabled' if ansible_become | default(false) else 'disabled' }}"
- name: Show Ansible configuration
debug:
msg: "Inventory file: {{ lookup('config', 'DEFAULT_HOST_LIST') }}"
- name: Check if become is enabled in ansible.cfg
command: grep "become = True" /home/labex/project/ansible.cfg
register: become_check
changed_when: false
failed_when: false
- name: Display become setting from ansible.cfg
debug:
msg: "Become is {{ 'enabled' if become_check.rc == 0 else 'disabled' }} in ansible.cfg"
この更新されたプレイブックでは、次の変更が行われています。
ansible_become
にデフォルト値を追加して、未定義の変数エラーを防ぎました。
become
設定を直接 ansible.cfg
ファイルで確認する 2 つの新しいタスクを追加して、設定のより正確な表現を提供します。
次に、更新されたプレイブックを実行しましょう。
ansible-playbook /home/labex/project/test_config.yml
これはエラーなく実行され、Ansible の設定に関する情報が表示されるはずです。
また、ansible.cfg
ファイルを更新して、廃止警告に対処しましょう。
nano /home/labex/project/ansible.cfg
[defaults]
セクションの下に次の行を追加します。
interpreter_python = /usr/bin/python3
ansible.cfg
ファイルは次のようになっているはずです。
[defaults]
inventory = /home/labex/project/inventory
remote_user = labex
host_key_checking = False
stdout_callback = yaml
interpreter_python = /usr/bin/python3
[privilege_escalation]
become = True
become_method = sudo
become_user = root
become_ask_pass = False
エディタを保存して終了します。
次に、もう一度プレイブックを実行するとき:
ansible-playbook /home/labex/project/test_config.yml
廃止警告なしで出力が表示され、設定が正しく表示されるはずです。