mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-29 23:08:06 +02:00
Refactor async execution handling across LDAP and Nextcloud roles
- Introduce global async configuration in group_vars/all/00_general.yml: - ASYNC_ENABLED (disabled in debug mode) - ASYNC_TIME (default 300s, omitted if async disabled) - ASYNC_POLL (0 for async fire-and-forget, 10 for sync mode) - Replace hardcoded async/poll values with global vars in: - svc-db-openldap (03_users.yml, 04_update.yml) - web-app-mig (02_build_data.yml) - web-app-nextcloud (03_admin.yml, 04_system_config.yml, 05_plugin.yml, 06_plugin_routines.yml, 07_plugin_enable_and_configure.yml) - Guard changed_when and failed_when conditions to only evaluate in synchronous mode to avoid accessing undefined rc/stdout/stderr in async runs https://chatgpt.com/share/689cd8cc-7fbc-800f-bd06-a667561573bf
This commit is contained in:
@@ -5,10 +5,10 @@
|
||||
- name: disable {{ plugin_key }} nextcloud plugin
|
||||
command: "{{ nextcloud_docker_exec_occ }} app:disable {{ plugin_key }}"
|
||||
register: disable_result
|
||||
failed_when: >
|
||||
(disable_result.rc | int != 0)
|
||||
and ('No such app enabled' not in (disable_result.stdout | default('') ~ disable_result.stderr | default('')))
|
||||
changed_when: >
|
||||
not ASYNC_ENABLED and
|
||||
((disable_result.stdout | default('') ~ disable_result.stderr | default('')) is search('disabled'))
|
||||
and (((disable_result.stdout | default('') ~ disable_result.stderr | default('')) is not search('already disabled')))
|
||||
when: not (plugin_value.enabled | bool)
|
||||
async: "{{ ASYNC_TIME if ASYNC_ENABLED else omit }}"
|
||||
poll: "{{ ASYNC_POLL if ASYNC_ENABLED else omit }}"
|
||||
|
Reference in New Issue
Block a user