Reboot and wait with Ansible

Sometimes it is required to reboot a Linux server after certain tasks. If you’re using Ansible as the tool to automate your server management, you can write a small role in Ansible to trigger a quick reboot, wait for the server to come back to life and continue with other tasks.

The following script works in Ansible 2.1; tested in Ubuntu 14.04 and RHEL 6

- name: Restart server
  become: yes
  shell: sleep 2 && /sbin/shutdown -r now "System package upgraded"

- name: waiting 30 secs for server to come back
  local_action: wait_for host={{ ansible_default_ipv4.address }} port=22 state=started delay=30 timeout=60
  become: false


Leave a Reply

Scroll to Top
%d bloggers like this: