diff --git a/roles/mtv_management/defaults/main.yml b/roles/mtv_management/defaults/main.yml index ef65223..ed909ac 100644 --- a/roles/mtv_management/defaults/main.yml +++ b/roles/mtv_management/defaults/main.yml @@ -147,6 +147,23 @@ mtv_management_storage_map_overrides: [ # include: true ] +mtv_management_multiple_storage_maps_overrides: {} +# map_name1: +# - id: +# storageClass: +# exclude: true +# include: true +# - id: +# storageClass: +# exclude: true +# include: true +# map_name2: +# - id: +# storageClass: +# exclude: true +# include: true + + # title: MTV Network Map Overrides # required: False # description: Overrides for the network map diff --git a/roles/mtv_management/tasks/mtv_maps.yml b/roles/mtv_management/tasks/mtv_maps.yml index b27c102..c364eb0 100644 --- a/roles/mtv_management/tasks/mtv_maps.yml +++ b/roles/mtv_management/tasks/mtv_maps.yml @@ -35,9 +35,22 @@ quiet: true fail_msg: "Destination Provider with name '{{ mtv_management_destination_target }}' not found in namespace '{{ mtv_management_provider_namespace }}'" # noqa: yaml[line-length] +- name: mtv_maps | Configure MTV Storage Maps (Multiple) + ansible.builtin.include_tasks: _mtv_storage_map.yml + loop: "{{ mtv_management_multiple_storage_maps_overrides | dict2items }}" + vars: + defined_storage_map_name: "{{ item.key }}" + mtv_management_storage_map_overrides: "{{ item.value }}" + when: + - mtv_management_map_storage is defined and mtv_management_map_storage | bool + - mtv_management_multiple_storage_maps_overrides is defined + - mtv_management_multiple_storage_maps_overrides | length > 0 + - name: mtv_maps | Configure MTV Storage Maps ansible.builtin.include_tasks: _mtv_storage_map.yml - when: mtv_management_map_storage is defined and mtv_management_map_storage | bool + when: + - mtv_management_map_storage is defined and mtv_management_map_storage | bool + - mtv_management_multiple_storage_maps_overrides is not defined or mtv_management_multiple_storage_maps_overrides | length == 0 - name: mtv_maps | Configure MTV Network Map ansible.builtin.include_tasks: _mtv_network_map.yml diff --git a/roles/mtv_management/templates/storagemap.yml.j2 b/roles/mtv_management/templates/storagemap.yml.j2 index 7c95846..7686f43 100644 --- a/roles/mtv_management/templates/storagemap.yml.j2 +++ b/roles/mtv_management/templates/storagemap.yml.j2 @@ -1,7 +1,7 @@ apiVersion: forklift.konveyor.io/v1beta1 kind: StorageMap metadata: - name: "{{ (mtv_management_source_target + '-' + mtv_management_destination_target) | infra.openshift_virtualization_migration.rfc1123 }}" + name: "{{ defined_storage_map_name | default(mtv_management_source_target + '-' + mtv_management_destination_target) | infra.openshift_virtualization_migration.rfc1123 }}" namespace: "{{ mtv_management_migration_namespace }}" spec: provider: