diff options
Diffstat (limited to 'jjb')
-rw-r--r-- | jjb/armband/armband-ci-jobs.yml | 20 | ||||
-rw-r--r-- | jjb/bottlenecks/bottlenecks-project-jobs.yml | 41 | ||||
-rw-r--r-- | jjb/compass4nfv/compass-ci-jobs.yml | 53 | ||||
-rw-r--r-- | jjb/doctor/doctor.yml | 62 | ||||
-rw-r--r-- | jjb/dovetail/dovetail-ci-jobs.yml | 177 | ||||
-rwxr-xr-x | jjb/dovetail/dovetail-cleanup.sh | 20 | ||||
-rw-r--r-- | jjb/dovetail/dovetail-project-jobs.yml | 98 | ||||
-rwxr-xr-x | jjb/dovetail/dovetail-run.sh | 52 | ||||
-rw-r--r-- | jjb/fuel/fuel-ci-jobs.yml | 7 | ||||
-rw-r--r-- | jjb/functest/functest-ci-jobs.yml | 9 | ||||
-rwxr-xr-x | jjb/infra/openstack-bifrost-verify.sh | 12 | ||||
-rwxr-xr-x | jjb/kvmfornfv/kvmfornfv-download-artifact.sh | 2 | ||||
-rw-r--r-- | jjb/opnfv/opnfv-docker.sh | 2 | ||||
-rw-r--r-- | jjb/opnfv/opnfv-docker.yml | 54 | ||||
-rw-r--r-- | jjb/opnfv/opnfv-docs.yml | 6 | ||||
-rw-r--r-- | jjb/opnfv/slave-params.yml | 13 | ||||
-rw-r--r-- | jjb/opnfvdocs/project.cfg | 2 | ||||
-rw-r--r-- | jjb/releng-macros.yaml | 65 | ||||
-rw-r--r-- | jjb/yardstick/yardstick-ci-jobs.yml | 20 |
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: |