diff options
Diffstat (limited to 'jjb/functest/functest-daily-jobs.yaml')
-rw-r--r-- | jjb/functest/functest-daily-jobs.yaml | 438 |
1 files changed, 438 insertions, 0 deletions
diff --git a/jjb/functest/functest-daily-jobs.yaml b/jjb/functest/functest-daily-jobs.yaml new file mode 100644 index 000000000..ae226b665 --- /dev/null +++ b/jjb/functest/functest-daily-jobs.yaml @@ -0,0 +1,438 @@ +--- +################################### +# job configuration for functest +################################### +- project: + name: functest-daily + + project: functest + + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + fraser: &fraser + stream: fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + # ------------------------------- + # POD, INSTALLER, AND BRANCH MAPPING + # ------------------------------- + # Installers using labels + # CI PODs + # This section should only contain the installers + # that have been switched using labels for slaves + # ------------------------------- + pod: + # fuel CI PODs + - baremetal: + slave-label: fuel-baremetal + installer: fuel + <<: *master + - virtual: + slave-label: fuel-virtual + installer: fuel + <<: *master + - baremetal: + slave-label: fuel-baremetal + installer: fuel + <<: *fraser + - virtual: + slave-label: fuel-virtual + installer: fuel + <<: *fraser + # joid CI PODs + - baremetal: + slave-label: joid-baremetal + installer: joid + <<: *master + - virtual: + slave-label: joid-virtual + installer: joid + <<: *master + - baremetal: + slave-label: joid-baremetal + installer: joid + <<: *fraser + - virtual: + slave-label: joid-virtual + installer: joid + <<: *fraser + # compass CI PODs + - baremetal: + slave-label: compass-baremetal + installer: compass + <<: *master + - virtual: + slave-label: compass-virtual + installer: compass + <<: *master + - baremetal: + slave-label: compass-baremetal + installer: compass + <<: *fraser + - virtual: + slave-label: compass-virtual + installer: compass + <<: *fraser + # apex CI PODs + - virtual: + slave-label: apex-virtual-master + installer: apex + <<: *master + - baremetal: + slave-label: apex-baremetal-master + installer: apex + <<: *master + - virtual: + slave-label: apex-virtual-fraser + installer: apex + <<: *fraser + - baremetal: + slave-label: apex-baremetal-fraser + installer: apex + <<: *fraser + # armband CI PODs + - armband-baremetal: + slave-label: armband-baremetal + installer: fuel + <<: *master + - armband-virtual: + slave-label: armband-virtual + installer: fuel + <<: *master + - armband-baremetal: + slave-label: armband-baremetal + installer: fuel + <<: *fraser + - armband-virtual: + slave-label: armband-virtual + installer: fuel + <<: *fraser + # daisy CI PODs + - baremetal: + slave-label: daisy-baremetal + installer: daisy + <<: *master + - virtual: + slave-label: daisy-virtual + installer: daisy + <<: *master + - baremetal: + slave-label: daisy-baremetal + installer: daisy + <<: *fraser + - virtual: + slave-label: daisy-virtual + installer: daisy + <<: *fraser + # netvirt 3rd party ci + - virtual: + slave-label: odl-netvirt-virtual + installer: netvirt + <<: *master + # ------------------------------- + # None-CI PODs + # ------------------------------- + - orange-pod1: + slave-label: '{pod}' + installer: joid + <<: *master + - orange-pod5: + slave-label: '{pod}' + installer: fuel + <<: *master + - orange-pod2: + slave-label: '{pod}' + installer: joid + <<: *master + - baremetal-centos: + slave-label: 'intel-pod8' + installer: compass + <<: *master + - nokia-pod1: + slave-label: '{pod}' + installer: apex + <<: *master + - zte-pod1: + slave-label: '{pod}' + installer: fuel + <<: *master + - zte-pod1: + slave-label: '{pod}' + installer: fuel + <<: *fraser + - zte-pod2: + slave-label: '{pod}' + installer: daisy + <<: *master + - zte-pod2: + slave-label: '{pod}' + installer: daisy + <<: *fraser + - zte-pod3: + slave-label: '{pod}' + installer: daisy + <<: *master + - zte-pod3: + slave-label: '{pod}' + installer: daisy + <<: *fraser + - zte-pod9: + slave-label: '{pod}' + installer: daisy + <<: *master + - zte-pod9: + slave-label: '{pod}' + installer: daisy + <<: *fraser + # ------------------------------- + # PODs for verify jobs triggered by each patch upload + # - ool-virtual1: + # slave-label: '{pod}' + # installer: apex + # <<: *master + # ------------------------------- + + testsuite: + - 'suite': + job-timeout: 60 + - 'daily': + job-timeout: 360 + - 'arm-daily': + job-timeout: 480 + + jobs: + - 'functest-{installer}-{pod}-{testsuite}-{stream}' + +################################ +# job template +################################ +- job-template: + name: 'functest-{installer}-{pod}-{testsuite}-{stream}' + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-per-node: 1 + option: 'project' + + wrappers: + - build-name: + name: '$BUILD_NUMBER Suite: $FUNCTEST_MODE Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: '{job-timeout}' + abort: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{slave-label}-defaults' + - 'functest-{testsuite}-parameter' + - string: + name: DEPLOY_SCENARIO + default: 'os-odl_l2-nofeature-ha' + - string: + name: CLEAN_DOCKER_IMAGES + default: 'false' + description: 'Remove downloaded docker images (opnfv/functest*:*)' + - functest-parameter: + gs-pathname: '{gs-pathname}' + + scm: + - git-scm + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - 'functest-{testsuite}-builder' + + +######################## +# parameter macros +######################## +- parameter: + name: functest-daily-parameter + parameters: + - string: + name: FUNCTEST_MODE + default: 'daily' + description: "Daily suite name to run" + +- parameter: + name: functest-arm-daily-parameter + parameters: + - string: + name: FUNCTEST_MODE + default: 'arm-daily' + description: "Daily suite name (Aarch64) to run" + +- parameter: + name: functest-suite-parameter + parameters: + - choice: + name: FUNCTEST_MODE + choices: + - 'tier' + - 'testcase' + default: 'tier' + description: "Test case or Tier to be run" + - choice: + name: FUNCTEST_SUITE_NAME + choices: + - 'connection_check' + - 'api_check' + - 'snaps_health_check' + - 'vping_userdata' + - 'vping_ssh' + - 'tempest_smoke_serial' + - 'rally_sanity' + - 'odl' + - 'odl_netvirt' + - 'snaps_smoke' + - 'refstack_defcore' + - 'promise' + - 'doctor' + - 'bgpvpn' + - 'parser' + - 'security_scan' + - 'tempest_full_parallel' + - 'rally_full' + - 'cloudify_ims' + - 'cloudify_vrouter' + - 'orchestra_openims' + - 'orchestra_clearwaterims' + default: 'connection_check' + - choice: + name: FUNCTEST_TIER + choices: + - 'healthcheck' + - 'smoke' + - 'features' + - 'components' + - 'vnf' + default: 'healthcheck' + - string: + name: TESTCASE_OPTIONS + default: '' + description: 'Additional parameters specific to test case(s)' + +- parameter: + name: functest-parameter + parameters: + - string: + name: GS_PATHNAME + default: '{gs-pathname}' + description: "Version directory where the opnfv documents will be stored in gs repository" + - string: + name: FUNCTEST_REPO_DIR + default: "/home/opnfv/repos/functest" + description: "Directory where the Functest repository is cloned" + - string: + name: PUSH_RESULTS_TO_DB + default: "true" + description: "Push the results of all the tests to the resultDB" + - string: + name: CI_DEBUG + default: 'false' + description: "Show debug output information" + - string: + name: RC_FILE_PATH + default: '' + description: "Path to the OS credentials file if given" +######################## +# trigger macros +######################## +- trigger: + name: 'functest-master' + triggers: + - pollscm: + cron: "H 9 * * *" +######################## +# builder macros +######################## +- builder: + name: functest-daily-builder + builders: + - 'functest-cleanup' + - 'functest-daily' + - 'functest-store-results' + - 'functest-exit' + +- builder: + name: functest-arm-daily-builder + builders: + - 'functest-cleanup' + - 'functest-arm-daily' + - 'functest-store-results' + - 'functest-exit' + +- builder: + name: functest-suite-builder + builders: + - 'functest-cleanup' + - 'functest-daily' + - 'functest-store-results' + - 'functest-exit' + +- builder: + name: functest-daily + builders: + # yamllint disable rule:indentation + - conditional-step: + condition-kind: regex-match + regex: "os-.*" + label: '$DEPLOY_SCENARIO' + steps: + - shell: + !include-raw: + - ./functest-env-presetup.sh + - ../../utils/fetch_os_creds.sh + - ./functest-alpine.sh + - conditional-step: + condition-kind: regex-match + regex: "k8-.*" + label: '$DEPLOY_SCENARIO' + steps: + - shell: + !include-raw: + - ../../utils/fetch_k8_conf.sh + - ./functest-k8.sh + +# yamllint enable rule:indentation +- builder: + name: functest-arm-daily + builders: + # yamllint disable rule:indentation + - shell: + !include-raw: + - ./functest-env-presetup.sh + - ../../utils/fetch_os_creds.sh + - ./functest-alpine.sh + +# yamllint enable rule:indentation +- builder: + name: functest-store-results + builders: + - shell: + !include-raw: ../../utils/push-test-logs.sh + +- builder: + name: functest-cleanup + builders: + - shell: + !include-raw: ./functest-cleanup.sh + +- builder: + name: functest-exit + builders: + - shell: + !include-raw: ./functest-exit.sh |