--- ################################### # 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: 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-nosdn-nofeature-noha' - 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-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_ssh' - 'vping_userdata' - 'cinder_test' - 'tempest_smoke' - 'rally_sanity' - 'refstack_defcore' - 'patrole' - 'odl' - 'snaps_smoke' - 'neutron_trunk' - 'doctor-notification' - 'bgpvpn' - 'functest-odl-sfc' - 'barometercollectd' - 'fds' - 'tempest_full' - 'rally_full' - 'cloudify_ims' - 'vyos_vrouter' - 'juju_epc' - 'parser' default: 'connection_check' - choice: name: FUNCTEST_TIER choices: - 'healthcheck' - 'smoke' - 'features' - 'components' - 'vnf' - 'parser' 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" - string: name: REPO default: "opnfv" description: "Repository name for functest images" ######################## # 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-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-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