aboutsummaryrefslogtreecommitdiff
path: root/roles/containers/tasks/quadlet_start.yml
blob: f2ec82be5842997fbd745b732ff0470eea4712df (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
- 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'


- 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']
  delay: 2
  retries: 25