From 33b2d3f582bff4033ac2e4132103feaaa9efa39a Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Sun, 17 Aug 2025 09:26:46 +0200 Subject: [PATCH] Optimized docker2local variables and constants --- roles/sys-bkp-docker-2-loc/handlers/main.yml | 8 ++-- roles/sys-bkp-docker-2-loc/tasks/01_core.yml | 16 +++---- .../tasks/02_pkgmgr_routines.yml | 10 ++-- .../tasks/04_seed-database-to-backup.yml | 6 +-- roles/sys-bkp-docker-2-loc/tasks/main.yml | 2 +- ...sys-bkp-docker-2-loc-everything.service.j2 | 4 +- .../templates/sys-bkp-docker-2-loc.service.j2 | 4 +- roles/sys-bkp-docker-2-loc/vars/main.yml | 48 ++++++++++--------- 8 files changed, 51 insertions(+), 47 deletions(-) diff --git a/roles/sys-bkp-docker-2-loc/handlers/main.yml b/roles/sys-bkp-docker-2-loc/handlers/main.yml index fb70414c..b529c830 100644 --- a/roles/sys-bkp-docker-2-loc/handlers/main.yml +++ b/roles/sys-bkp-docker-2-loc/handlers/main.yml @@ -1,9 +1,9 @@ -- name: "reload sys-bkp-docker-2-loc-everything service" +- name: "reload backup docker to local (all) service" systemd: - name: sys-bkp-docker-2-loc-everything{{ SYS_SERVICE_SUFFIX }} + name: {{ BKP_DOCKER_2_LOC_SERVICE_ALL }} daemon_reload: yes -- name: "reload sys-bkp-docker-2-loc service" +- name: "reload backup docker to local service" systemd: - name: sys-bkp-docker-2-loc{{ SYS_SERVICE_SUFFIX }} + name: {{ BKP_DOCKER_2_LOC_SERVICE }} daemon_reload: yes \ No newline at end of file diff --git a/roles/sys-bkp-docker-2-loc/tasks/01_core.yml b/roles/sys-bkp-docker-2-loc/tasks/01_core.yml index 27ea4e0b..16ed264d 100644 --- a/roles/sys-bkp-docker-2-loc/tasks/01_core.yml +++ b/roles/sys-bkp-docker-2-loc/tasks/01_core.yml @@ -14,17 +14,17 @@ include_tasks: 03_reset.yml when: MODE_RESET | bool -- name: configure sys-bkp-docker-2-loc-everything service +- name: "setup '{{ BKP_DOCKER_2_LOC_SERVICE_ALL }}'" template: - src: sys-bkp-docker-2-loc-everything.service.j2 - dest: /etc/systemd/system/sys-bkp-docker-2-loc-everything{{ SYS_SERVICE_SUFFIX }} - notify: reload sys-bkp-docker-2-loc-everything service + src: "{{ role_name }}-everything.service.j2" + dest: /etc/systemd/system/{{ BKP_DOCKER_2_LOC_SERVICE_ALL }} + notify: reload backup docker to local (all) service -- name: configure sys-bkp-docker-2-loc{{ SYS_SERVICE_SUFFIX }} +- name: "setup '{{ BKP_DOCKER_2_LOC_SERVICE }}'" template: - src: sys-bkp-docker-2-loc.service.j2 - dest: /etc/systemd/system/sys-bkp-docker-2-loc{{ SYS_SERVICE_SUFFIX }} - notify: reload sys-bkp-docker-2-loc service + src: "{{ role_name }}.service.j2" + dest: /etc/systemd/system/{{ BKP_DOCKER_2_LOC_SERVICE }} + notify: reload backup docker to local service - name: "set 'service_name' to '{{ role_name }}'" set_fact: diff --git a/roles/sys-bkp-docker-2-loc/tasks/02_pkgmgr_routines.yml b/roles/sys-bkp-docker-2-loc/tasks/02_pkgmgr_routines.yml index eec0beed..5f25f255 100644 --- a/roles/sys-bkp-docker-2-loc/tasks/02_pkgmgr_routines.yml +++ b/roles/sys-bkp-docker-2-loc/tasks/02_pkgmgr_routines.yml @@ -1,12 +1,12 @@ - block: - - name: "pkgmgr install {{ bkp_docker_2_loc_pkg }}" + - name: "pkgmgr install {{ BKP_DOCKER_2_LOC_PKG }}" include_role: name: pkgmgr-install vars: - package_name: "{{ bkp_docker_2_loc_pkg }}" + package_name: "{{ BKP_DOCKER_2_LOC_PKG }}" - - name: "Retrieve {{ bkp_docker_2_loc_pkg }} path from pkgmgr" - command: "pkgmgr path {{ bkp_docker_2_loc_pkg }}" + - name: "Retrieve {{ BKP_DOCKER_2_LOC_PKG }} path from pkgmgr" + command: "pkgmgr path {{ BKP_DOCKER_2_LOC_PKG }}" register: pkgmgr_output changed_when: false @@ -16,4 +16,4 @@ changed_when: false when: backup_docker_to_local_folder is not defined vars: - bkp_docker_2_loc_pkg: backup-docker-to-local + BKP_DOCKER_2_LOC_PKG: backup-docker-to-local diff --git a/roles/sys-bkp-docker-2-loc/tasks/04_seed-database-to-backup.yml b/roles/sys-bkp-docker-2-loc/tasks/04_seed-database-to-backup.yml index 82ed628e..554282a9 100644 --- a/roles/sys-bkp-docker-2-loc/tasks/04_seed-database-to-backup.yml +++ b/roles/sys-bkp-docker-2-loc/tasks/04_seed-database-to-backup.yml @@ -55,10 +55,10 @@ database_name is defined and database_username is defined and database_password is defined) and - run_once_bkp_docker_2_loc_file_permission is not defined + run_once_sys_bkp_docker_2_loc_file_permission is not defined register: file_permission_result - name: run the backup_docker_to_local_file_permission tasks once set_fact: - run_once_bkp_docker_2_loc_file_permission: true - when: run_once_bkp_docker_2_loc_file_permission is not defined and file_permission_result is defined and file_permission_result.changed \ No newline at end of file + run_once_sys_bkp_docker_2_loc_file_permission: true + when: run_once_sys_bkp_docker_2_loc_file_permission is not defined and file_permission_result is defined and file_permission_result.changed \ No newline at end of file diff --git a/roles/sys-bkp-docker-2-loc/tasks/main.yml b/roles/sys-bkp-docker-2-loc/tasks/main.yml index 14e1590a..53ce0609 100644 --- a/roles/sys-bkp-docker-2-loc/tasks/main.yml +++ b/roles/sys-bkp-docker-2-loc/tasks/main.yml @@ -7,4 +7,4 @@ - name: "include 04_seed-database-to-backup.yml" include_tasks: 04_seed-database-to-backup.yml when: - - bkp_docker_2_loc_db_enabled | bool + - BKP_DOCKER_2_LOC_DB_ENABLED | bool diff --git a/roles/sys-bkp-docker-2-loc/templates/sys-bkp-docker-2-loc-everything.service.j2 b/roles/sys-bkp-docker-2-loc/templates/sys-bkp-docker-2-loc-everything.service.j2 index a958b204..25d6eebc 100644 --- a/roles/sys-bkp-docker-2-loc/templates/sys-bkp-docker-2-loc-everything.service.j2 +++ b/roles/sys-bkp-docker-2-loc/templates/sys-bkp-docker-2-loc-everything.service.j2 @@ -4,6 +4,6 @@ OnFailure=sys-alm-compose.{{ SOFTWARE_NAME }}@%n.service sys-cln-faild-bkps{{ SY [Service] Type=oneshot -ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ system_maintenance_services | join(' ') }} --ignore {{ system_maintenance_backup_services | reject('equalto', 'sys-bkp-docker-2-loc') | join(' ') }} --timeout "{{system_maintenance_lock_timeout_backup_services}}"' -ExecStart=/bin/sh -c '{{ bkp_docker_2_loc_exec }} --everything' +ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ system_maintenance_services | join(' ') }} --ignore {{ system_maintenance_backup_services | reject('equalto', role_name ) | join(' ') }} --timeout "{{system_maintenance_lock_timeout_backup_services}}"' +ExecStart=/bin/sh -c '{{ BKP_DOCKER_2_LOC_EXEC }} --everything' ExecStartPost=/bin/sh -c '/bin/systemctl start sys-rpr-docker-soft{{ SYS_SERVICE_SUFFIX }} &' \ No newline at end of file diff --git a/roles/sys-bkp-docker-2-loc/templates/sys-bkp-docker-2-loc.service.j2 b/roles/sys-bkp-docker-2-loc/templates/sys-bkp-docker-2-loc.service.j2 index 0cb2942c..2816606a 100644 --- a/roles/sys-bkp-docker-2-loc/templates/sys-bkp-docker-2-loc.service.j2 +++ b/roles/sys-bkp-docker-2-loc/templates/sys-bkp-docker-2-loc.service.j2 @@ -4,6 +4,6 @@ OnFailure=sys-alm-compose.{{ SOFTWARE_NAME }}@%n.service sys-cln-faild-bkps{{ SY [Service] Type=oneshot -ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ system_maintenance_services | join(' ') }} --ignore {{ system_maintenance_backup_services | reject('equalto', 'sys-bkp-docker-2-loc-everything') | join(' ') }} --timeout "{{system_maintenance_lock_timeout_backup_services}}"' -ExecStart=/bin/sh -c '{{ bkp_docker_2_loc_exec }}' +ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ system_maintenance_services | join(' ') }} --ignore {{ system_maintenance_backup_services | reject('equalto', role_name ~ '-everything') | join(' ') }} --timeout "{{system_maintenance_lock_timeout_backup_services}}"' +ExecStart=/bin/sh -c '{{ BKP_DOCKER_2_LOC_EXEC }}' ExecStartPost=/bin/sh -c '/bin/systemctl start sys-rpr-docker-soft{{ SYS_SERVICE_SUFFIX }} &' \ No newline at end of file diff --git a/roles/sys-bkp-docker-2-loc/vars/main.yml b/roles/sys-bkp-docker-2-loc/vars/main.yml index c976e2c7..f94adcb0 100644 --- a/roles/sys-bkp-docker-2-loc/vars/main.yml +++ b/roles/sys-bkp-docker-2-loc/vars/main.yml @@ -1,46 +1,50 @@ # Mapping logic for backup-docker-to-local CLI arguments # -# - bkp_docker_2_loc_database_routine: All service names where backup.database_routine is set (for --database-containers) -# - bkp_docker_2_loc_no_stop_required: All images where backup.no_stop_required is set (for --images-no-stop-required) -# - bkp_docker_2_loc_disabled: All images where backup.disabled is set (for --images-no-backup-required) +# - BKP_DOCKER_2_LOC_DB_ROUTINE: All service names where backup.database_routine is set (for --database-containers) +# - BKP_DOCKER_2_LOC_NO_STOP_REQUIRED: All images where backup.no_stop_required is set (for --images-no-stop-required) +# - BKP_DOCKER_2_LOC_DISABLED: All images where backup.disabled is set (for --images-no-backup-required) # CLI-ready variables render these lists as argument strings. +BKP_DOCKER_2_LOC_SERVICE: "{{ role_name ~ SYS_SERVICE_SUFFIX }}" + +BKP_DOCKER_2_LOC_SERVICE_ALL: "{{ role_name }}-everything{{ SYS_SERVICE_SUFFIX }}" + # Verify if DB is enabled -bkp_docker_2_loc_db_enabled: "{{ database_type | default('') | bool }}" +BKP_DOCKER_2_LOC_DB_ENABLED: "{{ database_type | default('') | bool }}" # Gather mapped values as lists -bkp_docker_2_loc_database_routine: >- +BKP_DOCKER_2_LOC_DB_ROUTINE: >- {{ applications | find_dock_val_by_bkp_entr('database_routine', 'name') | list }} -bkp_docker_2_loc_no_stop_required: >- +BKP_DOCKER_2_LOC_NO_STOP_REQUIRED: >- {{ applications | find_dock_val_by_bkp_entr('no_stop_required', 'image') | list }} -bkp_docker_2_loc_disabled: >- +BKP_DOCKER_2_LOC_DISABLED: >- {{ applications | find_dock_val_by_bkp_entr('disabled', 'image') | list }} # CLI argument strings (only set if list not empty) -bkp_docker_2_loc_database_routine_cli: >- - {% if bkp_docker_2_loc_database_routine | length > 0 -%} - --database-containers {{ bkp_docker_2_loc_database_routine | join(' ') }} +BKP_DOCKER_2_LOC_DB_ROUTINE_CLI: >- + {% if BKP_DOCKER_2_LOC_DB_ROUTINE | length > 0 -%} + --database-containers {{ BKP_DOCKER_2_LOC_DB_ROUTINE | join(' ') }} {%- endif %} -bkp_docker_2_loc_no_stop_required_cli: >- - {% if bkp_docker_2_loc_no_stop_required | length > 0 -%} - --images-no-stop-required {{ bkp_docker_2_loc_no_stop_required | join(' ') }} +BKP_DOCKER_2_LOC_NO_STOP_REQUIRED_CLI: >- + {% if BKP_DOCKER_2_LOC_NO_STOP_REQUIRED | length > 0 -%} + --images-no-stop-required {{ BKP_DOCKER_2_LOC_NO_STOP_REQUIRED | join(' ') }} {%- endif %} -bkp_docker_2_loc_disabled_cli: >- - {% if bkp_docker_2_loc_disabled | length > 0 -%} - --images-no-backup-required {{ bkp_docker_2_loc_disabled | join(' ') }} +BKP_DOCKER_2_LOC_DISABLED_CLI: >- + {% if BKP_DOCKER_2_LOC_DISABLED | length > 0 -%} + --images-no-backup-required {{ BKP_DOCKER_2_LOC_DISABLED | join(' ') }} {%- endif %} # List of CLI args for convenience (e.g. for looping or joining) -bkp_docker_2_loc_cli_args_list: - - "{{ bkp_docker_2_loc_database_routine_cli }}" - - "{{ bkp_docker_2_loc_no_stop_required_cli }}" - - "{{ bkp_docker_2_loc_disabled_cli }}" +BKP_DOCKER_2_LOC_CLI_ARGS_LIST: + - "{{ BKP_DOCKER_2_LOC_DB_ROUTINE_CLI }}" + - "{{ BKP_DOCKER_2_LOC_NO_STOP_REQUIRED_CLI }}" + - "{{ BKP_DOCKER_2_LOC_DISABLED_CLI }}" -bkp_docker_2_loc_exec: >- +BKP_DOCKER_2_LOC_EXEC: >- /usr/bin/python {{ backup_docker_to_local_folder }}backup-docker-to-local.py --compose-dir {{ PATH_DOCKER_COMPOSE_INSTANCES }} - {{ bkp_docker_2_loc_cli_args_list | select('string') | join(' ') }} \ No newline at end of file + {{ BKP_DOCKER_2_LOC_CLI_ARGS_LIST | select('string') | join(' ') }}