|
19 | 19 | temp_reproducer_var_path: /tmp/reproducer-variables.yml |
20 | 20 | temp_merged_reproducer_var_path: /tmp/merged-reproducer-variables.yml |
21 | 21 | block: |
22 | | - - name: Slurp reproducer-variables.yml to hypervisor |
23 | | - ansible.builtin.slurp: |
| 22 | + - name: Fetch reproducer-variables.yml from controller-0 |
| 23 | + ansible.builtin.fetch: |
24 | 24 | src: "{{ cifmw_basedir }}/parameters/reproducer-variables.yml" |
25 | | - register: reproducer_original |
26 | | - delegate_to: controller-0 |
27 | | - no_log: "{{ cifmw_nolog | default(true) | bool }}" |
28 | | - |
29 | | - - name: Create temp file reproducer-variables.yml on hypervisor |
30 | | - ansible.builtin.copy: |
31 | | - content: "{{ reproducer_original.content | b64decode }}" |
32 | 25 | dest: "{{ temp_reproducer_var_path }}" |
33 | | - mode: "0664" |
| 26 | + flat: true |
| 27 | + delegate_to: controller-0 |
34 | 28 | no_log: "{{ cifmw_nolog | default(true) | bool }}" |
35 | 29 |
|
36 | 30 | - name: Copy merge yamls script |
|
48 | 42 | {{ temp_merged_reproducer_var_path }} |
49 | 43 | no_log: "{{ cifmw_nolog | default(true) | bool }}" |
50 | 44 |
|
51 | | - - name: Slurp merged reproducer-variables.yml from hypervisor |
52 | | - ansible.builtin.slurp: |
53 | | - src: "{{ temp_merged_reproducer_var_path }}" |
54 | | - register: merged_reproducer_slurp |
| 45 | + - name: Merge scenario variable files into reproducer-variables.yml |
| 46 | + when: variable_files_dirs is defined |
| 47 | + block: |
| 48 | + - name: Find scenario variable files |
| 49 | + ansible.builtin.find: |
| 50 | + paths: "{{ variable_files_dirs }}" |
| 51 | + patterns: "*.yaml,*.yml" |
| 52 | + recurse: false |
| 53 | + register: _scenario_var_files |
| 54 | + |
| 55 | + - name: Merge each scenario variable file |
| 56 | + ansible.builtin.shell: > |
| 57 | + python3 /usr/local/bin/merge_yaml_override |
| 58 | + {{ temp_merged_reproducer_var_path }} |
| 59 | + {{ scenario_var_file.path }} > |
| 60 | + {{ temp_merged_reproducer_var_path }}.tmp && |
| 61 | + mv {{ temp_merged_reproducer_var_path }}.tmp |
| 62 | + {{ temp_merged_reproducer_var_path }} |
| 63 | + loop: "{{ _scenario_var_files.files | sort(attribute='path') }}" |
| 64 | + loop_control: |
| 65 | + loop_var: scenario_var_file |
| 66 | + label: "{{ scenario_var_file.path | basename }}" |
| 67 | + no_log: "{{ cifmw_nolog | default(true) | bool }}" |
| 68 | + |
| 69 | + - name: Merge extra variable files into reproducer-variables.yml |
| 70 | + when: extra_variable_files is defined |
| 71 | + ansible.builtin.shell: > |
| 72 | + python3 /usr/local/bin/merge_yaml_override |
| 73 | + {{ temp_merged_reproducer_var_path }} |
| 74 | + {{ extra_variable_file }} > |
| 75 | + {{ temp_merged_reproducer_var_path }}.tmp && |
| 76 | + mv {{ temp_merged_reproducer_var_path }}.tmp |
| 77 | + {{ temp_merged_reproducer_var_path }} |
| 78 | + loop: "{{ extra_variable_files }}" |
| 79 | + loop_control: |
| 80 | + loop_var: extra_variable_file |
| 81 | + label: "{{ extra_variable_file | basename }}" |
55 | 82 | no_log: "{{ cifmw_nolog | default(true) | bool }}" |
56 | 83 |
|
57 | 84 | - name: Write back merged reproducer-variables.yml |
58 | 85 | ansible.builtin.copy: |
59 | | - content: "{{ merged_reproducer_slurp.content | b64decode }}" |
| 86 | + src: "{{ temp_merged_reproducer_var_path }}" |
60 | 87 | dest: "{{ cifmw_basedir }}/parameters/reproducer-variables.yml" |
61 | 88 | mode: "0664" |
62 | 89 | backup: true |
|
65 | 92 |
|
66 | 93 | - name: Overwrite custom-params.yml |
67 | 94 | ansible.builtin.copy: |
68 | | - content: "{{ merged_reproducer_slurp.content | b64decode }}" |
| 95 | + src: "{{ temp_merged_reproducer_var_path }}" |
69 | 96 | dest: "{{ cifmw_basedir }}/artifacts/parameters/custom-params.yml" |
70 | 97 | mode: "0664" |
71 | 98 | no_log: "{{ cifmw_nolog | default(true) | bool }}" |
|
0 commit comments