--- ################################### # job configuration for functest ################################### - project: name: functest-daily project: functest # ------------------------------- # BRANCH ANCHORS # ------------------------------- master: &master stream: master branch: '{stream}' gs-pathname: '' iruya: &iruya stream: iruya branch: 'stable/{stream}' gs-pathname: '/{stream}' hunter: &hunter stream: hunter 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 <<: *hunter - virtual: slave-label: fuel-virtual installer: fuel <<: *hunter # 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-master installer: apex <<: *hunter - baremetal: slave-label: apex-baremetal-master installer: apex <<: *hunter # armband CI PODs - armband-baremetal: slave-label: armband-baremetal installer: fuel <<: *master - armband-baremetal: slave-label: armband-baremetal installer: fuel <<: *hunter # fuel NONE CI PODs - zte-pod1: slave-label: fuel-baremetal installer: fuel <<: *master - itri-pod1: slave-label: fuel-baremetal installer: fuel <<: *master testsuite: - 'suite': job-timeout: 60 - 'daily': job-timeout: 600 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 max-total: 10 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: DOCKER_TAG default: '' - 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' - 'shaker' - 'vmtp' - 'neutron_trunk' - 'tempest_full' - 'rally_full' - 'cloudify_ims' - 'vyos_vrouter' - 'juju_epc' - 'parser' default: 'connection_check' - choice: name: FUNCTEST_TIER choices: - 'healthcheck' - 'smoke' - 'benchmarking' - '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