Skip to content

reboot

Collection Note

This module is part of the ansible.builtin collection. To install the collection, use:

ansible-galaxy collection install ansible.builtin
Added in version 2.7.

Synopsis

  • Reboot a machine, wait for it to go down, come back up, and respond to commands.
  • For Windows targets, use the M(ansible.windows.win_reboot) module instead.

Parameters

Parameter Defaults / Choices Comments
boot_time_command
str
Default: cat /proc/sys/kernel/random/boot_id
Command to run that returns a unique string indicating the last time the system was booted.
Setting this to a command that has different output each time it is run will cause the task to fail.
Version Added: 2.10
connect_timeout
int
Maximum seconds to wait for a successful connection to the managed hosts before trying again.
If unspecified, the default setting for the underlying connection plugin is used.
msg
str
Default: Reboot initiated by Ansible
Message to display to users before reboot.
post_reboot_delay
int
Seconds to wait after the reboot command was successful before attempting to validate the system rebooted successfully.
This is useful if you want wait for something to settle despite your connection already working.
pre_reboot_delay
int
Seconds to wait before reboot. Passed as a parameter to the reboot command.
On Linux, macOS and OpenBSD, this is converted to minutes and rounded down. If less than 60, it will be set to 0.
On Solaris and FreeBSD, this will be seconds.
reboot_command
str
Default: [determined based on target OS]
Command to run that reboots the system, including any parameters passed to the command.
Can be an absolute path to the command or just the command name. If an absolute path to the command is not given, O(search_paths) on the target system will be searched to find the absolute path.
This will cause O(pre_reboot_delay), O(post_reboot_delay), and O(msg) to be ignored.
Version Added: 2.11
reboot_timeout
int
Default: 600
Maximum seconds to wait for machine to reboot and respond to a test command.
This timeout is evaluated separately for both reboot verification and test command success so the maximum execution time for the module is twice this amount.
search_paths
list / elements=str
Default: ['/sbin', '/bin', '/usr/sbin', '/usr/bin', '/usr/local/sbin']
Paths to search on the remote machine for the C(shutdown) command.
I(Only) these paths will be searched for the C(shutdown) command. E(PATH) is ignored in the remote node when searching for the C(shutdown) command.
Version Added: 2.8
test_command
str
Default: whoami
Command to run on the rebooted host and expect success from to determine the machine is ready for further tasks.

Notes

Note

  • E(PATH) is ignored on the remote node when searching for the C(shutdown) command. Use O(search_paths) to specify locations to search if the default paths do not work.

Examples

- name: Unconditionally reboot the machine with all defaults
  ansible.builtin.reboot:

- name: Reboot a slow machine that might have lots of updates to apply
  ansible.builtin.reboot:
    reboot_timeout: 3600

- name: Reboot a machine with shutdown command in unusual place
  ansible.builtin.reboot:
    search_paths:
     - '/lib/molly-guard'

- name: Reboot machine using a custom reboot command
  ansible.builtin.reboot:
    reboot_command: launchctl reboot userspace
    boot_time_command: uptime | cut -d ' ' -f 5

- name: Reboot machine and send a message
  ansible.builtin.reboot:
    msg: "Rebooting machine in 5 seconds"

Return Values

Key Data Type Description Returned
elapsed int The number of seconds that elapsed waiting for the system to be rebooted. always
rebooted bool true if the machine was rebooted always

Authors

  • Matt Davis (@nitzmahone)
  • Sam Doran (@samdoran)