Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error while running simple ansible playbook

Tags:

ansible

playbook is as below...

[ansible@ansible2 outline]$ cat webserver.yaml

--- #Create an YAML from an outline


  - hosts: web
    connection: ssh
    remote_user: ansible
    become: yes
    become_method: sudo
    gather_facts: yes

    vars:
      test: raju
    vars_files:
        - /home/ansible/playbooks/conf/copyright.yaml

    vars_prompt:
     - name: web_domain
       prompt: WEB DOMAIN

    tasks:
    - name: install apache web server
      yum: pkg=httpd state=latest
      notify: start the service

    - name: check service
      command: service httpd status
      register: result
    - debug: var=result

    handlers:
    - name: start the service
      service: name=httpd state=restarted

[ansible@ansible2 outline]$

and the error as below...

[ansible@ansible2 outline]$ ansible-playbook webserver.yaml
WEB DOMAIN:

PLAY [web] *********************************************************************

TASK [setup] *******************************************************************

ok: [web2.bharathkumarraju.com]

TASK [install apache web server] ***********************************************

changed: [web2.bharathkumarraju.com]

TASK [check service] ***********************************************************
fatal: [web2.bharathkumarraju.com]: FAILED! => {"changed": true, "cmd": ["service", "httpd", "status"], "delta": "0:00:00.039489", "end": "2016-10-30 04:53:51.833760", "failed": true, "rc": 3, "start": "2016-10-30 04:53:51.794271", "stderr": "", "stdout": "httpd is stopped", "stdout_lines": ["httpd is stopped"], "warnings": ["Consider using service module rather than running service"]}

NO MORE HOSTS LEFT *************************************************************

RUNNING HANDLER [start the service] ********************************************
        to retry, use: --limit @/home/ansible/outline/webserver.retry

PLAY RECAP *********************************************************************
web2.bharathkumarraju.com  : ok=2    changed=1    unreachable=0    failed=1
like image 295
BharathKumarRaju Dasararaju Avatar asked Apr 28 '26 07:04

BharathKumarRaju Dasararaju


1 Answers

The exit code of running service httpd status is different then 0 because the service was not started. Handlers are always ran at the end of a playbook not when they are notified.

One solution is to put an "ignore_errors: true" at the check service status. Another solution would be to remove the handler+notify and put a service module after the yum:

- service: name=httpd status=started enabled=yes
like image 156
ady8531 Avatar answered Apr 30 '26 22:04

ady8531



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!