Ansible handlers セクション validate %s必須

---
# targets セクション*
- name: Install Apache.
  hosts: takenoko
  become: yes
  gather_facts: no
# vars セクション
  vars:
    apache_package_name: apache2
    apache_service_name: apache2
# tasks セクション*
  tasks:
    - name: apt update.
      ansible.builtin.apt:
        update_cache: yes

    - name: Install the apache2 package.
      ansible.builtin.apt:
        name: "{{ apache_package_name }}"
        state: present
      notify:
        - start apache service

# handlers セクション
  handlers:
    - name: Change the listening port.
      ansible.builtin.lineinfile:
        path: /etc/apache2/ports.conf
        regexp: "^Listen "
        line: "Listen 8080"
# ここが問題の場所 
        # apache2ctl configtest は、設定ファイルの構文をチェックするコマンドです。%sを使わないのは、apache2ctl configtest が %s を使わないためです。
        validate: "apache2ctl configtest"
      listen:
        - start apache service

    - name: Start "apache2".
      ansible.builtin.systemd:
        name: "{{ apache_service_name }}"
        enabled: yes
        state: started
      listen:
        - start apache service

https://github.com/ansible/ansible/issues/9112別案を用意する、

← Go home