summaryrefslogtreecommitdiffstats
path: root/jjb
diff options
context:
space:
mode:
Diffstat (limited to 'jjb')
-rw-r--r--jjb/armband/armband-ci-jobs.yml20
-rw-r--r--jjb/bottlenecks/bottlenecks-project-jobs.yml41
-rw-r--r--jjb/compass4nfv/compass-ci-jobs.yml53
-rw-r--r--jjb/doctor/doctor.yml62
-rw-r--r--jjb/dovetail/dovetail-ci-jobs.yml177
-rwxr-xr-xjjb/dovetail/dovetail-cleanup.sh20
-rw-r--r--jjb/dovetail/dovetail-project-jobs.yml98
-rwxr-xr-xjjb/dovetail/dovetail-run.sh52
-rw-r--r--jjb/fuel/fuel-ci-jobs.yml7
-rw-r--r--jjb/functest/functest-ci-jobs.yml9
-rwxr-xr-xjjb/infra/openstack-bifrost-verify.sh12
-rwxr-xr-xjjb/kvmfornfv/kvmfornfv-download-artifact.sh2
-rw-r--r--jjb/opnfv/opnfv-docker.sh2
-rw-r--r--jjb/opnfv/opnfv-docker.yml54
-rw-r--r--jjb/opnfv/opnfv-docs.yml6
-rw-r--r--jjb/opnfv/slave-params.yml13
-rw-r--r--jjb/opnfvdocs/project.cfg2
-rw-r--r--jjb/releng-macros.yaml65
-rw-r--r--jjb/yardstick/yardstick-ci-jobs.yml20
19 files changed, 593 insertions, 122 deletions
diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml
index 25987328d..f6b48656a 100644
--- a/jjb/armband/armband-ci-jobs.yml
+++ b/jjb/armband/armband-ci-jobs.yml
@@ -228,46 +228,46 @@
- trigger:
name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 3,15 * * 1'
+ - timed: '0 0 * * 1'
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 3,15 * * 2'
+ - timed: '0 0 * * 2'
- trigger:
name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 3,15 * * 3'
+ - timed: '0 0 * * 3'
- trigger:
name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 3,15 * * 4'
+ - timed: '0 0 * * 4'
- trigger:
name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 3,15 * * 5'
+ - timed: '0 0 * * 5'
#----------------------------------------------------------------------
# Enea Armband CI Baremetal Triggers running against colorado branch
#----------------------------------------------------------------------
- trigger:
name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-colorado-trigger'
triggers:
- - timed: '0 4,16 * * 1'
+ - timed: '0 4 * * *'
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-colorado-trigger'
triggers:
- - timed: '0 4,16 * * 2'
+ - timed: '0 8 * * *'
- trigger:
name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-colorado-trigger'
triggers:
- - timed: '0 4,16 * * 3'
+ - timed: '0 12 * * *'
- trigger:
name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-colorado-trigger'
triggers:
- - timed: '0 4,16 * * 4'
+ - timed: '0 16 * * *'
- trigger:
name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-colorado-trigger'
triggers:
- - timed: '0 4,16 * * 5'
+ - timed: '0 20 * * *'
#---------------------------------------------------------------
# Enea Armband CI Virtual Triggers running against master branch
#---------------------------------------------------------------
diff --git a/jjb/bottlenecks/bottlenecks-project-jobs.yml b/jjb/bottlenecks/bottlenecks-project-jobs.yml
index fffc22def..523d363f7 100644
--- a/jjb/bottlenecks/bottlenecks-project-jobs.yml
+++ b/jjb/bottlenecks/bottlenecks-project-jobs.yml
@@ -71,9 +71,8 @@
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
builders:
- - shell: |
- echo "bottlenecks: verify job"
- #TO DO: this should be changed when the unittest ready
+ - bottlenecks-hello
+ #- bottlenecks-unit-tests
- job-template:
name: 'bottlenecks-merge-{stream}'
@@ -107,8 +106,8 @@
branch-pattern: '**/{branch}'
builders:
- - shell: |
- echo "bottlenecks: merge"
+ - bottlenecks-hello
+ #- bottlenecks-unit-tests
- job-template:
name: 'bottlenecks-{suite}-upload-artifacts-{stream}'
@@ -195,3 +194,35 @@
echo "Bottlenecks: cleanup cache used for storage downloaded packages"
/bin/rm -rf $CACHE_DIR
+
+- builder:
+ name: bottlenecks-unit-tests
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o pipefail
+
+ echo "Running unit tests..."
+ cd $WORKSPACE
+ virtualenv $WORKSPACE/bottlenecks_venv
+ source $WORKSPACE/bottlenecks_venv/bin/activate
+
+ # install python packages
+ easy_install -U setuptools
+ easy_install -U pip
+ pip install -r requirements.txt
+
+ # unit tests
+ /bin/bash $WORKSPACE/tests.sh
+
+ deactivate
+
+- builder:
+ name: bottlenecks-hello
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+
+ echo "hello"
diff --git a/jjb/compass4nfv/compass-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yml
index 946ecac79..16c6695c2 100644
--- a/jjb/compass4nfv/compass-ci-jobs.yml
+++ b/jjb/compass4nfv/compass-ci-jobs.yml
@@ -41,6 +41,10 @@
#--------------------------------
- huawei-pod2:
slave-label: '{pod}'
+ os-version: 'trusty'
+ <<: *colorado
+ - huawei-pod5:
+ slave-label: '{pod}'
os-version: 'centos7'
<<: *master
@@ -245,35 +249,68 @@
# trigger macros
########################
- trigger:
- name: 'compass-os-nosdn-nofeature-ha-huawei-pod2-master-trigger'
+ name: 'compass-os-nosdn-nofeature-ha-huawei-pod5-master-trigger'
triggers:
- timed: '0 19 * * *'
- trigger:
- name: 'compass-os-odl_l2-nofeature-ha-huawei-pod2-master-trigger'
+ name: 'compass-os-odl_l2-nofeature-ha-huawei-pod5-master-trigger'
triggers:
- timed: '0 23 * * *'
- trigger:
- name: 'compass-os-odl_l3-nofeature-ha-huawei-pod2-master-trigger'
+ name: 'compass-os-odl_l3-nofeature-ha-huawei-pod5-master-trigger'
triggers:
- timed: '0 15 * * *'
- trigger:
- name: 'compass-os-onos-nofeature-ha-huawei-pod2-master-trigger'
+ name: 'compass-os-onos-nofeature-ha-huawei-pod5-master-trigger'
+ triggers:
+ - timed: '0 7 * * *'
+- trigger:
+ name: 'compass-os-ocl-nofeature-ha-huawei-pod5-master-trigger'
+ triggers:
+ - timed: '0 11 * * *'
+- trigger:
+ name: 'compass-os-onos-sfc-ha-huawei-pod5-master-trigger'
+ triggers:
+ - timed: '0 3 * * *'
+- trigger:
+ name: 'compass-os-odl_l2-moon-ha-huawei-pod5-master-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-os-ocl-nofeature-ha-huawei-pod2-master-trigger'
+ name: 'compass-os-nosdn-kvm-ha-huawei-pod5-master-trigger'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'compass-os-nosdn-nofeature-ha-huawei-pod2-colorado-trigger'
+ triggers:
+ - timed: '0 19 * * *'
+- trigger:
+ name: 'compass-os-odl_l2-nofeature-ha-huawei-pod2-colorado-trigger'
+ triggers:
+ - timed: '0 23 * * *'
+- trigger:
+ name: 'compass-os-odl_l3-nofeature-ha-huawei-pod2-colorado-trigger'
+ triggers:
+ - timed: '0 15 * * *'
+- trigger:
+ name: 'compass-os-onos-nofeature-ha-huawei-pod2-colorado-trigger'
triggers:
- timed: '0 11 * * *'
- trigger:
- name: 'compass-os-onos-sfc-ha-huawei-pod2-master-trigger'
+ name: 'compass-os-ocl-nofeature-ha-huawei-pod2-colorado-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-os-odl_l2-moon-ha-huawei-pod2-master-trigger'
+ name: 'compass-os-onos-sfc-ha-huawei-pod2-colorado-trigger'
+ triggers:
+ - timed: '0 7 * * *'
+- trigger:
+ name: 'compass-os-odl_l2-moon-ha-huawei-pod2-colorado-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-os-nosdn-kvm-ha-huawei-pod2-master-trigger'
+ name: 'compass-os-nosdn-kvm-ha-huawei-pod2-colorado-trigger'
triggers:
- timed: ''
diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yml
index ead6c00a1..f93ac9bef 100644
--- a/jjb/doctor/doctor.yml
+++ b/jjb/doctor/doctor.yml
@@ -18,14 +18,11 @@
installer:
- apex:
slave-label: 'ool-virtual1'
-
- inspector:
- - sample
- - congress
+ pod: 'ool-virtual1'
jobs:
- 'doctor-verify-{stream}'
- - 'doctor-verify-{installer}-{inspector}-{stream}'
+ - 'doctor-verify-{installer}-{stream}'
- job-template:
name: 'doctor-verify-{stream}'
@@ -71,7 +68,9 @@
- shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh"
- job-template:
- name: 'doctor-verify-{installer}-{inspector}-{stream}'
+ name: 'doctor-verify-{installer}-{stream}'
+
+ node: '{slave-label}'
parameters:
- project-parameter:
@@ -79,29 +78,10 @@
- gerrit-parameter:
branch: '{branch}'
- string:
- name: INSPECTOR_TYPE
- default: '{inspector}'
- description: 'Doctor inspector type to be used'
- - string:
- name: INSTALLER_TYPE
- default: apex
- description: 'OPNFV Installer type'
- - string:
name: OS_CREDS
default: /home/jenkins/openstack.creds
description: 'OpenStack credentials'
- - '{installer}-defaults'
- '{slave-label}-defaults'
- - 'functest-suite-parameter'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-odl_l2-nofeature-ha'
- - string:
- name: DOCKER_TAG
- default: '{docker_tag}'
- description: 'Tag to pull docker image'
- - functest-parameter:
- gs-pathname: '{gs-pathname}'
scm:
- gerrit-trigger-scm:
@@ -130,7 +110,35 @@
file-paths:
- compare-type: ANT
pattern: 'tests/**'
+ skip-vote:
+ successful: true
+ failed: true
+ unstable: true
+ notbuilt: true
builders:
- - 'functest-suite-builder':
- TESTCASE_OPTIONS: '-e INSPECTOR_TYPE=$INSPECTOR_TYPE -v $WORKSPACE:$HOME/opnfv/repos/doctor'
+ - trigger-builds:
+ - project: 'functest-{installer}-{pod}-suite-{stream}'
+ current-parameters: true
+ predefined-parameters: |
+ CI_DEBUG=true
+ FUNCTEST_SUITE_NAME=doctor
+ DEPLOY_SCENARIO=os-nosdn-nofeature-ha
+ TESTCASE_OPTIONS=-e INSPECTOR_TYPE=sample -v $WORKSPACE:$HOME/opnfv/repos/doctor
+ block: true
+ same-node: true
+ - project: 'functest-{installer}-{pod}-suite-{stream}'
+ current-parameters: true
+ predefined-parameters: |
+ CI_DEBUG=true
+ FUNCTEST_SUITE_NAME=doctor
+ DEPLOY_SCENARIO=os-nosdn-nofeature-ha
+ TESTCASE_OPTIONS=-e INSPECTOR_TYPE=congress -v $WORKSPACE:$HOME/opnfv/repos/doctor
+ block: true
+ same-node: true
+ - shell: |
+ logfile=$HOME/opnfv/functest/results/{stream}/doctor.log
+ echo
+ echo "[$logfile]"
+ echo
+ [ -e $logfile ] && cat $logfile
diff --git a/jjb/dovetail/dovetail-ci-jobs.yml b/jjb/dovetail/dovetail-ci-jobs.yml
new file mode 100644
index 000000000..9d2f69da9
--- /dev/null
+++ b/jjb/dovetail/dovetail-ci-jobs.yml
@@ -0,0 +1,177 @@
+###################################
+# job configuration for dovetail
+###################################
+- project:
+ name: dovetail
+
+ project: '{name}'
+
+#---------------------------------------
+# BRANCH ANCHORS
+#---------------------------------------
+# 1)the stream/branch here represents the SUT(System Under Test) stream/branch
+# 2)docker-tag is the docker tag of dovetail(only master by now, then all latest used)
+# the dovetail stream is one-to-one mapping with dovetail docker-tag
+# the dovetail is not sync with A/B/C release
+#
+ master: &master
+ stream: master
+ branch: '{stream}'
+ gs-pathname: ''
+ docker-tag: 'latest'
+ colorado: &colorado
+ stream: colorado
+ branch: 'stable/{stream}'
+ gs-pathname: '{stream}'
+ docker-tag: 'latest'
+
+#-----------------------------------
+# POD, PLATFORM, AND BRANCH MAPPING
+#-----------------------------------
+# CI PODs
+# This section should only contain the SUTs
+# that have been switched using labels for slaves
+#------------------------------------------------
+# the pods, SUTs listed here are just examples to
+# let the dovetail tool run, there can be more ways beside CI to
+# run the dovetail tool.
+# pods, SUTs will be added/adjusted when needed
+ pod:
+# fuel CI PODs
+ - baremetal:
+ slave-label: fuel-baremetal
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - virtual:
+ slave-label: fuel-virtual
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - baremetal:
+ slave-label: fuel-baremetal
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *colorado
+ - virtual:
+ slave-label: fuel-virtual
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *colorado
+#compass CI PODs
+ - baremetal:
+ slave-label: compass-baremetal
+ SUT: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - virtual:
+ slave-label: compass-virtual
+ SUT: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - baremetal:
+ slave-label: compass-baremetal
+ SUT: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *colorado
+ - virtual:
+ slave-label: compass-virtual
+ SUT: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *colorado
+#--------------------------------
+# None-CI PODs
+#--------------------------------
+ - huawei-pod5:
+ slave-label: '{pod}'
+ SUT: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+#--------------------------------
+ testsuite:
+ - 'basic'
+
+ jobs:
+ - 'dovetail-{SUT}-{pod}-{testsuite}-{stream}'
+
+################################
+# job templates
+################################
+- job-template:
+ name: 'dovetail-{SUT}-{pod}-{testsuite}-{stream}'
+
+ disabled: false
+
+ concurrent: true
+
+ properties:
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
+
+ wrappers:
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - timeout:
+ timeout: 180
+ abort: true
+
+ triggers:
+ - '{auto-trigger-name}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - '{SUT}-defaults'
+ - '{slave-label}-defaults'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-ha'
+ - string:
+ name: DOCKER_TAG
+ default: '{docker-tag}'
+ description: 'Tag to pull docker image'
+ - string:
+ name: CI_DEBUG
+ default: 'true'
+ description: "Show debug output information"
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ builders:
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - 'dovetail-cleanup'
+ - 'dovetail-{testsuite}'
+
+ publishers:
+ - archive:
+ artifacts: 'results/**/*'
+ allow-empty: true
+ fingerprint: true
+
+########################
+# builder macros
+########################
+- builder:
+ name: dovetail-basic
+ builders:
+ - shell:
+ !include-raw: ./dovetail-run.sh
+
+- builder:
+ name: dovetail-fetch-os-creds
+ builders:
+ - shell:
+ !include-raw: ../../utils/fetch_os_creds.sh
+
+- builder:
+ name: dovetail-cleanup
+ builders:
+ - shell:
+ !include-raw: ./dovetail-cleanup.sh
diff --git a/jjb/dovetail/dovetail-cleanup.sh b/jjb/dovetail/dovetail-cleanup.sh
new file mode 100755
index 000000000..297222bb3
--- /dev/null
+++ b/jjb/dovetail/dovetail-cleanup.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
+
+echo "Cleaning up docker containers/images..."
+# Remove previous running containers if exist
+if [[ ! -z $(docker ps -a | grep opnfv/dovetail) ]]; then
+ echo "Removing existing opnfv/dovetail containers..."
+ docker ps -a | grep opnfv/dovetail | awk '{print $1}' | xargs docker rm -f >$redirect
+fi
+
+# Remove existing images if exist
+if [[ ! -z $(docker images | grep opnfv/dovetail) ]]; then
+ echo "Docker images to remove:"
+ docker images | head -1 && docker images | grep opnfv/dovetail
+ image_tags=($(docker images | grep opnfv/dovetail | awk '{print $2}'))
+ for tag in "${image_tags[@]}"; do
+ echo "Removing docker image opnfv/dovetail:$tag..."
+ docker rmi opnfv/dovetail:$tag >$redirect
+ done
+fi
diff --git a/jjb/dovetail/dovetail-project-jobs.yml b/jjb/dovetail/dovetail-project-jobs.yml
new file mode 100644
index 000000000..bf0552251
--- /dev/null
+++ b/jjb/dovetail/dovetail-project-jobs.yml
@@ -0,0 +1,98 @@
+###################################################
+# Non-ci jobs for Dovetail project
+# They will only be enabled on request by projects!
+###################################################
+- project:
+ name: dovetail-project-jobs
+
+ project: 'dovetail'
+
+ jobs:
+ - 'dovetail-verify-{stream}'
+ - 'dovetail-merge-{stream}'
+
+ stream:
+ - master:
+ branch: '{stream}'
+ disabled: false
+
+################################
+# job templates
+################################
+
+- job-template:
+ name: 'dovetail-verify-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ triggers:
+ - gerrit:
+ trigger-on:
+ - patchset-created-event:
+ exclude-drafts: 'false'
+ exclude-trivial-rebase: 'false'
+ exclude-no-code-change: 'false'
+ - draft-published-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ builders:
+ - shell: |
+ echo "dovetail: verify job"
+ #unittest will be added future
+
+- job-template:
+ name: 'dovetail-merge-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ choosing-strategy: 'default'
+
+ triggers:
+ - gerrit:
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+
+ builders:
+ - shell: |
+ echo "dovetail: merge"
+ #unittest will be added future
diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh
new file mode 100755
index 000000000..6453425ce
--- /dev/null
+++ b/jjb/dovetail/dovetail-run.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+#the noun INSTALLER is used in community, here is just the example to run.
+#multi-platforms are supported.
+
+set -e
+[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
+
+# labconfig is used only for joid
+labconfig=""
+sshkey=""
+if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
+ instack_mac=$(sudo virsh domiflist undercloud | grep default | \
+ grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+")
+ INSTALLER_IP=$(/usr/sbin/arp -e | grep ${instack_mac} | awk {'print $1'})
+ sshkey="-v /root/.ssh/id_rsa:/root/.ssh/id_rsa"
+ if [[ -n $(sudo iptables -L FORWARD |grep "REJECT"|grep "reject-with icmp-port-unreachable") ]]; then
+ #note: this happens only in opnfv-lf-pod1
+ sudo iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
+ sudo iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
+ fi
+elif [[ ${INSTALLER_TYPE} == 'joid' ]]; then
+ # If production lab then creds may be retrieved dynamically
+ # creds are on the jumphost, always in the same folder
+ labconfig="-v $LAB_CONFIG/admin-openrc:/home/opnfv/openrc"
+ # If dev lab, credentials may not be the default ones, just provide a path to put them into docker
+ # replace the default one by the customized one provided by jenkins config
+fi
+
+# Set iptables rule to allow forwarding return traffic for container
+if ! sudo iptables -C FORWARD -j RETURN 2> ${redirect} || ! sudo iptables -L FORWARD | awk 'NR==3' | grep RETURN 2> ${redirect}; then
+ sudo iptables -I FORWARD -j RETURN
+fi
+
+opts="--privileged=true --rm"
+envs="-e CI_DEBUG=${CI_DEBUG} \
+ -v /var/run/docker.sock:/var/run/docker.sock \
+ -v /home/opnfv/dovetail/results:/home/opnfv/dovetail/results"
+
+# Pull the image with correct tag
+echo "Dovetail: Pulling image opnfv/dovetail:${DOCKER_TAG}"
+docker pull opnfv/dovetail:$DOCKER_TAG >$redirect
+
+# Run docker
+echo "Dovetail: docker running..."
+sudo docker run ${opts} ${envs} ${labconfig} ${sshkey} opnfv/dovetail:${DOCKER_TAG} \
+"/home/opnfv/dovetail/scripts/run.py"
+
+echo "Dovetail: store results..."
+sudo cp -r /home/opnfv/dovetail/results ./
+
+echo "Dovetail: done!"
diff --git a/jjb/fuel/fuel-ci-jobs.yml b/jjb/fuel/fuel-ci-jobs.yml
index 056b2cc0f..1c7946a87 100644
--- a/jjb/fuel/fuel-ci-jobs.yml
+++ b/jjb/fuel/fuel-ci-jobs.yml
@@ -214,6 +214,10 @@
default: 'os-odl_l2-nofeature-ha'
- fuel-ci-parameter:
gs-pathname: '{gs-pathname}'
+ - string:
+ name: DEPLOY_TIMEOUT
+ default: '150'
+ description: 'Deployment timeout in minutes'
scm:
- git-scm:
@@ -224,9 +228,6 @@
wrappers:
- build-name:
name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: 150
- abort: true
builders:
- description-setter:
diff --git a/jjb/functest/functest-ci-jobs.yml b/jjb/functest/functest-ci-jobs.yml
index 7120790d8..4747835b1 100644
--- a/jjb/functest/functest-ci-jobs.yml
+++ b/jjb/functest/functest-ci-jobs.yml
@@ -131,6 +131,10 @@
- huawei-pod2:
slave-label: '{pod}'
installer: compass
+ <<: *colorado
+ - huawei-pod5:
+ slave-label: '{pod}'
+ installer: compass
<<: *master
- nokia-pod1:
slave-label: '{pod}'
@@ -164,6 +168,11 @@
slave-label: '{pod}'
installer: fuel
<<: *colorado
+# PODs for verify jobs triggered by each patch upload
+ - ool-virtual1:
+ slave-label: '{pod}'
+ installer: apex
+ <<: *master
#--------------------------------
testsuite:
diff --git a/jjb/infra/openstack-bifrost-verify.sh b/jjb/infra/openstack-bifrost-verify.sh
index a4653f921..c17cb8861 100755
--- a/jjb/infra/openstack-bifrost-verify.sh
+++ b/jjb/infra/openstack-bifrost-verify.sh
@@ -11,6 +11,16 @@ set -o errexit
set -o nounset
set -o pipefail
+trap fix_ownership EXIT
+
+function fix_ownership() {
+ if [ -z "${JOB_URL+x}" ]; then
+ echo "Not running as part of Jenkins. Handle the logs manually."
+ else
+ chown -R jenkins:jenkins $WORKSPACE
+ fi
+}
+
# check distro to see if we support it
# we will have centos and suse supported in future
case "$DISTRO" in
@@ -24,7 +34,7 @@ case "$DISTRO" in
esac
# remove previously cloned repos
-/bin/rm -rf /opt/bifrost /opt/puppet-infracloud /opt/releng
+/bin/rm -rf /opt/bifrost /opt/puppet-infracloud /opt/stack /opt/releng
# clone upstream bifrost repo and checkout the patch to verify
git clone https://git.openstack.org/openstack/bifrost /opt/bifrost
diff --git a/jjb/kvmfornfv/kvmfornfv-download-artifact.sh b/jjb/kvmfornfv/kvmfornfv-download-artifact.sh
index c8bdb9c72..ea37eb29c 100755
--- a/jjb/kvmfornfv/kvmfornfv-download-artifact.sh
+++ b/jjb/kvmfornfv/kvmfornfv-download-artifact.sh
@@ -27,8 +27,10 @@ case "$JOB_TYPE" in
exit 1
esac
+GS_GUESTIMAGE_LOCATION="gs://artifacts.opnfv.org/$PROJECT/guest-image"
/bin/mkdir -p $WORKSPACE/build_output
gsutil cp -r $GS_UPLOAD_LOCATION/* $WORKSPACE/build_output > $WORKSPACE/gsutil.log 2>&1
+gsutil cp $GS_GUESTIMAGE_LOCATION/guest1.sha512 $WORKSPACE/build_output > $WORKSPACE/gsutil.log 2>&1
echo "--------------------------------------------------------"
ls -al $WORKSPACE/build_output
diff --git a/jjb/opnfv/opnfv-docker.sh b/jjb/opnfv/opnfv-docker.sh
index 07198c608..c5edf7cc3 100644
--- a/jjb/opnfv/opnfv-docker.sh
+++ b/jjb/opnfv/opnfv-docker.sh
@@ -71,6 +71,8 @@ if [[ "$DOCKER_REPO_NAME" == "opnfv/bottlenecks" ]]; then
cd $WORKSPACE/ci/docker
elif [[ "$DOCKER_REPO_NAME" == "opnfv/cperf" ]]; then
cd $WORKSPACE/docker
+elif [[ "$DOCKER_REPO_NAME" == "opnfv/dovetail" ]]; then
+ cd $WORKSPACE/docker
elif [[ "$DOCKER_REPO_NAME" == "opnfv/functest" ]]; then
cd $WORKSPACE/docker
elif [[ "$DOCKER_REPO_NAME" == "opnfv/qtip" ]]; then
diff --git a/jjb/opnfv/opnfv-docker.yml b/jjb/opnfv/opnfv-docker.yml
index 4250eef64..f313b3b92 100644
--- a/jjb/opnfv/opnfv-docker.yml
+++ b/jjb/opnfv/opnfv-docker.yml
@@ -16,6 +16,9 @@
jobs:
- '{project}-docker-build-push-{stream}'
- 'yardstick-docker-build-push-{stream}'
+ #dovetail not sync with release, an independent job
+ #only master by now, will adjust accordingly in future
+ - 'dovetail-docker-build-push-{dovetailstream}'
stream:
- master:
@@ -24,6 +27,10 @@
- colorado:
branch: 'stable/{stream}'
disabled: false
+ dovetailstream:
+ - master:
+ branch: '{dovetailstream}'
+ disabled: false
########################
# job templates
@@ -113,3 +120,50 @@
triggers:
- pollscm:
cron: "*/30 * * * *"
+
+- job-template:
+ name: 'dovetail-docker-build-push-{dovetailstream}'
+
+ disabled: '{obj:disabled}'
+
+ parameters:
+ - project-parameter:
+ project: 'dovetail'
+ - 'opnfv-build-ubuntu-defaults'
+ - string:
+ name: PUSH_IMAGE
+ default: "true"
+ description: "To enable/disable pushing the image to Dockerhub."
+ #BASE_VERSION parameter is used for version control
+ #by now, only master branch is used, this parameter takes no effect
+ #once branch control settled, should be adjusted togather with
+ #opnfv-docker.sh and caculate_version.sh
+ - string:
+ name: BASE_VERSION
+ default: "1.0"
+ description: "Base version to be used."
+ - string:
+ name: DOCKER_REPO_NAME
+ default: "opnfv/dovetail"
+ description: "Dockerhub repo to be pushed to."
+ - string:
+ name: UPDATE_LATEST_STABLE
+ default: "false"
+ description: "This will update the latest_stable image only."
+ - string:
+ name: STABLE_TAG
+ description: "If above option is true, this is the tag to be pulled."
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ builders:
+ - shell:
+ !include-raw-escape: ./opnfv-docker.sh
+
+ triggers:
+ - pollscm:
+ cron: "*/30 * * * *"
diff --git a/jjb/opnfv/opnfv-docs.yml b/jjb/opnfv/opnfv-docs.yml
index 743657334..0ac8aa7e0 100644
--- a/jjb/opnfv/opnfv-docs.yml
+++ b/jjb/opnfv/opnfv-docs.yml
@@ -14,11 +14,13 @@
stream:
- master:
branch: '{stream}'
+ doc-version: ''
gs-pathname: ''
disabled: false
- colorado:
branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
+ doc-version: '2.0'
+ gs-pathname: '/{stream}/{doc-version}'
disabled: false
########################
@@ -82,7 +84,7 @@
- string:
name: GS_URL
default: '$GS_BASE{gs-pathname}'
- description: "Directory where the build artifact will be located upon the completion of the build."
+ description: "Directory where the build artifact will be located upon the completion of the build."
scm:
- gerrit-trigger-scm:
diff --git a/jjb/opnfv/slave-params.yml b/jjb/opnfv/slave-params.yml
index b2f17c1e7..ff24e9e6d 100644
--- a/jjb/opnfv/slave-params.yml
+++ b/jjb/opnfv/slave-params.yml
@@ -436,6 +436,19 @@
default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: 'Git URL to use on this Jenkins Slave'
- parameter:
+ name: 'huawei-pod5-defaults'
+ parameters:
+ - node:
+ name: SLAVE_NAME
+ description: 'Slave name on Jenkins'
+ allowed-slaves:
+ - huawei-pod5
+ default-slaves:
+ - huawei-pod5
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+- parameter:
name: 'zte-pod1-defaults'
parameters:
- node:
diff --git a/jjb/opnfvdocs/project.cfg b/jjb/opnfvdocs/project.cfg
index ba977f92a..7f0236123 100644
--- a/jjb/opnfvdocs/project.cfg
+++ b/jjb/opnfvdocs/project.cfg
@@ -6,6 +6,8 @@ compass4nfv
copper
conductor
doctor
+domino
+dovetail
dpacc
escalator
fastpathmetrics
diff --git a/jjb/releng-macros.yaml b/jjb/releng-macros.yaml
index 2aa775fd6..d2dc1d1ec 100644
--- a/jjb/releng-macros.yaml
+++ b/jjb/releng-macros.yaml
@@ -49,14 +49,6 @@
choosing-strategy: '{choosing-strategy}'
timeout: 15
-- wrapper:
- name: build-timeout
- wrappers:
- - timeout:
- type: absolute
- timeout: 360
- fail: true
-
- trigger:
name: 'daily-trigger-disabled'
triggers:
@@ -68,11 +60,6 @@
- timed: ''
- trigger:
- name: 'brahmaputra-trigger-daily-enabled'
- triggers:
- - timed: '0 2 * * *'
-
-- trigger:
name: gerrit-trigger-patch-submitted
triggers:
- gerrit:
@@ -117,58 +104,6 @@
fingerprint: true
latest-only: true
-- publisher:
- name: email-notification
- publishers:
- - email-ext:
- recipients: 'jenkins@lists.opnfv.org'
- reply-to:
- content-type: default
- subject: '{email-prefix} $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!'
- body: |
- $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS:
-
- Check console output at $BUILD_URL to view the results.
- unstable: true
- fixed: true
- send-to:
- - developers
- - recipients
-
-- publisher:
- name: jacoco-report
- publishers:
- - jacoco:
- exec-pattern: "**/**.exec"
- class-pattern: "**/classes"
- source-pattern: "**/src/main/java"
- exclusion-pattern: "**/gen/**,**/generated-sources/**,**/yang-gen**"
- status-update: true
- targets:
- - branch:
- healthy: 10
- unhealthy: 20
- - method:
- healthy: 50
- unhealthy: 40
-
-
-- builder:
- name: test-macro
- builders:
- - shell: 'echo testing macro "test-macro"'
-
-- builder:
- name: wipe-org-opendaylight-repo
- builders:
- - shell: 'if [ -d /tmp/r/org/opendaylight ]; then rm -rf /tmp/r/org/opendaylight; fi'
-
-- builder:
- name: jacoco-nojava-workaround
- builders:
- - shell: 'mkdir -p $WORKSPACE/target/classes'
-
-
# New Releng macros
- builder:
diff --git a/jjb/yardstick/yardstick-ci-jobs.yml b/jjb/yardstick/yardstick-ci-jobs.yml
index dd88a52b6..1cb1c9779 100644
--- a/jjb/yardstick/yardstick-ci-jobs.yml
+++ b/jjb/yardstick/yardstick-ci-jobs.yml
@@ -167,6 +167,11 @@
installer: fuel
auto-trigger-name: 'daily-trigger-disabled'
<<: *master
+ - arm-pod2:
+ slave-label: '{pod}'
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *colorado
- orange-pod2:
slave-label: '{pod}'
installer: joid
@@ -176,7 +181,7 @@
slave-label: '{pod}'
installer: compass
auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
+ <<: *colorado
- huawei-pod3:
slave-label: '{pod}'
installer: compass
@@ -187,6 +192,11 @@
installer: compass
auto-trigger-name: 'yardstick-daily-huawei-pod4-trigger'
<<: *master
+ - huawei-pod5:
+ slave-label: '{pod}'
+ installer: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
#--------------------------------
testsuite:
- 'daily'
@@ -370,6 +380,14 @@
description: 'Arguments to use in order to choose the backend DB'
- parameter:
+ name: 'yardstick-params-huawei-pod5'
+ parameters:
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
+- parameter:
name: 'yardstick-params-zte-pod1'
parameters:
- string: