name: GS_URL
default: artifacts.opnfv.org/$PROJECT{gs-pathname}
description: "URL to Google Storage."
+ - string:
+ name: SSH_KEY
+ default: "/tmp/mcp.rsa"
+ description: "Path to private SSH key to access environment nodes. For MCP deployments only."
########################
# trigger macros
# SPDX-license-identifier: Apache-2.0
##############################################################################
# Copyright (c) 2016 Ericsson AB and others.
-# (c) 2016 Enea Software AB
+# (c) 2017 Enea Software AB
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
export TERM="vt220"
-# source the file so we get OPNFV vars
-source latest.properties
+if [[ "$BRANCH" != 'master' ]]; then
+ # source the file so we get OPNFV vars
+ source latest.properties
-# echo the info about artifact that is used during the deployment
-echo "Using ${OPNFV_ARTIFACT_URL/*\/} for deployment"
+ # echo the info about artifact that is used during the deployment
+ echo "Using ${OPNFV_ARTIFACT_URL/*\/} for deployment"
+fi
if [[ "$JOB_NAME" =~ "merge" ]]; then
# set simplest scenario for virtual deploys to run for merges
DEPLOY_SCENARIO="os-nosdn-nofeature-ha"
-else
+elif [[ "$BRANCH" != 'master' ]]; then
# for none-merge deployments
# checkout the commit that was used for building the downloaded artifact
# to make sure the ISO and deployment mechanism uses same versions
echo "Scenario: $DEPLOY_SCENARIO"
echo "Lab: $LAB_NAME"
echo "POD: $POD_NAME"
-echo "ISO: ${OPNFV_ARTIFACT_URL/*\/}"
+[[ "$BRANCH" != 'master' ]] && echo "ISO: ${OPNFV_ARTIFACT_URL/*\/}"
echo
echo "Starting the deployment using $INSTALLER_TYPE. This could take some time..."
echo "--------------------------------------------------------"
# SPDX-license-identifier: Apache-2.0
##############################################################################
# Copyright (c) 2016 Ericsson AB and others.
+# (c) 2017 Enea AB
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
set -o errexit
set -o pipefail
+# disable Fuel ISO download for master branch
+[[ "$BRANCH" == 'master' ]] && exit 0
+
echo "Host info: $(hostname) $(hostname -I)"
# Configurable environment variables:
# SPDX-license-identifier: Apache-2.0
##############################################################################
# Copyright (c) 2016 Ericsson AB and others.
-# Copyright (c) 2016 Enea AB.
+# Copyright (c) 2017 Enea AB.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
+
+# disable Armband iso build for master branch
+if [[ "$BRANCH" == 'master' ]]; then
+ touch $WORKSPACE/.noupload
+ echo "--------------------------------------------------------"
+ echo "Done!"
+ exit 0
+fi
+
set -o errexit
set -o nounset
set -o pipefail
comment-contains-value: 'reverify'
projects:
- project-compare-type: 'REG_EXP'
- project-pattern: 'apex|armband|bamboo|barometer|bottlenecks|calipso|compass4nfv|conductor|cooper|functest|octopus|pharos|releng|sandbox'
+ project-pattern: 'apex|armband|bamboo|barometer|bottlenecks|calipso|compass4nfv|conductor|cooper|cperf|daisy|doctor|dovetail|dpacc|enfv|escalator|fds|functest|octopus|pharos|releng|sandbox|yardstick'
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
steps:
- trigger-builds:
- project: 'dovetail-compass-{pod}-proposed_tests-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
- job-template:
name: 'compass-deploy-{pod}-daily-{stream}'
branch: '{stream}'
gs-pathname: ''
docker-tag: latest
- danube: &danube
- stream: danube
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- docker-tag: 'stable'
#--------------------------------
# JOB VARIABLES
installer: fuel
scenario: os-nosdn-kvm-ha
<<: *master
- - zte-pod1:
- installer: fuel
- scenario: os-odl_l2-nofeature-ha
- <<: *danube
- - zte-pod3:
- installer: fuel
- scenario: os-nosdn-nofeature-ha
- <<: *danube
- - zte-pod3:
- installer: fuel
- scenario: os-nosdn-kvm-ha
- <<: *danube
#--------------------------------
# JOB LIST
name: 'qtip-os-nosdn-kvm-ha-zte-pod3-daily-master-trigger'
triggers:
- timed: '0 15 * * *'
-
-- trigger:
- name: 'qtip-os-odl_l2-nofeature-ha-zte-pod1-daily-danube-trigger'
- triggers:
- - timed: '0 7 * * *'
-
-- trigger:
- name: 'qtip-os-nosdn-kvm-ha-zte-pod3-daily-danube-trigger'
- triggers:
- - timed: '0 7 * * *'
-
-- trigger:
- name: 'qtip-os-nosdn-nofeature-ha-zte-pod3-daily-danube-trigger'
- triggers:
- - timed: '30 0 * * *'
--- /dev/null
+#################
+# QTIP weekly job
+#################
+- project:
+ name: qtip-weekly
+ project: qtip
+
+#--------------------------------
+# BRANCH ANCHORS
+#--------------------------------
+ danube: &danube
+ stream: danube
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ docker-tag: 'stable'
+
+#--------------------------------
+# JOB VARIABLES
+#--------------------------------
+ pod:
+ - zte-pod1:
+ installer: fuel
+ scenario: os-odl_l2-nofeature-ha
+ <<: *danube
+ - zte-pod3:
+ installer: fuel
+ scenario: os-nosdn-nofeature-ha
+ <<: *danube
+ - zte-pod3:
+ installer: fuel
+ scenario: os-nosdn-kvm-ha
+ <<: *danube
+
+#--------------------------------
+# JOB LIST
+#--------------------------------
+ jobs:
+ - 'qtip-{scenario}-{pod}-weekly-{stream}'
+
+################################
+# job templates
+################################
+- job-template:
+ name: 'qtip-{scenario}-{pod}-weekly-{stream}'
+ disabled: false
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults'
+ - '{pod}-defaults'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{scenario}'
+ - string:
+ name: DOCKER_TAG
+ default: '{docker-tag}'
+ description: 'Tag to pull docker image'
+ - string:
+ name: CI_DEBUG
+ default: 'false'
+ description: "Show debug output information"
+ scm:
+ - git-scm
+ triggers:
+ - 'qtip-{scenario}-{pod}-weekly-{stream}-trigger'
+ builders:
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - qtip-validate-deploy-weekly
+ publishers:
+ - email:
+ recipients: wu.zhihui1@zte.com.cn, zhang.yujunz@zte.com.cn
+
+################
+# MARCOS
+################
+
+#---------
+# builder
+#---------
+- builder:
+ name: qtip-validate-deploy-weekly
+ builders:
+ - shell:
+ !include-raw: ./helpers/cleanup-deploy.sh
+ - shell:
+ !include-raw: ./helpers/validate-deploy.sh
+
+#---------
+# trigger
+#---------
+
+- trigger:
+ name: 'qtip-os-odl_l2-nofeature-ha-zte-pod1-weekly-danube-trigger'
+ triggers:
+ - timed: '0 7 * * 0'
+
+- trigger:
+ name: 'qtip-os-nosdn-kvm-ha-zte-pod3-weekly-danube-trigger'
+ triggers:
+ - timed: '0 7 * * 0'
+
+- trigger:
+ name: 'qtip-os-nosdn-nofeature-ha-zte-pod3-weekly-danube-trigger'
+ triggers:
+ - timed: '30 0 * * 0'
- description-setter:
description: "POD: $NODE_NAME"
- 'yardstick-cleanup'
- #- 'yardstick-fetch-os-creds'
+ - 'yardstick-fetch-os-creds'
- 'yardstick-{testsuite}'
- 'yardstick-store-results'
set -e
[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
-# labconfig is used only for joid
-labconfig=""
+rc_file_vol=""
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]+")
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
+fi
+
+if [[ ${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:/etc/yardstick/openstack.creds"
+ rc_file_vol="-v $LAB_CONFIG/admin-openrc:/etc/yardstick/openstack.creds"
# 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
+else
+ rc_file_vol="-v ${HOME}/opnfv-openrc.sh:/etc/yardstick/openstack.creds"
fi
# Set iptables rule to allow forwarding return traffic for container
map_log_dir="-v ${dir_result}:/tmp/yardstick"
# Run docker
-cmd="sudo docker run ${opts} ${envs} ${labconfig} ${map_log_dir} ${sshkey} opnfv/yardstick:${DOCKER_TAG} \
+cmd="sudo docker run ${opts} ${envs} ${rc_file_vol} ${map_log_dir} ${sshkey} opnfv/yardstick:${DOCKER_TAG} \
exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}"
echo "Yardstick: Running docker cmd: ${cmd}"
${cmd}