summaryrefslogtreecommitdiffstats
path: root/jjb/functest
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/functest')
-rwxr-xr-xjjb/functest/functest-alpine.sh15
-rw-r--r--jjb/functest/functest-daily-jobs.yml42
-rwxr-xr-xjjb/functest/functest-k8.sh30
-rw-r--r--jjb/functest/functest-kubernetes-docker.yml182
-rw-r--r--jjb/functest/functest-weekly-jobs.yml10
5 files changed, 235 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..ae226b665 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,11 +180,15 @@
- zte-pod3:
slave-label: '{pod}'
installer: daisy
- <<: *euphrates
+ <<: *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:
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}'