--- - name: Set k3s service name ansible.builtin.set_fact: k3s_service_name: "{{ 'k3s' if k3s_role == 'server' else 'k3s-agent' }}" - name: Gather service facts ansible.builtin.service_facts: - name: Ensure k3s service is installed ansible.builtin.assert: that: - (k3s_service_name + ".service") in ansible_facts.services fail_msg: "k3s service {{ k3s_service_name }} is not installed. Run the k3s role or reset playbook first." - name: Start k3s service ansible.builtin.systemd: name: "{{ k3s_service_name }}" state: started enabled: true no_block: true - name: Wait for k3s to become active ansible.builtin.command: "systemctl is-active {{ k3s_service_name }}" register: k3s_service_state changed_when: false retries: "{{ [1, (k3s_start_timeout_seconds | default(120) | int) // 10] | max }}" delay: 10 until: k3s_service_state.stdout == "active"