aboutsummaryrefslogtreecommitdiff
path: root/roles/containers/tasks/quadlet_start.yml
blob: d4c65c9a10002e061447f3d0353098811bcfdc09 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
- name: Start quadlet
  ansible.builtin.systemd_service:
    name: "{{ item.name }}"
    state: "started"
    scope: "user"
  loop_control:
    label: "{{ item.name}}.service"
  loop: "{{ containers_quadlets }}"

- name: Check for failed quadlet
  ansible.builtin.shell: "systemctl --user is-active {{ item.name }}.service"
  loop_control:
    label: "{{ item.name}}.service: {{ quadlet_status.stdout }}"
  loop: "{{ containers_quadlets }}"
  register: quadlet_status
  failed_when: quadlet_status.stdout == 'failed'
  changed_when: false

- name: Wait for quadlet state to be active or inactive
  ansible.builtin.shell: "systemctl --user is-active {{ item.name }}.service"
  loop_control:
    label: "{{ item.name}}.service: {{ quadlet_status.stdout }}"
  loop: "{{ containers_quadlets }}"
  register: quadlet_status
  until: quadlet_status.stdout in ['active', 'inactive']
  failed_when: quadlet_status.stdout not in ['active', 'inactive']
  changed_when: false
  delay: 2
  retries: 25