diff --git a/.azure-pipelines/baseline_test/baseline.test.mgmt.public.yml b/.azure-pipelines/baseline_test/baseline.test.mgmt.public.yml index d9581e56d13..f0173b973ba 100644 --- a/.azure-pipelines/baseline_test/baseline.test.mgmt.public.yml +++ b/.azure-pipelines/baseline_test/baseline.test.mgmt.public.yml @@ -28,6 +28,10 @@ parameters: type: string default: "False" + - name: INCLUDE_JOBS + type: string + default: "all" + variables: - group: SONiC-Elastictest - name: inventory @@ -50,6 +54,7 @@ stages: RETRY_TIMES: ${{ parameters.RETRY_TIMES }} STOP_ON_FAILURE: ${{ parameters.TEST_PLAN_STOP_ON_FAILURE }} TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }} + INCLUDE_JOBS: ${{ parameters.INCLUDE_JOBS }} - stage: Test_round_2 dependsOn: @@ -62,6 +67,7 @@ stages: RETRY_TIMES: ${{ parameters.RETRY_TIMES }} STOP_ON_FAILURE: ${{ parameters.TEST_PLAN_STOP_ON_FAILURE }} TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }} + INCLUDE_JOBS: ${{ parameters.INCLUDE_JOBS }} - stage: Test_round_3 dependsOn: @@ -74,6 +80,7 @@ stages: RETRY_TIMES: ${{ parameters.RETRY_TIMES }} STOP_ON_FAILURE: ${{ parameters.TEST_PLAN_STOP_ON_FAILURE }} TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }} + INCLUDE_JOBS: ${{ parameters.INCLUDE_JOBS }} - stage: Test_round_4 dependsOn: @@ -86,3 +93,4 @@ stages: RETRY_TIMES: ${{ parameters.RETRY_TIMES }} STOP_ON_FAILURE: ${{ parameters.TEST_PLAN_STOP_ON_FAILURE }} TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }} + INCLUDE_JOBS: ${{ parameters.INCLUDE_JOBS }} diff --git a/.azure-pipelines/pr_test_template.yml b/.azure-pipelines/pr_test_template.yml index 21c99d7ca4d..a22f37e9325 100644 --- a/.azure-pipelines/pr_test_template.yml +++ b/.azure-pipelines/pr_test_template.yml @@ -62,6 +62,10 @@ parameters: type: string default: "" +- name: INCLUDE_JOBS + type: string + default: "t0_job,t1_job,t2_job" + jobs: - job: get_impacted_area displayName: "Get impacted area" @@ -82,9 +86,10 @@ jobs: displayName: "impacted-area-kvmtest-t0 by Elastictest" dependsOn: - get_impacted_area - condition: contains(dependencies.get_impacted_area.outputs['SetVariableTask.PR_CHECKERS'], 't0_checker') variables: TEST_SCRIPTS: $[ dependencies.get_impacted_area.outputs['SetVariableTask.TEST_SCRIPTS'] ] + RUN_BY_INCLUDE_JOBS: ${{ or(eq(parameters.INCLUDE_JOBS, 'all'), contains(parameters.INCLUDE_JOBS, 't0_job')) }} + condition: and(contains(dependencies.get_impacted_area.outputs['SetVariableTask.PR_CHECKERS'], 't0_checker'), eq(variables['RUN_BY_INCLUDE_JOBS'], 'True')) timeoutInMinutes: ${{ parameters.TIMEOUT_IN_MINUTES_PR_TEST }} continueOnError: false pool: ${{ parameters.AGENT_POOL }} @@ -119,56 +124,57 @@ jobs: ${{ each param in parameters.OVERRIDE_PARAMS }}: ${{ param.key }}: ${{ param.value }} - # - job: impacted_area_t0_2vlans_elastictest - # displayName: "impacted-area-kvmtest-t0-2vlans by Elastictest" - # dependsOn: - # - get_impacted_area - # condition: contains(dependencies.get_impacted_area.outputs['SetVariableTask.PR_CHECKERS'], 't0-2vlans_checker') - # variables: - # TEST_SCRIPTS: $[ dependencies.get_impacted_area.outputs['SetVariableTask.TEST_SCRIPTS'] ] - # timeoutInMinutes: ${{ parameters.TIMEOUT_IN_MINUTES_PR_TEST }} - # continueOnError: false - # pool: ${{ parameters.AGENT_POOL }} - # steps: - # - ${{ if eq(parameters.CHECKOUT_SONIC_MGMT, true) }}: - # - checkout: ${{ parameters.SONIC_MGMT_NAME }} - # displayName: "Checkout sonic-mgmt repository" - - # - template: impacted_area_testing/calculate-instance-numbers.yml - # parameters: - # TOPOLOGY: t0-2vlans - # BUILD_BRANCH: $(BUILD_BRANCH) - - # - template: run-test-elastictest-template.yml - # parameters: - # BUILD_REASON: ${{ parameters.BUILD_REASON }} - # RETRY_TIMES: ${{ parameters.RETRY_TIMES }} - # STOP_ON_FAILURE: ${{ parameters.STOP_ON_FAILURE }} - # TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }} - # MAX_RUN_TEST_MINUTES: ${{ parameters.MAX_RUN_TEST_MINUTES }} - # MGMT_COMMIT_HASH: ${{ parameters.MGMT_COMMIT_HASH }} - # PTF_MODIFIED: ${{ parameters.PTF_MODIFIED }} - # EXPECTED_RESULT: ${{ parameters.EXPECTED_RESULT }} - # TOPOLOGY: t0 - # SCRIPTS: $(SCRIPTS) - # MIN_WORKER: $(INSTANCE_NUMBER) - # MAX_WORKER: $(INSTANCE_NUMBER) - # DEPLOY_MG_EXTRA_PARAMS: "-e vlan_config=two_vlan_a" - # KVM_IMAGE_BRANCH: $(BUILD_BRANCH) - # KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }} - # KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }} - # MGMT_BRANCH: $(BUILD_BRANCH) - # COMMON_EXTRA_PARAMS: "--disable_sai_validation " - # ${{ each param in parameters.OVERRIDE_PARAMS }}: - # ${{ param.key }}: ${{ param.value }} + - job: impacted_area_t0_2vlans_elastictest + displayName: "impacted-area-kvmtest-t0-2vlans by Elastictest" + dependsOn: + - get_impacted_area + variables: + TEST_SCRIPTS: $[ dependencies.get_impacted_area.outputs['SetVariableTask.TEST_SCRIPTS'] ] + RUN_BY_INCLUDE_JOBS: ${{ or(eq(parameters.INCLUDE_JOBS, 'all'), contains(parameters.INCLUDE_JOBS, 't0_2vlans_job')) }} + condition: and(contains(dependencies.get_impacted_area.outputs['SetVariableTask.PR_CHECKERS'], 't0-2vlans_checker'), eq(variables['RUN_BY_INCLUDE_JOBS'], 'True')) + timeoutInMinutes: ${{ parameters.TIMEOUT_IN_MINUTES_PR_TEST }} + continueOnError: false + pool: ${{ parameters.AGENT_POOL }} + steps: + - ${{ if eq(parameters.CHECKOUT_SONIC_MGMT, true) }}: + - checkout: ${{ parameters.SONIC_MGMT_NAME }} + displayName: "Checkout sonic-mgmt repository" + + - template: impacted_area_testing/calculate-instance-numbers.yml + parameters: + TOPOLOGY: t0-2vlans + BUILD_BRANCH: $(BUILD_BRANCH) + + - template: run-test-elastictest-template.yml + parameters: + BUILD_REASON: ${{ parameters.BUILD_REASON }} + RETRY_TIMES: ${{ parameters.RETRY_TIMES }} + STOP_ON_FAILURE: ${{ parameters.STOP_ON_FAILURE }} + TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }} + MAX_RUN_TEST_MINUTES: ${{ parameters.MAX_RUN_TEST_MINUTES }} + MGMT_COMMIT_HASH: ${{ parameters.MGMT_COMMIT_HASH }} + PTF_MODIFIED: ${{ parameters.PTF_MODIFIED }} + EXPECTED_RESULT: ${{ parameters.EXPECTED_RESULT }} + TOPOLOGY: t0 + SCRIPTS: $(SCRIPTS) + MIN_WORKER: $(INSTANCE_NUMBER) + MAX_WORKER: $(INSTANCE_NUMBER) + DEPLOY_MG_EXTRA_PARAMS: "-e vlan_config=two_vlan_a" + KVM_IMAGE_BRANCH: $(BUILD_BRANCH) + KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }} + MGMT_BRANCH: $(BUILD_BRANCH) + COMMON_EXTRA_PARAMS: "--disable_sai_validation " + ${{ each param in parameters.OVERRIDE_PARAMS }}: + ${{ param.key }}: ${{ param.value }} - job: impacted_area_t1_lag_elastictest displayName: "impacted-area-kvmtest-t1-lag by Elastictest" dependsOn: - get_impacted_area - condition: contains(dependencies.get_impacted_area.outputs['SetVariableTask.PR_CHECKERS'], 't1_checker') variables: TEST_SCRIPTS: $[ dependencies.get_impacted_area.outputs['SetVariableTask.TEST_SCRIPTS'] ] + RUN_BY_INCLUDE_JOBS: ${{ or(eq(parameters.INCLUDE_JOBS, 'all'), contains(parameters.INCLUDE_JOBS, 't1_job')) }} + condition: and(contains(dependencies.get_impacted_area.outputs['SetVariableTask.PR_CHECKERS'], 't1_checker'), eq(variables['RUN_BY_INCLUDE_JOBS'], 'True')) timeoutInMinutes: ${{ parameters.TIMEOUT_IN_MINUTES_PR_TEST }} continueOnError: false pool: ${{ parameters.AGENT_POOL }} @@ -203,191 +209,192 @@ jobs: ${{ each param in parameters.OVERRIDE_PARAMS }}: ${{ param.key }}: ${{ param.value }} - # - job: impacted_area_dualtor_elastictest - # displayName: "impacted-area-kvmtest-dualtor by Elastictest" - # dependsOn: - # - get_impacted_area - # condition: contains(dependencies.get_impacted_area.outputs['SetVariableTask.PR_CHECKERS'], 'dualtor_checker') - # variables: - # TEST_SCRIPTS: $[ dependencies.get_impacted_area.outputs['SetVariableTask.TEST_SCRIPTS'] ] - # timeoutInMinutes: ${{ parameters.TIMEOUT_IN_MINUTES_PR_TEST }} - # continueOnError: false - # pool: ${{ parameters.AGENT_POOL }} - # steps: - # - ${{ if eq(parameters.CHECKOUT_SONIC_MGMT, true) }}: - # - checkout: ${{ parameters.SONIC_MGMT_NAME }} - # displayName: "Checkout sonic-mgmt repository" - - # - template: impacted_area_testing/calculate-instance-numbers.yml - # parameters: - # TOPOLOGY: dualtor - # BUILD_BRANCH: $(BUILD_BRANCH) - - # - template: run-test-elastictest-template.yml - # parameters: - # BUILD_REASON: ${{ parameters.BUILD_REASON }} - # RETRY_TIMES: ${{ parameters.RETRY_TIMES }} - # STOP_ON_FAILURE: ${{ parameters.STOP_ON_FAILURE }} - # TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }} - # MAX_RUN_TEST_MINUTES: ${{ parameters.MAX_RUN_TEST_MINUTES }} - # MGMT_COMMIT_HASH: ${{ parameters.MGMT_COMMIT_HASH }} - # PTF_MODIFIED: ${{ parameters.PTF_MODIFIED }} - # EXPECTED_RESULT: ${{ parameters.EXPECTED_RESULT }} - # TOPOLOGY: dualtor - # SCRIPTS: $(SCRIPTS) - # MIN_WORKER: $(INSTANCE_NUMBER) - # MAX_WORKER: $(INSTANCE_NUMBER) - # COMMON_EXTRA_PARAMS: "--disable_loganalyzer --disable_sai_validation " - # KVM_IMAGE_BRANCH: $(BUILD_BRANCH) - # KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }} - # KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }} - # MGMT_BRANCH: $(BUILD_BRANCH) - # ${{ each param in parameters.OVERRIDE_PARAMS }}: - # ${{ param.key }}: ${{ param.value }} - - # - job: impacted_area_t0_sonic_elastictest - # displayName: "impacted-area-kvmtest-t0-sonic by Elastictest" - # dependsOn: - # - get_impacted_area - # condition: contains(dependencies.get_impacted_area.outputs['SetVariableTask.PR_CHECKERS'], 't0-sonic_checker') - # variables: - # TEST_SCRIPTS: $[ dependencies.get_impacted_area.outputs['SetVariableTask.TEST_SCRIPTS'] ] - # timeoutInMinutes: ${{ parameters.TIMEOUT_IN_MINUTES_PR_TEST }} - # continueOnError: false - # pool: ${{ parameters.AGENT_POOL }} - # steps: - # - ${{ if eq(parameters.CHECKOUT_SONIC_MGMT, true) }}: - # - checkout: ${{ parameters.SONIC_MGMT_NAME }} - # displayName: "Checkout sonic-mgmt repository" - - # - template: impacted_area_testing/calculate-instance-numbers.yml - # parameters: - # TOPOLOGY: t0-sonic - # BUILD_BRANCH: $(BUILD_BRANCH) - - # - template: run-test-elastictest-template.yml - # parameters: - # BUILD_REASON: ${{ parameters.BUILD_REASON }} - # RETRY_TIMES: ${{ parameters.RETRY_TIMES }} - # STOP_ON_FAILURE: ${{ parameters.STOP_ON_FAILURE }} - # TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }} - # MAX_RUN_TEST_MINUTES: ${{ parameters.MAX_RUN_TEST_MINUTES }} - # MGMT_COMMIT_HASH: ${{ parameters.MGMT_COMMIT_HASH }} - # PTF_MODIFIED: ${{ parameters.PTF_MODIFIED }} - # EXPECTED_RESULT: ${{ parameters.EXPECTED_RESULT }} - # TOPOLOGY: t0-64-32 - # SCRIPTS: $(SCRIPTS) - # MIN_WORKER: $(INSTANCE_NUMBER) - # MAX_WORKER: $(INSTANCE_NUMBER) - # KVM_IMAGE_BRANCH: $(BUILD_BRANCH) - # KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }} - # KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }} - # COMMON_EXTRA_PARAMS: "--neighbor_type=sonic --disable_sai_validation " - # VM_TYPE: vsonic - # MGMT_BRANCH: $(BUILD_BRANCH) - # SPECIFIC_PARAM: '[ - # {"name": "bgp/test_bgp_fact.py", "param": "--neighbor_type=sonic --enable_macsec --macsec_profile=128_SCI,256_XPN_SCI"}, - # {"name": "macsec", "param": "--neighbor_type=sonic --enable_macsec --macsec_profile=128_SCI,256_XPN_SCI"} - # ]' - # ${{ each param in parameters.OVERRIDE_PARAMS }}: - # ${{ param.key }}: ${{ param.value }} - - # - job: impacted_area_dpu_elastictest - # displayName: "impacted-area-kvmtest-dpu by Elastictest" - # dependsOn: - # - get_impacted_area - # condition: contains(dependencies.get_impacted_area.outputs['SetVariableTask.PR_CHECKERS'], 'dpu_checker') - # variables: - # TEST_SCRIPTS: $[ dependencies.get_impacted_area.outputs['SetVariableTask.TEST_SCRIPTS'] ] - # timeoutInMinutes: ${{ parameters.TIMEOUT_IN_MINUTES_PR_TEST }} - # continueOnError: false - # pool: ${{ parameters.AGENT_POOL }} - # steps: - # - ${{ if eq(parameters.CHECKOUT_SONIC_MGMT, true) }}: - # - checkout: ${{ parameters.SONIC_MGMT_NAME }} - # displayName: "Checkout sonic-mgmt repository" - - # - template: impacted_area_testing/calculate-instance-numbers.yml - # parameters: - # TOPOLOGY: dpu - # BUILD_BRANCH: $(BUILD_BRANCH) - - # - template: run-test-elastictest-template.yml - # parameters: - # BUILD_REASON: ${{ parameters.BUILD_REASON }} - # RETRY_TIMES: ${{ parameters.RETRY_TIMES }} - # STOP_ON_FAILURE: ${{ parameters.STOP_ON_FAILURE }} - # TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }} - # MAX_RUN_TEST_MINUTES: ${{ parameters.MAX_RUN_TEST_MINUTES }} - # MGMT_COMMIT_HASH: ${{ parameters.MGMT_COMMIT_HASH }} - # PTF_MODIFIED: ${{ parameters.PTF_MODIFIED }} - # EXPECTED_RESULT: ${{ parameters.EXPECTED_RESULT }} - # TOPOLOGY: dpu - # SCRIPTS: $(SCRIPTS) - # MIN_WORKER: $(INSTANCE_NUMBER) - # MAX_WORKER: $(INSTANCE_NUMBER) - # KVM_IMAGE_BRANCH: $(BUILD_BRANCH) - # KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }} - # KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }} - # MGMT_BRANCH: $(BUILD_BRANCH) - # COMMON_EXTRA_PARAMS: "--disable_sai_validation " - # SPECIFIC_PARAM: '[ - # {"name": "dash/test_dash_vnet.py", "param": "--skip_dataplane_checking"} - # ]' - # ${{ each param in parameters.OVERRIDE_PARAMS }}: - # ${{ param.key }}: ${{ param.value }} - - # # This PR checker aims to run all t1 test scripts on multi-asic topology. - # - job: impacted_area_multi_asic_t1_elastictest - # displayName: "impacted-area-kvmtest-multi-asic-t1 by Elastictest" - # dependsOn: - # - get_impacted_area - # condition: contains(dependencies.get_impacted_area.outputs['SetVariableTask.PR_CHECKERS'], 't1_checker') - # variables: - # TEST_SCRIPTS: $[ dependencies.get_impacted_area.outputs['SetVariableTask.TEST_SCRIPTS'] ] - # timeoutInMinutes: ${{ parameters.TIMEOUT_IN_MINUTES_PR_TEST }} - # continueOnError: false - # pool: ${{ parameters.AGENT_POOL }} - # steps: - # - ${{ if eq(parameters.CHECKOUT_SONIC_MGMT, true) }}: - # - checkout: ${{ parameters.SONIC_MGMT_NAME }} - # displayName: "Checkout sonic-mgmt repository" - - # - template: impacted_area_testing/calculate-instance-numbers.yml - # parameters: - # TOPOLOGY: t1 - # BUILD_BRANCH: $(BUILD_BRANCH) - - # - template: run-test-elastictest-template.yml - # parameters: - # BUILD_REASON: ${{ parameters.BUILD_REASON }} - # RETRY_TIMES: ${{ parameters.RETRY_TIMES }} - # STOP_ON_FAILURE: ${{ parameters.STOP_ON_FAILURE }} - # TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }} - # MAX_RUN_TEST_MINUTES: ${{ parameters.MAX_RUN_TEST_MINUTES }} - # MGMT_COMMIT_HASH: ${{ parameters.MGMT_COMMIT_HASH }} - # PTF_MODIFIED: ${{ parameters.PTF_MODIFIED }} - # EXPECTED_RESULT: ${{ parameters.EXPECTED_RESULT }} - # TOPOLOGY: t1-8-lag - # SCRIPTS: $(SCRIPTS) - # MIN_WORKER: $(INSTANCE_NUMBER) - # MAX_WORKER: $(INSTANCE_NUMBER) - # NUM_ASIC: 4 - # KVM_IMAGE_BRANCH: $(BUILD_BRANCH) - # KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }} - # KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }} - # MGMT_BRANCH: $(BUILD_BRANCH) - # COMMON_EXTRA_PARAMS: "--disable_sai_validation " - # ${{ each param in parameters.OVERRIDE_PARAMS }}: - # ${{ param.key }}: ${{ param.value }} + - job: impacted_area_dualtor_elastictest + displayName: "impacted-area-kvmtest-dualtor by Elastictest" + dependsOn: + - get_impacted_area + variables: + TEST_SCRIPTS: $[ dependencies.get_impacted_area.outputs['SetVariableTask.TEST_SCRIPTS'] ] + RUN_BY_INCLUDE_JOBS: ${{ or(eq(parameters.INCLUDE_JOBS, 'all'), contains(parameters.INCLUDE_JOBS, 'dualtor_job')) }} + condition: and(contains(dependencies.get_impacted_area.outputs['SetVariableTask.PR_CHECKERS'], 'dualtor_checker'), eq(variables['RUN_BY_INCLUDE_JOBS'], 'True')) + timeoutInMinutes: ${{ parameters.TIMEOUT_IN_MINUTES_PR_TEST }} + continueOnError: false + pool: ${{ parameters.AGENT_POOL }} + steps: + - ${{ if eq(parameters.CHECKOUT_SONIC_MGMT, true) }}: + - checkout: ${{ parameters.SONIC_MGMT_NAME }} + displayName: "Checkout sonic-mgmt repository" + + - template: impacted_area_testing/calculate-instance-numbers.yml + parameters: + TOPOLOGY: dualtor + BUILD_BRANCH: $(BUILD_BRANCH) + + - template: run-test-elastictest-template.yml + parameters: + BUILD_REASON: ${{ parameters.BUILD_REASON }} + RETRY_TIMES: ${{ parameters.RETRY_TIMES }} + STOP_ON_FAILURE: ${{ parameters.STOP_ON_FAILURE }} + TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }} + MAX_RUN_TEST_MINUTES: ${{ parameters.MAX_RUN_TEST_MINUTES }} + MGMT_COMMIT_HASH: ${{ parameters.MGMT_COMMIT_HASH }} + PTF_MODIFIED: ${{ parameters.PTF_MODIFIED }} + EXPECTED_RESULT: ${{ parameters.EXPECTED_RESULT }} + TOPOLOGY: dualtor + SCRIPTS: $(SCRIPTS) + MIN_WORKER: $(INSTANCE_NUMBER) + MAX_WORKER: $(INSTANCE_NUMBER) + COMMON_EXTRA_PARAMS: "--disable_loganalyzer --disable_sai_validation " + KVM_IMAGE_BRANCH: $(BUILD_BRANCH) + KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }} + MGMT_BRANCH: $(BUILD_BRANCH) + ${{ each param in parameters.OVERRIDE_PARAMS }}: + ${{ param.key }}: ${{ param.value }} + + - job: impacted_area_t0_sonic_elastictest + displayName: "impacted-area-kvmtest-t0-sonic by Elastictest" + dependsOn: + - get_impacted_area + variables: + TEST_SCRIPTS: $[ dependencies.get_impacted_area.outputs['SetVariableTask.TEST_SCRIPTS'] ] + RUN_BY_INCLUDE_JOBS: ${{ or(eq(parameters.INCLUDE_JOBS, 'all'), contains(parameters.INCLUDE_JOBS, 't0_sonic_job')) }} + condition: and(contains(dependencies.get_impacted_area.outputs['SetVariableTask.PR_CHECKERS'], 't0-sonic_checker'), eq(variables['RUN_BY_INCLUDE_JOBS'], 'True')) + timeoutInMinutes: ${{ parameters.TIMEOUT_IN_MINUTES_PR_TEST }} + continueOnError: false + pool: ${{ parameters.AGENT_POOL }} + steps: + - ${{ if eq(parameters.CHECKOUT_SONIC_MGMT, true) }}: + - checkout: ${{ parameters.SONIC_MGMT_NAME }} + displayName: "Checkout sonic-mgmt repository" + + - template: impacted_area_testing/calculate-instance-numbers.yml + parameters: + TOPOLOGY: t0-sonic + BUILD_BRANCH: $(BUILD_BRANCH) + + - template: run-test-elastictest-template.yml + parameters: + BUILD_REASON: ${{ parameters.BUILD_REASON }} + RETRY_TIMES: ${{ parameters.RETRY_TIMES }} + STOP_ON_FAILURE: ${{ parameters.STOP_ON_FAILURE }} + TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }} + MAX_RUN_TEST_MINUTES: ${{ parameters.MAX_RUN_TEST_MINUTES }} + MGMT_COMMIT_HASH: ${{ parameters.MGMT_COMMIT_HASH }} + PTF_MODIFIED: ${{ parameters.PTF_MODIFIED }} + EXPECTED_RESULT: ${{ parameters.EXPECTED_RESULT }} + TOPOLOGY: t0-64-32 + SCRIPTS: $(SCRIPTS) + MIN_WORKER: $(INSTANCE_NUMBER) + MAX_WORKER: $(INSTANCE_NUMBER) + KVM_IMAGE_BRANCH: $(BUILD_BRANCH) + KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }} + COMMON_EXTRA_PARAMS: "--neighbor_type=sonic --disable_sai_validation " + VM_TYPE: vsonic + MGMT_BRANCH: $(BUILD_BRANCH) + SPECIFIC_PARAM: '[ + {"name": "bgp/test_bgp_fact.py", "param": "--neighbor_type=sonic --enable_macsec --macsec_profile=128_SCI,256_XPN_SCI"}, + {"name": "macsec", "param": "--neighbor_type=sonic --enable_macsec --macsec_profile=128_SCI,256_XPN_SCI"} + ]' + ${{ each param in parameters.OVERRIDE_PARAMS }}: + ${{ param.key }}: ${{ param.value }} + + - job: impacted_area_dpu_elastictest + displayName: "impacted-area-kvmtest-dpu by Elastictest" + dependsOn: + - get_impacted_area + variables: + TEST_SCRIPTS: $[ dependencies.get_impacted_area.outputs['SetVariableTask.TEST_SCRIPTS'] ] + RUN_BY_INCLUDE_JOBS: ${{ or(eq(parameters.INCLUDE_JOBS, 'all'), contains(parameters.INCLUDE_JOBS, 'dpu_job')) }} + condition: and(contains(dependencies.get_impacted_area.outputs['SetVariableTask.PR_CHECKERS'], 'dpu_checker'), eq(variables['RUN_BY_INCLUDE_JOBS'], 'True')) + timeoutInMinutes: ${{ parameters.TIMEOUT_IN_MINUTES_PR_TEST }} + continueOnError: false + pool: ${{ parameters.AGENT_POOL }} + steps: + - ${{ if eq(parameters.CHECKOUT_SONIC_MGMT, true) }}: + - checkout: ${{ parameters.SONIC_MGMT_NAME }} + displayName: "Checkout sonic-mgmt repository" + + - template: impacted_area_testing/calculate-instance-numbers.yml + parameters: + TOPOLOGY: dpu + BUILD_BRANCH: $(BUILD_BRANCH) + + - template: run-test-elastictest-template.yml + parameters: + BUILD_REASON: ${{ parameters.BUILD_REASON }} + RETRY_TIMES: ${{ parameters.RETRY_TIMES }} + STOP_ON_FAILURE: ${{ parameters.STOP_ON_FAILURE }} + TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }} + MAX_RUN_TEST_MINUTES: ${{ parameters.MAX_RUN_TEST_MINUTES }} + MGMT_COMMIT_HASH: ${{ parameters.MGMT_COMMIT_HASH }} + PTF_MODIFIED: ${{ parameters.PTF_MODIFIED }} + EXPECTED_RESULT: ${{ parameters.EXPECTED_RESULT }} + TOPOLOGY: dpu + SCRIPTS: $(SCRIPTS) + MIN_WORKER: $(INSTANCE_NUMBER) + MAX_WORKER: $(INSTANCE_NUMBER) + KVM_IMAGE_BRANCH: $(BUILD_BRANCH) + KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }} + MGMT_BRANCH: $(BUILD_BRANCH) + COMMON_EXTRA_PARAMS: "--disable_sai_validation " + SPECIFIC_PARAM: '[ + {"name": "dash/test_dash_vnet.py", "param": "--skip_dataplane_checking"} + ]' + ${{ each param in parameters.OVERRIDE_PARAMS }}: + ${{ param.key }}: ${{ param.value }} + + # This PR checker aims to run all t1 test scripts on multi-asic topology. + - job: impacted_area_multi_asic_t1_elastictest + displayName: "impacted-area-kvmtest-multi-asic-t1 by Elastictest" + dependsOn: + - get_impacted_area + variables: + TEST_SCRIPTS: $[ dependencies.get_impacted_area.outputs['SetVariableTask.TEST_SCRIPTS'] ] + RUN_BY_INCLUDE_JOBS: ${{ or(eq(parameters.INCLUDE_JOBS, 'all'), contains(parameters.INCLUDE_JOBS, 't1_multi_asic_job')) }} + condition: and(contains(dependencies.get_impacted_area.outputs['SetVariableTask.PR_CHECKERS'], 't1_checker'), eq(variables['RUN_BY_INCLUDE_JOBS'], 'True')) + timeoutInMinutes: ${{ parameters.TIMEOUT_IN_MINUTES_PR_TEST }} + continueOnError: false + pool: ${{ parameters.AGENT_POOL }} + steps: + - ${{ if eq(parameters.CHECKOUT_SONIC_MGMT, true) }}: + - checkout: ${{ parameters.SONIC_MGMT_NAME }} + displayName: "Checkout sonic-mgmt repository" + + - template: impacted_area_testing/calculate-instance-numbers.yml + parameters: + TOPOLOGY: t1 + BUILD_BRANCH: $(BUILD_BRANCH) + + - template: run-test-elastictest-template.yml + parameters: + BUILD_REASON: ${{ parameters.BUILD_REASON }} + RETRY_TIMES: ${{ parameters.RETRY_TIMES }} + STOP_ON_FAILURE: ${{ parameters.STOP_ON_FAILURE }} + TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }} + MAX_RUN_TEST_MINUTES: ${{ parameters.MAX_RUN_TEST_MINUTES }} + MGMT_COMMIT_HASH: ${{ parameters.MGMT_COMMIT_HASH }} + PTF_MODIFIED: ${{ parameters.PTF_MODIFIED }} + EXPECTED_RESULT: ${{ parameters.EXPECTED_RESULT }} + TOPOLOGY: t1-8-lag + SCRIPTS: $(SCRIPTS) + MIN_WORKER: $(INSTANCE_NUMBER) + MAX_WORKER: $(INSTANCE_NUMBER) + NUM_ASIC: 4 + KVM_IMAGE_BRANCH: $(BUILD_BRANCH) + KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }} + MGMT_BRANCH: $(BUILD_BRANCH) + COMMON_EXTRA_PARAMS: "--disable_sai_validation " + ${{ each param in parameters.OVERRIDE_PARAMS }}: + ${{ param.key }}: ${{ param.value }} - job: impacted_area_t2_elastictest displayName: "impacted-area-kvmtest-t2 by Elastictest" dependsOn: - get_impacted_area - condition: contains(dependencies.get_impacted_area.outputs['SetVariableTask.PR_CHECKERS'], 't2_checker') variables: TEST_SCRIPTS: $[ dependencies.get_impacted_area.outputs['SetVariableTask.TEST_SCRIPTS'] ] + RUN_BY_INCLUDE_JOBS: ${{ or(eq(parameters.INCLUDE_JOBS, 'all'), contains(parameters.INCLUDE_JOBS, 't2_job')) }} + condition: and(contains(dependencies.get_impacted_area.outputs['SetVariableTask.PR_CHECKERS'], 't2_checker'), eq(variables['RUN_BY_INCLUDE_JOBS'], 'True')) timeoutInMinutes: ${{ parameters.TIMEOUT_IN_MINUTES_PR_TEST }} continueOnError: false pool: ${{ parameters.AGENT_POOL }} @@ -443,7 +450,6 @@ jobs: # MAX_WORKER: $(T1_LAG_VPP_INSTANCE_NUM) # KVM_IMAGE_BRANCH: $(BUILD_BRANCH) # KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }} -# KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }} # MGMT_BRANCH: $(BUILD_BRANCH) # ASIC_TYPE: "vpp" # KVM_IMAGE_BUILD_PIPELINE_ID: "2818"