From 423850d3e646778ea36a70a5390d55fe8e852dd1 Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Thu, 25 Sep 2025 12:27:13 +0200 Subject: [PATCH] Refactor svc-opt-swapfile role: move core logic into 01_core.yml, simplify tasks/main.yml, and integrate swapfile setup into sys-svc-docker/01_core.yml to prevent OOM failures. See https://chatgpt.com/share/68d518f2-ba0c-800f-8a3a-c6b045763ac6 --- roles/svc-opt-swapfile/tasks/01_core.yml | 18 ++++++++++++++++++ roles/svc-opt-swapfile/tasks/main.yml | 18 +----------------- roles/sys-svc-docker/tasks/01_core.yml | 6 ++++++ 3 files changed, 25 insertions(+), 17 deletions(-) create mode 100644 roles/svc-opt-swapfile/tasks/01_core.yml diff --git a/roles/svc-opt-swapfile/tasks/01_core.yml b/roles/svc-opt-swapfile/tasks/01_core.yml new file mode 100644 index 00000000..371f4d9d --- /dev/null +++ b/roles/svc-opt-swapfile/tasks/01_core.yml @@ -0,0 +1,18 @@ +- name: Include dependency 'pkgmgr-install' + include_role: + name: pkgmgr-install + when: run_once_pkgmgr_install is not defined + +- name: "pkgmgr install" + include_role: + name: pkgmgr-install + vars: + package_name: swap-forge + +- name: Execute create swapfile script + shell: swap-forge "{{ SWAPFILE_SIZE }}" + become: true + async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}" + poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}" + +- include_tasks: utils/run_once.yml diff --git a/roles/svc-opt-swapfile/tasks/main.yml b/roles/svc-opt-swapfile/tasks/main.yml index 8a4354d1..783f4d96 100644 --- a/roles/svc-opt-swapfile/tasks/main.yml +++ b/roles/svc-opt-swapfile/tasks/main.yml @@ -1,19 +1,3 @@ - block: - - name: Include dependency 'pkgmgr-install' - include_role: - name: pkgmgr-install - when: run_once_pkgmgr_install is not defined - - include_tasks: utils/run_once.yml + - include_tasks: 01_core.yml when: run_once_svc_opt_swapfile is not defined - -- name: "pkgmgr install" - include_role: - name: pkgmgr-install - vars: - package_name: swap-forge - -- name: Execute create swapfile script - shell: swap-forge "{{ SWAPFILE_SIZE }}" - become: true - async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}" - poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}" \ No newline at end of file diff --git a/roles/sys-svc-docker/tasks/01_core.yml b/roles/sys-svc-docker/tasks/01_core.yml index 1f4c58b9..e4344491 100644 --- a/roles/sys-svc-docker/tasks/01_core.yml +++ b/roles/sys-svc-docker/tasks/01_core.yml @@ -6,6 +6,12 @@ state: present notify: docker restart +- name: Setup Swapfile to prevent OOM Failures + # @ See https://en.wikipedia.org/wiki/Out_of_memory + include_role: + name: "svc-opt-swapfile" + when: run_once_svc_opt_swapfile is not defined + - name: "Load reset tasks when MODE_RESET is enabled" include_tasks: "02_reset.yml" when: MODE_RESET | bool