aboutsummaryrefslogtreecommitdiff
path: root/roles/containers/tasks/quadlet_start.yml
diff options
context:
space:
mode:
authorspmfox <spmfox@foxwd.com>2024-08-27 17:34:55 -0400
committerspmfox <spmfox@foxwd.com>2024-08-27 17:34:55 -0400
commit5ca4fbf2cfe781efedc7c078acaa826c6ad39b10 (patch)
tree598ff2c8b51948091ffa1eb1fbb6ef6f7b26b776 /roles/containers/tasks/quadlet_start.yml
parent4aa6b11581718f66e711bf26fbb41e96fa3a4661 (diff)
converting to roles, converting from runlabels to quadlet ~ breaking change
Diffstat (limited to 'roles/containers/tasks/quadlet_start.yml')
-rw-r--r--roles/containers/tasks/quadlet_start.yml27
1 files changed, 27 insertions, 0 deletions
diff --git a/roles/containers/tasks/quadlet_start.yml b/roles/containers/tasks/quadlet_start.yml
new file mode 100644
index 0000000..5dcd39a
--- /dev/null
+++ b/roles/containers/tasks/quadlet_start.yml
@@ -0,0 +1,27 @@
+- name: Start quadlet
+ ansible.builtin.systemd_service:
+ name: "{{ item.name }}"
+ state: "started"
+ scope: "user"
+ loop_control:
+ label: "{{ item.name}}.service"
+ loop: "{{ quadlets }}"
+
+- name: Check for quadlet not in active or activating state
+ ansible.builtin.shell: "systemctl --user is-active {{ item.name }}.service"
+ loop_control:
+ label: "{{ item.name}}.service: {{ quadlet_status.stdout }}"
+ loop: "{{ quadlets }}"
+ register: quadlet_status
+ failed_when: quadlet_status.stdout not in ['active', 'activating']
+
+
+- name: Wait for quadlet state to go active
+ ansible.builtin.shell: "systemctl --user is-active {{ item.name }}.service"
+ loop_control:
+ label: "{{ item.name}}.service: {{ quadlet_status.stdout }}"
+ loop: "{{ quadlets }}"
+ register: quadlet_status
+ until: quadlet_status.stdout == 'active'
+ delay: 2
+ retries: 25