summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jjb/apex/apex.yml68
-rw-r--r--jjb/apex/apex.yml.j268
-rw-r--r--jjb/bottlenecks/bottlenecks-ci-jobs.yml13
-rw-r--r--jjb/bottlenecks/bottlenecks-project-jobs.yml6
-rwxr-xr-xjjb/functest/functest-alpine.sh6
-rw-r--r--jjb/global/slave-params.yml4
-rw-r--r--jjb/releng/opnfv-docker-arm.yml64
-rw-r--r--jjb/releng/opnfv-docker.sh7
-rw-r--r--jjb/releng/opnfv-docker.yml24
-rw-r--r--jjb/xci/xci-verify-jobs.yml12
-rwxr-xr-xjjb/yardstick/yardstick-daily.sh12
11 files changed, 265 insertions, 19 deletions
diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml
index c71bee1d0..baad8d353 100644
--- a/jjb/apex/apex.yml
+++ b/jjb/apex/apex.yml
@@ -16,6 +16,7 @@
- 'apex-upload-snapshot'
- 'apex-create-snapshot'
- 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}'
+ - 'apex-dovetail-daily-os-nosdn-nofeature-ha-baremetal-danube'
# stream: branch with - in place of / (eg. stable-arno)
# branch: branch (eg. stable/arno)
stream:
@@ -1657,6 +1658,73 @@
abort-all-job: false
git-revision: false
+# Dovetail Danube test job
+- job-template:
+ name: 'apex-dovetail-daily-os-nosdn-nofeature-ha-baremetal-danube'
+
+ project-type: 'multijob'
+
+ node: 'huawei-pod4'
+
+ disabled: false
+
+ parameters:
+ - '{project}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: 'stable/danube'
+ - apex-parameter:
+ gs-pathname: '/danube'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-ha'
+ description: "Scenario to deploy with."
+
+ properties:
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-verify.*'
+ - 'apex-runner.*'
+ - 'apex-.*-promote.*'
+ - 'apex-run.*'
+
+ triggers:
+ - timed: '0 12 * * *'
+
+ builders:
+ - description-setter:
+ description: "Testing on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+ - multijob:
+ name: 'Baremetal Deploy'
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-deploy-baremetal-danube'
+ node-parameters: true
+ current-parameters: true
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: Dovetail
+ condition: ALWAYS
+ projects:
+ - name: 'dovetail-apex-baremetal-proposed_tests-danube'
+ node-parameters: true
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: NEVER
+ abort-all-job: false
+ git-revision: false
+
########################
# parameter macros
########################
diff --git a/jjb/apex/apex.yml.j2 b/jjb/apex/apex.yml.j2
index 356c718d5..df8cf92c0 100644
--- a/jjb/apex/apex.yml.j2
+++ b/jjb/apex/apex.yml.j2
@@ -16,6 +16,7 @@
- 'apex-upload-snapshot'
- 'apex-create-snapshot'
- 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}'
+ - 'apex-dovetail-daily-os-nosdn-nofeature-ha-baremetal-danube'
# stream: branch with - in place of / (eg. stable-arno)
# branch: branch (eg. stable/arno)
stream:
@@ -1084,6 +1085,73 @@
abort-all-job: false
git-revision: false
+# Dovetail Danube test job
+- job-template:
+ name: 'apex-dovetail-daily-os-nosdn-nofeature-ha-baremetal-danube'
+
+ project-type: 'multijob'
+
+ node: 'huawei-pod4'
+
+ disabled: false
+
+ parameters:
+ - '{project}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: 'stable/danube'
+ - apex-parameter:
+ gs-pathname: '/danube'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-ha'
+ description: "Scenario to deploy with."
+
+ properties:
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-verify.*'
+ - 'apex-runner.*'
+ - 'apex-.*-promote.*'
+ - 'apex-run.*'
+
+ triggers:
+ - timed: '0 12 * * *'
+
+ builders:
+ - description-setter:
+ description: "Testing on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+ - multijob:
+ name: 'Baremetal Deploy'
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-deploy-baremetal-danube'
+ node-parameters: true
+ current-parameters: true
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: Dovetail
+ condition: ALWAYS
+ projects:
+ - name: 'dovetail-apex-baremetal-proposed_tests-danube'
+ node-parameters: true
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: NEVER
+ abort-all-job: false
+ git-revision: false
+
########################
# parameter macros
########################
diff --git a/jjb/bottlenecks/bottlenecks-ci-jobs.yml b/jjb/bottlenecks/bottlenecks-ci-jobs.yml
index a8654d0cf..74e07b018 100644
--- a/jjb/bottlenecks/bottlenecks-ci-jobs.yml
+++ b/jjb/bottlenecks/bottlenecks-ci-jobs.yml
@@ -126,6 +126,7 @@
builders:
- 'bottlenecks-env-cleanup'
- 'bottlenecks-run-suite'
+ - 'bottlenecks-workspace-cleanup'
publishers:
- email:
@@ -147,6 +148,18 @@
- shell:
!include-raw: ./bottlenecks-run-suite.sh
+- builder:
+ name: bottlenecks-workspace-cleanup
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o nounset
+ set -o pipefail
+
+ # delete everything that is in $WORKSPACE
+ sudo rm -rf $WORKSPACE
+
####################
# parameter macros
####################
diff --git a/jjb/bottlenecks/bottlenecks-project-jobs.yml b/jjb/bottlenecks/bottlenecks-project-jobs.yml
index c7c9b4208..10f73b8e5 100644
--- a/jjb/bottlenecks/bottlenecks-project-jobs.yml
+++ b/jjb/bottlenecks/bottlenecks-project-jobs.yml
@@ -28,8 +28,6 @@
disabled: false
suite:
- - 'rubbos'
- - 'vstf'
- 'posca_stress_traffic'
- 'posca_stress_ping'
@@ -136,7 +134,7 @@
builders:
- 'bottlenecks-builder-upload-artifact'
- - 'bottlenecks-workspace-cleanup'
+ - 'bottlenecks-artifact-workspace-cleanup'
####################
# parameter macros
@@ -182,7 +180,7 @@
done
- builder:
- name: bottlenecks-workspace-cleanup
+ name: bottlenecks-artifact-workspace-cleanup
builders:
- shell: |
#!/bin/bash
diff --git a/jjb/functest/functest-alpine.sh b/jjb/functest/functest-alpine.sh
index 57398faf6..34c746e27 100755
--- a/jjb/functest/functest-alpine.sh
+++ b/jjb/functest/functest-alpine.sh
@@ -74,11 +74,13 @@ else
tiers=(healthcheck smoke features vnf)
fi
+cmd_opt='prepare_env start && run_tests -r -t all'
+
for tier in ${tiers[@]}; do
FUNCTEST_IMAGE=opnfv/functest-${tier}
echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..."
docker pull ${FUNCTEST_IMAGE}>/dev/null
- cmd="docker run ${envs} ${volumes} ${FUNCTEST_IMAGE}"
+ cmd="docker run ${envs} ${volumes} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'"
echo "Running Functest tier '${tier}'. CMD: ${cmd}"
- ${cmd}
+ eval ${cmd}
done
diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml
index 2acc96fd9..19d5a9545 100644
--- a/jjb/global/slave-params.yml
+++ b/jjb/global/slave-params.yml
@@ -485,6 +485,10 @@
default-slaves:
- ericsson-pod1
- string:
+ name: INSTALLER_IP
+ default: '10.20.1.2'
+ description: 'IP of the installer'
+ - string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: 'Git URL to use on this Jenkins Slave'
diff --git a/jjb/releng/opnfv-docker-arm.yml b/jjb/releng/opnfv-docker-arm.yml
index 842d4967d..ec1d743b9 100644
--- a/jjb/releng/opnfv-docker-arm.yml
+++ b/jjb/releng/opnfv-docker-arm.yml
@@ -23,6 +23,11 @@
cristina.pauna@enea.com
alexandru.avadanii@enea.com
alexandru.nemes@enea.com
+ storperf-arm-receivers: &storperf-arm-receivers
+ receivers: >
+ cristina.pauna@enea.com
+ alexandru.avadanii@enea.com
+ mark.beierl@emc.com
yardstick-arm-receivers: &yardstick-arm-receivers
receivers: >
cristina.pauna@enea.com
@@ -32,27 +37,74 @@
other-receivers: &other-receivers
receivers: ''
- project:
+ dockerfile: "Dockerfile.aarch64"
+ dockerdir: "docker"
+ arch_tag: ""
+
+ dockerrepo:
# projects with jobs for master
- 'functest':
+ project: 'functest'
<<: *master
<<: *functest-arm-receivers
- 'dovetail':
+ project: 'dovetail'
<<: *master
<<: *dovetail-arm-receivers
+ - 'storperf-master':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-master'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-master'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-graphite':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-graphite'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-graphite'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-httpfrontend':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-httpfrontend'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-httpfrontend'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-reporting':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-reporting'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-reporting'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-swaggerui':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-swaggerui'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-swaggerui'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
- 'yardstick':
+ project: 'yardstick'
<<: *master
<<: *yardstick-arm-receivers
# projects with jobs for stable
jobs:
- - '{project}-docker-build-arm-push-{stream}'
+ - '{dockerrepo}-docker-build-arm-push-{stream}'
########################
# job templates
########################
- job-template:
- name: '{project}-docker-build-arm-push-{stream}'
+ name: '{dockerrepo}-docker-build-arm-push-{stream}'
disabled: '{obj:disabled}'
@@ -79,8 +131,12 @@
description: "Directory containing files needed by the Dockerfile"
- string:
name: DOCKERFILE
- default: "Dockerfile.aarch64"
+ 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"
scm:
- git-scm
diff --git a/jjb/releng/opnfv-docker.sh b/jjb/releng/opnfv-docker.sh
index 0de3df28e..6ca8e374c 100644
--- a/jjb/releng/opnfv-docker.sh
+++ b/jjb/releng/opnfv-docker.sh
@@ -89,11 +89,18 @@ if [[ -n "${COMMIT_ID-}" && -n "${RELEASE_VERSION-}" ]]; then
BUILD_BRANCH=$COMMIT_ID
fi
+ARCH_BUILD_ARG=""
+if [[ -n "${ARCH_TAG}" ]]; then
+ DOCKER_TAG=${ARCH_TAG}-${DOCKER_TAG}
+ ARCH_BUILD_ARG="--build-arg ARCH=${ARCH_TAG}"
+fi
+
# Start the build
echo "Building docker image: $DOCKER_REPO_NAME:$DOCKER_TAG"
echo "--------------------------------------------------------"
echo
cmd="docker build --no-cache -t $DOCKER_REPO_NAME:$DOCKER_TAG --build-arg BRANCH=$BUILD_BRANCH
+ $ARCH_BUILD_ARG
-f $DOCKERFILE ."
echo ${cmd}
diff --git a/jjb/releng/opnfv-docker.yml b/jjb/releng/opnfv-docker.yml
index 5b63f3a12..649591562 100644
--- a/jjb/releng/opnfv-docker.yml
+++ b/jjb/releng/opnfv-docker.yml
@@ -20,11 +20,15 @@
cedric.ollivier@orange.com feng.xiaowei@zte.com.cn
yaohelan@huawei.com helanyao@gmail.com
juha.kosonen@nokia.com
+ storperf-receivers: &storperf-receivers
+ receivers: >
+ mark.beierl@emc.com
other-receivers: &other-receivers
receivers: ''
dockerfile: "Dockerfile"
dockerdir: "docker"
+ arch_tag: ""
# This is the dockerhub repo the image will be pushed to as
# 'opnfv/{dockerrepo}. See: DOCKER_REPO_NAME parameter.
@@ -62,28 +66,33 @@
- 'storperf-master':
project: 'storperf'
dockerdir: 'docker/storperf-master'
+ arch_tag: 'x86_64'
<<: *master
- <<: *other-receivers
+ <<: *storperf-receivers
- 'storperf-graphite':
project: 'storperf'
dockerdir: 'docker/storperf-graphite'
+ arch_tag: 'x86_64'
<<: *master
- <<: *other-receivers
+ <<: *storperf-receivers
- 'storperf-httpfrontend':
project: 'storperf'
dockerdir: 'docker/storperf-httpfrontend'
+ arch_tag: 'x86_64'
<<: *master
- <<: *other-receivers
+ <<: *storperf-receivers
- 'storperf-reporting':
project: 'storperf'
dockerdir: 'docker/storperf-reporting'
+ arch_tag: 'x86_64'
<<: *master
- <<: *other-receivers
+ <<: *storperf-receivers
- 'storperf-swaggerui':
project: 'storperf'
dockerdir: 'docker/storperf-swaggerui'
+ arch_tag: 'x86_64'
<<: *master
- <<: *other-receivers
+ <<: *storperf-receivers
- 'yardstick':
project: 'yardstick'
<<: *master
@@ -120,6 +129,7 @@
dockerfile: "Dockerfile"
dockerdir: "docker"
+ arch_tag: ""
project:
# projects with jobs for master
@@ -170,6 +180,10 @@
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"
scm:
- git-scm
diff --git a/jjb/xci/xci-verify-jobs.yml b/jjb/xci/xci-verify-jobs.yml
index f7dcb9937..f0a673bd8 100644
--- a/jjb/xci/xci-verify-jobs.yml
+++ b/jjb/xci/xci-verify-jobs.yml
@@ -212,6 +212,12 @@
- shell: |
#!/bin/bash
+ # skip the deployment if the patch doesn't impact the deployment
+ if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then
+ echo "Skipping the deployment!"
+ exit 0
+ fi
+
# for some reason, the PATH is not set correctly
# setting PATH for ansible stuff
export PATH=/home/jenkins/.local/bin:$PATH
@@ -226,6 +232,12 @@
- shell: |
#!/bin/bash
+ # skip the healthcheck if the patch doesn't impact the deployment
+ if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then
+ echo "Skipping the healthcheck!"
+ exit 0
+ fi
+
echo "Hello World!"
# this will be enabled once the xci is prepared
diff --git a/jjb/yardstick/yardstick-daily.sh b/jjb/yardstick/yardstick-daily.sh
index aaefba26e..8b3980fbc 100755
--- a/jjb/yardstick/yardstick-daily.sh
+++ b/jjb/yardstick/yardstick-daily.sh
@@ -48,8 +48,12 @@ envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \
-e DEPLOY_SCENARIO=${DEPLOY_SCENARIO}"
# Pull the image with correct tag
-echo "Yardstick: Pulling image opnfv/yardstick:${DOCKER_TAG}"
-docker pull opnfv/yardstick:$DOCKER_TAG >$redirect
+DOCKER_REPO='opnfv/yardstick'
+if [ "$(uname -m)" = 'aarch64' ]; then
+ DOCKER_REPO="${DOCKER_REPO}_$(uname -m)"
+fi
+echo "Yardstick: Pulling image ${DOCKER_REPO}:${DOCKER_TAG}"
+docker pull ${DOCKER_REPO}:$DOCKER_TAG >$redirect
# map log directory
branch=${BRANCH##*/}
@@ -61,9 +65,9 @@ map_log_dir="-v ${dir_result}:/tmp/yardstick"
# Run docker
if [[ ${INSTALLER_TYPE} == "joid" && "${DEPLOY_SCENARIO:0:2}" == "k8" ]];then
juju ssh kubernetes-master/0 sudo apt-get install -y docker.io
- cmd="juju ssh kubernetes-master/0 sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} opnfv/yardstick:${DOCKER_TAG} exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}"
+ cmd="juju ssh kubernetes-master/0 sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} ${DOCKER_REPO}:${DOCKER_TAG} exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}"
else
- cmd="sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} opnfv/yardstick:${DOCKER_TAG} \
+ cmd="sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} ${DOCKER_REPO}:${DOCKER_TAG} \
exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}"
fi