diff options
Diffstat (limited to 'jjb/functest')
-rwxr-xr-x | jjb/functest/functest-alpine.sh | 15 | ||||
-rw-r--r-- | jjb/functest/functest-daily-jobs.yml | 38 | ||||
-rwxr-xr-x | jjb/functest/functest-k8.sh | 30 | ||||
-rw-r--r-- | jjb/functest/functest-kubernetes-docker.yml | 182 | ||||
-rw-r--r-- | jjb/functest/functest-weekly-jobs.yml | 10 |
5 files changed, 231 insertions, 44 deletions
diff --git a/jjb/functest/functest-alpine.sh b/jjb/functest/functest-alpine.sh index dfadf9a37..72b94bd18 100755 --- a/jjb/functest/functest-alpine.sh +++ b/jjb/functest/functest-alpine.sh @@ -28,12 +28,12 @@ check_os_deployment() { run_tiers() { tiers=$1 - if [[ ${BRANCH##*/} == "master" ]]; then - cmd_opt="run_tests -r -t all" - [[ $BUILD_TAG =~ "suite" ]] && cmd_opt="run_tests -t all" - else + if [[ ${BRANCH##*/} == "stable/euphrates" ]]; then cmd_opt="prepare_env start && run_tests -r -t all" [[ $BUILD_TAG =~ "suite" ]] && cmd_opt="prepare_env start && run_tests -t all" + else + cmd_opt="run_tests -r -t all" + [[ $BUILD_TAG =~ "suite" ]] && cmd_opt="run_tests -t all" fi ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value" echo 0 > ${ret_val_file} @@ -58,10 +58,10 @@ run_tiers() { run_test() { test_name=$1 - if [[ ${BRANCH##*/} == "master" ]]; then - cmd_opt="run_tests -t ${test_name}" - else + if [[ ${BRANCH##*/} == "stable/euphrates" ]]; then cmd_opt="prepare_env start && run_tests -t ${test_name}" + else + cmd_opt="run_tests -t ${test_name}" fi ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value" echo 0 > ${ret_val_file} @@ -177,7 +177,6 @@ volumes="${images_vol} ${results_vol} ${sshkey_vol} ${userconfig_vol} ${rc_file_ set +e -[[ ${BRANCH##*/} == "master" ]] && check_os_deployment if [ ${FUNCTEST_MODE} == 'testcase' ]; then echo "FUNCTEST_MODE=testcase, FUNCTEST_SUITE_NAME=${FUNCTEST_SUITE_NAME}" run_test ${FUNCTEST_SUITE_NAME} diff --git a/jjb/functest/functest-daily-jobs.yml b/jjb/functest/functest-daily-jobs.yml index 8ffbe9e63..52e5b3794 100644 --- a/jjb/functest/functest-daily-jobs.yml +++ b/jjb/functest/functest-daily-jobs.yml @@ -14,8 +14,8 @@ stream: master branch: '{stream}' gs-pathname: '' - euphrates: &euphrates - stream: euphrates + fraser: &fraser + stream: fraser branch: 'stable/{stream}' gs-pathname: '/{stream}' # ------------------------------- @@ -39,11 +39,11 @@ - baremetal: slave-label: fuel-baremetal installer: fuel - <<: *euphrates + <<: *fraser - virtual: slave-label: fuel-virtual installer: fuel - <<: *euphrates + <<: *fraser # joid CI PODs - baremetal: slave-label: joid-baremetal @@ -56,11 +56,11 @@ - baremetal: slave-label: joid-baremetal installer: joid - <<: *euphrates + <<: *fraser - virtual: slave-label: joid-virtual installer: joid - <<: *euphrates + <<: *fraser # compass CI PODs - baremetal: slave-label: compass-baremetal @@ -73,11 +73,11 @@ - baremetal: slave-label: compass-baremetal installer: compass - <<: *euphrates + <<: *fraser - virtual: slave-label: compass-virtual installer: compass - <<: *euphrates + <<: *fraser # apex CI PODs - virtual: slave-label: apex-virtual-master @@ -88,13 +88,13 @@ installer: apex <<: *master - virtual: - slave-label: apex-virtual-euphrates + slave-label: apex-virtual-fraser installer: apex - <<: *euphrates + <<: *fraser - baremetal: - slave-label: apex-baremetal-euphrates + slave-label: apex-baremetal-fraser installer: apex - <<: *euphrates + <<: *fraser # armband CI PODs - armband-baremetal: slave-label: armband-baremetal @@ -107,11 +107,11 @@ - armband-baremetal: slave-label: armband-baremetal installer: fuel - <<: *euphrates + <<: *fraser - armband-virtual: slave-label: armband-virtual installer: fuel - <<: *euphrates + <<: *fraser # daisy CI PODs - baremetal: slave-label: daisy-baremetal @@ -124,11 +124,11 @@ - baremetal: slave-label: daisy-baremetal installer: daisy - <<: *euphrates + <<: *fraser - virtual: slave-label: daisy-virtual installer: daisy - <<: *euphrates + <<: *fraser # netvirt 3rd party ci - virtual: slave-label: odl-netvirt-virtual @@ -164,7 +164,7 @@ - zte-pod1: slave-label: '{pod}' installer: fuel - <<: *euphrates + <<: *fraser - zte-pod2: slave-label: '{pod}' installer: daisy @@ -172,7 +172,7 @@ - zte-pod2: slave-label: '{pod}' installer: daisy - <<: *euphrates + <<: *fraser - zte-pod3: slave-label: '{pod}' installer: daisy @@ -180,7 +180,7 @@ - zte-pod3: slave-label: '{pod}' installer: daisy - <<: *euphrates + <<: *fraser - zte-pod9: slave-label: '{pod}' installer: daisy diff --git a/jjb/functest/functest-k8.sh b/jjb/functest/functest-k8.sh index 9017354cc..419c4e051 100755 --- a/jjb/functest/functest-k8.sh +++ b/jjb/functest/functest-k8.sh @@ -42,17 +42,23 @@ DOCKER_TAG=`[[ ${BRANCH##*/} == "master" ]] && echo "latest" || echo ${BRANCH##* set +e -FUNCTEST_IMAGE=opnfv/functest-kubernetes:${DOCKER_TAG} -echo "Pulling Docker image ${FUNCTEST_IMAGE} ..." -docker pull ${FUNCTEST_IMAGE}>/dev/null -cmd_opt="run_tests -r -t all" -cmd="docker run --rm ${envs} ${volumes} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'" -echo "Running Functest k8s test cases, CMD: ${cmd}" -eval ${cmd} -ret_value=$? - ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value" echo 0 > ${ret_val_file} -if [ ${ret_value} != 0 ]; then - echo ${ret_value} > ${ret_val_file} -fi + +FUNCTEST_IMAGES="\ +opnfv/functest-kubernetes-healthcheck:${DOCKER_TAG} \ +opnfv/functest-kubernetes-smoke:${DOCKER_TAG} \ +opnfv/functest-kubernetes-features:${DOCKER_TAG}" +cmd_opt="run_tests -r -t all" + +for image in ${FUNCTEST_IMAGES}; do + echo "Pulling Docker image ${image} ..." + docker pull "${image}" >/dev/null + cmd="docker run --rm ${envs} ${volumes} ${image} /bin/bash -c '${cmd_opt}'" + echo "Running Functest k8s test cases, CMD: ${cmd}" + eval ${cmd} + ret_value=$? + if [ ${ret_value} != 0 ]; then + echo ${ret_value} > ${ret_val_file} + fi +done diff --git a/jjb/functest/functest-kubernetes-docker.yml b/jjb/functest/functest-kubernetes-docker.yml new file mode 100644 index 000000000..2085251c6 --- /dev/null +++ b/jjb/functest/functest-kubernetes-docker.yml @@ -0,0 +1,182 @@ +--- +############################################## +# job configuration for docker build and push +############################################## +- project: + + name: functest-kubernetes-docker + + project: functest-kubernetes + + stream: + - master: + branch: '{stream}' + disabled: false + - fraser: + branch: 'stable/{stream}' + disabled: false + + arch_tag: + - 'amd64': + slave_label: 'opnfv-build-ubuntu' + + # yamllint disable rule:key-duplicates + image: + - 'core' + - 'healthcheck' + - 'smoke' + - 'features' + + # settings for jobs run in multijob phases + build-job-settings: &build-job-settings + current-parameters: false + git-revision: true + node-parameters: false + predefined-parameters: | + PUSH_IMAGE=$PUSH_IMAGE + COMMIT_ID=$COMMIT_ID + GERRIT_REFNAME=$GERRIT_REFNAME + DOCKERFILE=$DOCKERFILE + kill-phase-on: FAILURE + abort-all-jobs: false + + manifest-job-settings: &manifest-job-settings + current-parameters: false + git-revision: true + node-parameters: false + predefined-parameters: + GERRIT_REFNAME=$GERRIT_REFNAME + kill-phase-on: FAILURE + abort-all-jobs: false + + # yamllint enable rule:key-duplicates + jobs: + - "functest-kubernetes-docker-{stream}" + - "functest-kubernetes-{image}-docker-build-{arch_tag}-{stream}" + +######################## +# job templates +######################## +- job-template: + name: 'functest-kubernetes-docker-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + parameters: + - functest-kubernetes-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: 'opnfv-build-ubuntu' + arch_tag: 'amd64' + + properties: + - throttle: + max-per-node: 1 + option: 'project' + + scm: + - git-scm + + triggers: + - pollscm: + cron: "*/30 * * * *" + - gerrit-trigger-tag-created: + project: '{project}' + + builders: + - multijob: + name: 'build functest-kubernetes-core images' + execution-type: PARALLEL + projects: + - name: 'functest-kubernetes-core-docker-build-amd64-{stream}' + <<: *build-job-settings + - multijob: + name: 'build functest-kubernetes-[healthcheck,features] image' + execution-type: PARALLEL + projects: + - name: 'functest-kubernetes-healthcheck-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-kubernetes-features-docker-build-amd64-{stream}' + <<: *build-job-settings + - multijob: + name: 'build functest-kubernetes-smoke image' + execution-type: PARALLEL + projects: + - name: 'functest-kubernetes-smoke-docker-build-amd64-{stream}' + <<: *build-job-settings + + publishers: + - 'functest-kubernetes-amd64-recipients' + +- job-template: + name: 'functest-kubernetes-{image}-docker-build-{arch_tag}-{stream}' + disabled: '{obj:disabled}' + parameters: + - functest-kubernetes-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: '{slave_label}' + arch_tag: '{arch_tag}' + scm: + - git-scm + builders: + - shell: | + #!/bin/bash -ex + sudo amd64_dirs=docker/{image} bash ./build.sh + exit $? + +# parameter macro +- parameter: + name: functest-kubernetes-job-parameters + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - label: + name: SLAVE_LABEL + default: '{slave_label}' + description: 'Slave label on Jenkins' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: PUSH_IMAGE + default: "true" + description: "To enable/disable pushing the image to Dockerhub." + - string: + name: COMMIT_ID + default: "" + description: "commit id to make a snapshot docker image" + - string: + name: GERRIT_REFNAME + default: "" + description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" + - string: + name: DOCKERFILE + default: "Dockerfile" + description: "Dockerfile to use for creating the image." + - string: + name: ARCH_TAG + default: "{arch_tag}" + description: "If set, this value will be added to the docker image tag as a prefix" + - string: + name: PROJECT + default: "{project}" + description: "Project name used to enable job conditions" + - string: + name: REPO + default: "opnfv" + description: "Repository name for functest images" + +- publisher: + name: 'functest-kubernetes-amd64-recipients' + publishers: + - email: + recipients: > + jalausuch@suse.com morgan.richomme@orange.com + cedric.ollivier@orange.com feng.xiaowei@zte.com.cn + juha.kosonen@nokia.com wangwulin@huawei.com + valentin.boucher@kontron.com diff --git a/jjb/functest/functest-weekly-jobs.yml b/jjb/functest/functest-weekly-jobs.yml index 5d572aacc..c88fa0050 100644 --- a/jjb/functest/functest-weekly-jobs.yml +++ b/jjb/functest/functest-weekly-jobs.yml @@ -16,11 +16,11 @@ gs-pathname: '' docker-tag: 'latest' disabled: false - euphrates: &euphrates - stream: euphrates + fraser: &fraser + stream: fraser branch: 'stable/{stream}' gs-pathname: '/{stream}' - docker-tag: 'stable' + docker-tag: '{stream}' disabled: false # ------------------------------- # POD, INSTALLER, AND BRANCH MAPPING @@ -43,11 +43,11 @@ - baremetal: slave-label: fuel-baremetal installer: fuel - <<: *euphrates + <<: *fraser - virtual: slave-label: fuel-virtual installer: fuel - <<: *euphrates + <<: *fraser # ------------------------------- jobs: - 'functest-{installer}-{pod}-weekly-{stream}' |