# Role `reboot` A role for rebooting a host, which also handles local connections gracefully. ## Optional Arguments - `reboot__local_handling`: How to handle reboot on local connections. The default mode is `none`. Possible choices: - `none`: Just runs `ansible.builtin.reboot`, which would fail on local connections. - `ignore`: Just doesn't reboot on local connections. - `file`: Doesn't reboot on local connections and instead touches the file defined by `reboot__local_handling_file`. - `reboot__local_handling_file`: The file to touch, if `reboot__local_handling` is `file`. Defaults to `/var/run/ansible-reboot-required`. ## Usage in a Handler Since a reboot should often be triggered from a handler and since handlers can't include or import roles, this roles logic can also be run by including the `main.yaml` task using `ansible.builtin.include_tasks` as a workaround. When doing so, arguments should be specified explicitly as necessary (so at least `reboot__local_handling`) as the default role inclusion mechanisms like setting default values don't work. An example handler would look like this: ```yaml - name: reboot the system ansible.builtin.include_tasks: "../../reboot/tasks/main.yaml" vars: reboot__local_handling: ignore ```