ansible.builtin.reboot (v2.16.5) — module

Reboot a machine

| "added in version" 2.7 of ansible.builtin"

Authors: Matt Davis (@nitzmahone), Sam Doran (@samdoran)

This plugin has a corresponding action plugin.

Install Ansible via pip

Install with pip install ansible-core==2.16.5

Description

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.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Unconditionally reboot the machine with all defaults
  ansible.builtin.reboot:
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Reboot a slow machine that might have lots of updates to apply
  ansible.builtin.reboot:
    reboot_timeout: 3600
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Reboot a machine with shutdown command in unusual place
  ansible.builtin.reboot:
    search_paths:
     - '/lib/molly-guard'
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Reboot machine using a custom reboot command
  ansible.builtin.reboot:
    reboot_command: launchctl reboot userspace
    boot_time_command: uptime | cut -d ' ' -f 5
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Reboot machine and send a message
  ansible.builtin.reboot:
    msg: "Rebooting machine in 5 seconds"

Inputs

    
msg:
    default: Reboot initiated by Ansible
    description:
    - Message to display to users before reboot.
    type: str

search_paths:
    default:
    - /sbin
    - /bin
    - /usr/sbin
    - /usr/bin
    - /usr/local/sbin
    description:
    - 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.
    elements: str
    type: list
    version_added: '2.8'
    version_added_collection: ansible.builtin

test_command:
    default: whoami
    description:
    - Command to run on the rebooted host and expect success from to determine the machine
      is ready for further tasks.
    type: str

reboot_command:
    default: '[determined based on target OS]'
    description:
    - 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.
    type: str
    version_added: '2.11'
    version_added_collection: ansible.builtin

reboot_timeout:
    default: 600
    description:
    - 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.
    type: int

connect_timeout:
    description:
    - 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.
    type: int

pre_reboot_delay:
    default: 0
    description:
    - 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.
    type: int

boot_time_command:
    default: cat /proc/sys/kernel/random/boot_id
    description:
    - 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.
    type: str
    version_added: '2.10'
    version_added_collection: ansible.builtin

post_reboot_delay:
    default: 0
    description:
    - 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.
    type: int

Outputs

elapsed:
  description: The number of seconds that elapsed waiting for the system to be rebooted.
  returned: always
  sample: 23
  type: int
rebooted:
  description: true if the machine was rebooted
  returned: always
  sample: true
  type: bool

See also