|
1 | 1 | --- |
| 2 | +# include_role(openstack_test) re-templates vars; role_path there is openstack_test, not lb_tests. |
| 3 | +- name: Best-effort cleanup before LB tests |
| 4 | + ansible.builtin.include_tasks: cleanup_lb_test_leftovers.yml |
| 5 | + when: lb_tests_guest_cleanup | bool |
| 6 | + |
| 7 | +- name: Materialize LB allow/block paths for nested openstack_test role |
| 8 | + ansible.builtin.set_fact: |
| 9 | + lb_ingress_blocklist_resolved: "{{ lb_blocklist_file }}" |
| 10 | + lb_amphora_allowlist_resolved: "{{ lb_amphora_allowlist_file }}" |
| 11 | + lb_amphora_isolated_allowlist_resolved: "{{ lb_amphora_isolated_allowlist_file }}" |
| 12 | + lb_amphora_sourceranges_allowlist_resolved: "{{ lb_amphora_sourceranges_allowlist_file }}" |
| 13 | + lb_ovn_allowlist_resolved: "{{ lb_ovn_allowlist_file }}" |
| 14 | + |
2 | 15 | - name: Get install-config content to obtain the 1st machineCIDR |
3 | 16 | ansible.builtin.include_role: |
4 | 17 | name: shiftstack.tools.tools_get_deploy_info |
|
24 | 37 | max_shared_lb: "2" |
25 | 38 | log_directory: "{{ artifacts_dir }}/lb_amphora_sourceip" |
26 | 39 |
|
27 | | -- name: Run Openstack-Test on OCP with Amphora LoadBalancer provider and sourceIP lb method |
28 | | - ansible.builtin.include_role: |
29 | | - name: shiftstack.stages.openstack_test |
| 40 | +- name: Amphora LB tests — phase 1 (isolation-sensitive cases on clean slate) |
| 41 | + when: lb_amphora_two_phase_tests | bool |
| 42 | + block: |
| 43 | + - name: Run amphora isolated LB openstack-test phase |
| 44 | + ansible.builtin.include_tasks: run_amphora_openstack_test.yml |
| 45 | + vars: |
| 46 | + lb_amphora_openstack_test_results_dir: "{{ artifacts_dir }}/lb_amphora_sourceip_isolated" |
| 47 | + lb_amphora_openstack_test_allowlist: "{{ lb_amphora_isolated_allowlist_resolved }}" |
| 48 | + lb_amphora_openstack_test_blocklist: "{{ lb_ingress_blocklist_resolved }}" |
| 49 | + lb_amphora_openstack_testsuite_name: openstack_tests_lb_amphora_sourceip_isolated |
| 50 | + lb_amphora_openstack_reset_result_dir: true |
| 51 | + |
| 52 | + - name: Cleanup guest LB leftovers between amphora phases |
| 53 | + ansible.builtin.include_tasks: cleanup_lb_test_leftovers.yml |
| 54 | + when: lb_tests_guest_cleanup | bool |
| 55 | + |
| 56 | +- name: Amphora LB tests — phase 2 (remaining amphora cases) |
| 57 | + ansible.builtin.include_tasks: run_amphora_openstack_test.yml |
30 | 58 | vars: |
31 | | - openstack_test_results_dir: "{{ artifacts_dir }}/lb_amphora_sourceip" |
32 | | - openstack_tests_allowlist_file: "{{ lb_allowlist_file }}" |
33 | | - openstack_testsuite_name: openstack_tests_lb_amphora_sourceip |
34 | | - openstack_reset_result_dir: no # As we want to keep the logs generated in the previous step |
| 59 | + lb_amphora_openstack_test_results_dir: "{{ artifacts_dir }}/lb_amphora_sourceip" |
| 60 | + lb_amphora_openstack_test_allowlist: "{{ lb_amphora_allowlist_resolved }}" |
| 61 | + # Exclude isolated + late sourceRanges so those patterns are not double-run. |
| 62 | + lb_amphora_openstack_test_blocklist: >- |
| 63 | + {{ lb_ingress_blocklist_resolved ~ ',' ~ lb_amphora_isolated_allowlist_resolved ~ ',' ~ lb_amphora_sourceranges_allowlist_resolved |
| 64 | + if (lb_amphora_two_phase_tests | bool) |
| 65 | + else lb_ingress_blocklist_resolved }} |
| 66 | + lb_amphora_openstack_testsuite_name: openstack_tests_lb_amphora_sourceip |
| 67 | + lb_amphora_openstack_reset_result_dir: false |
| 68 | + |
| 69 | +- name: Amphora LB tests — phase 3 (UDP sourceRanges after other Amphora cases) |
| 70 | + when: lb_amphora_two_phase_tests | bool |
| 71 | + block: |
| 72 | + - name: Cleanup guest LB leftovers before late sourceRanges |
| 73 | + ansible.builtin.include_tasks: cleanup_lb_test_leftovers.yml |
| 74 | + when: lb_tests_guest_cleanup | bool |
| 75 | + |
| 76 | + - name: Run amphora UDP sourceRanges openstack-test phase |
| 77 | + ansible.builtin.include_tasks: run_amphora_openstack_test.yml |
| 78 | + vars: |
| 79 | + lb_amphora_openstack_test_results_dir: "{{ artifacts_dir }}/lb_amphora_sourceip_sourceranges" |
| 80 | + lb_amphora_openstack_test_allowlist: "{{ lb_amphora_sourceranges_allowlist_resolved }}" |
| 81 | + lb_amphora_openstack_test_blocklist: "{{ lb_ingress_blocklist_resolved }}" |
| 82 | + lb_amphora_openstack_testsuite_name: openstack_tests_lb_amphora_sourceip_sourceranges |
| 83 | + lb_amphora_openstack_reset_result_dir: true |
35 | 84 |
|
36 | 85 | - name: Enable OVN provider on cloud-provider-config |
37 | 86 | ansible.builtin.include_tasks: change_cloud_cm.yml |
|
47 | 96 | name: shiftstack.stages.openstack_test |
48 | 97 | vars: |
49 | 98 | openstack_test_results_dir: "{{ artifacts_dir }}/lb_ovn" |
50 | | - openstack_tests_allowlist_file: "{{ lb_allowlist_file }}" |
| 99 | + openstack_tests_allowlist_file: "{{ lb_ovn_allowlist_resolved }}" |
| 100 | + openstack_tests_blocklist_file: "{{ lb_ingress_blocklist_resolved }}" |
| 101 | + openstack_test_ote_run_serial: true |
51 | 102 | openstack_testsuite_name: openstack_tests_lb_ovn |
52 | 103 | openstack_reset_result_dir: no # As we want to keep the logs generated in the previous step |
0 commit comments