diff options
Diffstat (limited to 'jjb/functest/functest-daily-jobs.yml')
-rw-r--r-- | jjb/functest/functest-daily-jobs.yml | 378 |
1 files changed, 378 insertions, 0 deletions
diff --git a/jjb/functest/functest-daily-jobs.yml b/jjb/functest/functest-daily-jobs.yml new file mode 100644 index 000000000..5984b3674 --- /dev/null +++ b/jjb/functest/functest-daily-jobs.yml @@ -0,0 +1,378 @@ +################################### +# job configuration for functest +################################### +- project: + name: functest-daily + + project: functest + +#-------------------------------- +# BRANCH ANCHORS +#-------------------------------- + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + docker-tag: 'latest' + danube: &danube + stream: danube + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + docker-tag: 'stable' +#-------------------------------- +# 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 + <<: *danube + - virtual: + slave-label: fuel-virtual + installer: fuel + <<: *danube +# 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 + <<: *danube + - virtual: + slave-label: joid-virtual + installer: joid + <<: *danube +# 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 + <<: *danube + - virtual: + slave-label: compass-virtual + installer: compass + <<: *danube +# apex CI PODs + - apex-verify-master: + slave-label: '{pod}' + installer: apex + <<: *master + - apex-daily-master: + slave-label: '{pod}' + installer: apex + <<: *master +# - apex-verify-danube: +# slave-label: '{pod}' +# installer: apex +# <<: *danube +# - apex-daily-danube: +# slave-label: '{pod}' +# installer: apex +# <<: *danube +# 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 + <<: *danube + - armband-virtual: + slave-label: armband-virtual + installer: fuel + <<: *danube +# daisy CI PODs + - baremetal: + slave-label: daisy-baremetal + installer: daisy + <<: *master + - virtual: + slave-label: daisy-virtual + installer: daisy + <<: *master +# 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 + - arm-pod2: + slave-label: '{pod}' + installer: fuel + <<: *master + - arm-pod3: + slave-label: '{pod}' + installer: fuel + <<: *master + - zte-pod1: + slave-label: '{pod}' + installer: fuel + <<: *master + - zte-pod1: + slave-label: '{pod}' + installer: fuel + <<: *danube + - zte-pod2: + slave-label: '{pod}' + installer: fuel + <<: *master + - zte-pod3: + slave-label: '{pod}' + installer: fuel + <<: *master + - zte-pod3: + slave-label: '{pod}' + installer: fuel + <<: *danube + - arm-pod2: + slave-label: '{pod}' + installer: fuel + <<: *danube + - arm-pod3: + slave-label: '{pod}' + installer: fuel + <<: *danube +# 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: 180 + + 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_SUITE_NAME 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: DOCKER_TAG + default: '{docker-tag}' + description: 'Tag to pull docker image' + - 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_SUITE_NAME + default: 'daily' + description: "Daily suite name to run" +- parameter: + name: functest-suite-parameter + parameters: + - choice: + name: FUNCTEST_SUITE_NAME + choices: + - 'healthcheck' + - 'vping_userdata' + - 'vping_ssh' + - 'tempest_smoke_serial' + - 'rally_sanity' + - 'odl' + - 'odl_netvirt' + - 'onos' + - 'promise' + - 'doctor' + - 'bgpvpn' + - 'security_scan' + - 'tempest_full_parallel' + - 'rally_full' + - 'vims' + - 'multisite' + - 'parser' + - 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' + - 'set-functest-env' + - 'functest-daily' + - 'functest-store-results' + - 'functest-exit' + +- builder: + name: functest-suite-builder + builders: + - 'functest-cleanup' + - 'set-functest-env' + - 'functest-suite' + +- builder: + name: functest-daily + builders: + - shell: + !include-raw: ./functest-loop.sh + + +- builder: + name: functest-suite + builders: + - shell: + !include-raw: ./functest-suite.sh + +- builder: + name: set-functest-env + builders: + - shell: + !include-raw: ./set-functest-env.sh + +- 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 |