From 33cc1161af7a3393cecbfc121d52939a8c1b3e73 Mon Sep 17 00:00:00 2001 From: Rawa Resul Date: Tue, 1 Oct 2024 16:06:46 +0100 Subject: [PATCH 1/2] [patch] Fix usage of MASBR_BACKUP_DATA --- .../common_tasks/backup_restore/check_backup_vars.yml | 5 ++++- ibm/mas_devops/roles/db2/tasks/backup/main.yml | 1 + .../mongodb/tasks/providers/community/backup.yml | 1 + .../roles/suite_app_backup_restore/defaults/main.yml | 11 +++++++++++ .../roles/suite_app_backup_restore/tasks/main.yml | 6 ++++++ .../roles/suite_backup_restore/defaults/main.yml | 3 +++ .../roles/suite_backup_restore/tasks/main.yml | 1 + 7 files changed, 27 insertions(+), 1 deletion(-) diff --git a/ibm/mas_devops/common_tasks/backup_restore/check_backup_vars.yml b/ibm/mas_devops/common_tasks/backup_restore/check_backup_vars.yml index 1170a57078..152b5e33d6 100644 --- a/ibm/mas_devops/common_tasks/backup_restore/check_backup_vars.yml +++ b/ibm/mas_devops/common_tasks/backup_restore/check_backup_vars.yml @@ -48,7 +48,10 @@ masbr_job_data_list: "{{ masbr_job_data_list | default([], true) }}" - name: "Set fact: specified backup data" - when: masbr_backup_data is defined and masbr_backup_data | length > 0 + when: + - masbr_backup_data is defined + - masbr_backup_data | length > 0 + - (_ignore_masbr_backup_data is not defined) or (_ignore_masbr_backup_data is defined and not _ignore_masbr_backup_data) block: - name: "Set fact: reset masbr_job_data_specified" set_fact: diff --git a/ibm/mas_devops/roles/db2/tasks/backup/main.yml b/ibm/mas_devops/roles/db2/tasks/backup/main.yml index 113037974c..5227678445 100644 --- a/ibm/mas_devops/roles/db2/tasks/backup/main.yml +++ b/ibm/mas_devops/roles/db2/tasks/backup/main.yml @@ -25,6 +25,7 @@ - name: "Before run tasks" include_tasks: "{{ role_path }}/../../common_tasks/backup_restore/before_run_tasks.yml" vars: + _ignore_masbr_backup_data: true _job_type: "backup" _component_before_task_path: "{{ role_path }}/tasks/before-backup-restore.yml" diff --git a/ibm/mas_devops/roles/mongodb/tasks/providers/community/backup.yml b/ibm/mas_devops/roles/mongodb/tasks/providers/community/backup.yml index 17d7fa49ac..59f137279e 100644 --- a/ibm/mas_devops/roles/mongodb/tasks/providers/community/backup.yml +++ b/ibm/mas_devops/roles/mongodb/tasks/providers/community/backup.yml @@ -34,6 +34,7 @@ - name: "Before run tasks" include_tasks: "{{ role_path }}/../../common_tasks/backup_restore/before_run_tasks.yml" vars: + _ignore_masbr_backup_data: true _job_type: "backup" _component_before_task_path: "{{ role_path }}/tasks/providers/{{ mongodb_provider }}/before-backup-restore.yml" diff --git a/ibm/mas_devops/roles/suite_app_backup_restore/defaults/main.yml b/ibm/mas_devops/roles/suite_app_backup_restore/defaults/main.yml index 3c31dd5613..5618f24bc9 100644 --- a/ibm/mas_devops/roles/suite_app_backup_restore/defaults/main.yml +++ b/ibm/mas_devops/roles/suite_app_backup_restore/defaults/main.yml @@ -7,3 +7,14 @@ masbr_action: "{{ lookup('env', 'MASBR_ACTION') }}" # Manage PVC paths to backup/restore, format: ":/" separated by commas # For example: "pvc-docs:/doclinks/attachments,pvc-maxlogs:/maxlogs" masbr_manage_pvc_paths: "{{ lookup('env', 'MASBR_MANAGE_PVC_PATHS') | default('', true) }}" + +# Backup/Restore - Supported job types per app +# https://ibm-mas.github.io/ansible-devops/roles/suite_app_backup_restore/#masbr_backup_data +# https://ibm-mas.github.io/ansible-devops/roles/suite_app_backup_restore/#masbr_restore_data +supported_job_data_item_types: + health: ["namespace", "wsl"] + iot: ["namespace"] + manage: ["namespace", "pv"] + monitor: ["namespace"] + optimizer: ["namespace"] + visualinspection: ["namespace", pv] diff --git a/ibm/mas_devops/roles/suite_app_backup_restore/tasks/main.yml b/ibm/mas_devops/roles/suite_app_backup_restore/tasks/main.yml index 4dc054c226..9c30f128d5 100644 --- a/ibm/mas_devops/roles/suite_app_backup_restore/tasks/main.yml +++ b/ibm/mas_devops/roles/suite_app_backup_restore/tasks/main.yml @@ -84,6 +84,11 @@ - seq: "1" phase: "New" + - name: Debug stuff + ansible.builtin.debug: + msg: + - "mas_app_id ......................................... {{ mas_app_id }}" + - "supported_job_data_item_types[mas_app_id] .......... {{ supported_job_data_item_types[mas_app_id] }}" # Run backup/restore tasks for each data type # TODO: check and ignore unsupported data type @@ -98,6 +103,7 @@ loop: "{{ masbr_job_data_list }}" loop_control: loop_var: job_data_item + when: job_data_item.type in supported_job_data_item_types[mas_app_id] rescue: # Update job status: Failed diff --git a/ibm/mas_devops/roles/suite_backup_restore/defaults/main.yml b/ibm/mas_devops/roles/suite_backup_restore/defaults/main.yml index 91f7a85a60..e778df58fa 100644 --- a/ibm/mas_devops/roles/suite_backup_restore/defaults/main.yml +++ b/ibm/mas_devops/roles/suite_backup_restore/defaults/main.yml @@ -1,3 +1,6 @@ --- masbr_action: "{{ lookup('env', 'MASBR_ACTION') }}" mas_instance_id: "{{ lookup('env', 'MAS_INSTANCE_ID') }}" + +# Backup/Restore - Supported job types +supported_job_data_item_types: ["namespace"] diff --git a/ibm/mas_devops/roles/suite_backup_restore/tasks/main.yml b/ibm/mas_devops/roles/suite_backup_restore/tasks/main.yml index 18d3c9a6dc..abcc0a21ab 100644 --- a/ibm/mas_devops/roles/suite_backup_restore/tasks/main.yml +++ b/ibm/mas_devops/roles/suite_backup_restore/tasks/main.yml @@ -75,6 +75,7 @@ loop: "{{ masbr_job_data_list }}" loop_control: loop_var: job_data_item + when: job_data_item.type in supported_job_data_item_types rescue: # Update job status: Failed From 05fe6e30f7d1d8826931840b0e64f4cd50523f75 Mon Sep 17 00:00:00 2001 From: Rawa Resul Date: Tue, 1 Oct 2024 16:16:48 +0100 Subject: [PATCH 2/2] [patch] Remove debug --- ibm/mas_devops/roles/suite_app_backup_restore/tasks/main.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/ibm/mas_devops/roles/suite_app_backup_restore/tasks/main.yml b/ibm/mas_devops/roles/suite_app_backup_restore/tasks/main.yml index 9c30f128d5..72a88f31cc 100644 --- a/ibm/mas_devops/roles/suite_app_backup_restore/tasks/main.yml +++ b/ibm/mas_devops/roles/suite_app_backup_restore/tasks/main.yml @@ -84,11 +84,6 @@ - seq: "1" phase: "New" - - name: Debug stuff - ansible.builtin.debug: - msg: - - "mas_app_id ......................................... {{ mas_app_id }}" - - "supported_job_data_item_types[mas_app_id] .......... {{ supported_job_data_item_types[mas_app_id] }}" # Run backup/restore tasks for each data type # TODO: check and ignore unsupported data type