Search code examples
ansible

Ansible code to restart Apache


I have a basic playbook to restart an Apache server but I'm wondering how the following command is interpreted and converted to its equivalent -- service httpd start.

- name: ensure apache is running
    service:
      name: httpd
      state: started

Solution

  • service module first gets the status of the service (httpd). If the service is started or running or reloaded and the desired service state is started, it will not restart the service.

    self.svc_change = False
    ...
    ...
    if not self.running and self.state in ["started", "running", "reloaded"]:
        self.svc_change = True
    

    If you want to restart:

    state: restarted   ==>  service httpd restart
    

    service - Manage services

    • started/stopped are idempotent actions that will not run commands unless necessary
    • restarted will always bounce the service
    • reloaded will always reload