--- - name: Reboot k3s_cluster hosts: k3s_cluster gather_facts: true # Stagger the reboot across the cluster when concurrent_reboots is set. # Defaults to '100%' so the whole cluster reboots at once (backward compatible). serial: "{{ concurrent_reboots | default('100%') }}" tasks: - name: >- {{ 'Reboot all nodes at once' if (concurrent_reboots is not defined) else 'Reboot nodes with concurrency of ' ~ concurrent_reboots }} become: true ansible.builtin.reboot: reboot_command: "{{ custom_reboot_command | default(omit) }}" reboot_timeout: 300 test_command: >- {{ 'kubectl get nodes' if 'master' in group_names else 'whoami' }} - name: Optional wait before rebooting the next batch of nodes ansible.builtin.pause: seconds: "{{ wait_seconds_after_reboot | int }}" when: >- concurrent_reboots is defined and wait_seconds_after_reboot is defined and wait_seconds_after_reboot | int > 0