summaryrefslogtreecommitdiffstats
path: root/jjb
diff options
context:
space:
mode:
Diffstat (limited to 'jjb')
-rw-r--r--jjb/armband/armband-ci-jobs.yml179
-rwxr-xr-xjjb/armband/armband-deploy.sh7
-rw-r--r--jjb/fuel/fuel-ci-jobs.yml14
-rwxr-xr-xjjb/fuel/fuel-deploy.sh4
-rw-r--r--jjb/fuel/fuel-project-jobs.yml4
-rw-r--r--jjb/functest/functest-ci-jobs.yml32
-rw-r--r--jjb/infra/infra-daily-jobs.yml11
-rwxr-xr-xjjb/infra/infra-provision.sh2
-rwxr-xr-xjjb/kvmfornfv/kvmfornfv-upload-artifact.sh22
-rw-r--r--jjb/opnfv/opnfv-docker.sh7
-rw-r--r--jjb/opnfv/slave-params.yml62
-rw-r--r--jjb/qtip/qtip-ci-jobs.yml85
-rw-r--r--jjb/qtip/qtip-cleanup.sh30
-rw-r--r--jjb/qtip/qtip-daily-ci.sh38
-rw-r--r--jjb/releng-macros.yaml21
-rw-r--r--jjb/yardstick/yardstick-ci-jobs.yml49
16 files changed, 377 insertions, 190 deletions
diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml
index 6ea73e12a..f100a46a8 100644
--- a/jjb/armband/armband-ci-jobs.yml
+++ b/jjb/armband/armband-ci-jobs.yml
@@ -17,23 +17,44 @@
#--------------------------------
# POD, INSTALLER, AND BRANCH MAPPING
#--------------------------------
-# brahmaputra
+# CI POD's
+#--------------------------------
+# colorado
#--------------------------------
pod:
- - arm-pod1:
+ - armband-baremetal:
+ slave-label: armband-baremetal
installer: fuel
<<: *colorado
- - arm-pod2:
+ - armband-virtual:
+ slave-label: armband-virtual
installer: fuel
<<: *colorado
#--------------------------------
# master
#--------------------------------
- pod:
- - arm-pod1:
+ - armband-baremetal:
+ slave-label: armband-baremetal
installer: fuel
<<: *master
+ - armband-virtual:
+ slave-label: armband-virtual
+ installer: fuel
+ <<: *master
+#--------------------------------
+# NONE-CI POD's
+#--------------------------------
+# colorado
+#--------------------------------
+ - arm-pod2:
+ slave-label: arm-pod2
+ installer: fuel
+ <<: *colorado
+#--------------------------------
+# master
+#--------------------------------
- arm-pod2:
+ slave-label: arm-pod2
installer: fuel
<<: *master
#--------------------------------
@@ -42,27 +63,27 @@
scenario:
# HA scenarios
- 'os-nosdn-nofeature-ha':
- auto-trigger-name: 'armband-{installer}-{scenario}-{pod}-{stream}-trigger'
+ auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
- 'os-odl_l2-nofeature-ha':
- auto-trigger-name: 'armband-{installer}-{scenario}-{pod}-{stream}-trigger'
+ auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
- 'os-odl_l3-nofeature-ha':
- auto-trigger-name: 'armband-{installer}-{scenario}-{pod}-{stream}-trigger'
+ auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
- 'os-odl_l2-bgpvpn-ha':
- auto-trigger-name: 'armband-{installer}-{scenario}-{pod}-{stream}-trigger'
+ auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
# NOHA scenarios
- 'os-odl_l2-nofeature-noha':
- auto-trigger-name: 'armband-{installer}-{scenario}-{pod}-{stream}-trigger'
+ auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
jobs:
- - 'armband-{installer}-{scenario}-{pod}-daily-{stream}'
- - 'armband-{installer}-deploy-{pod}-daily-{stream}'
+ - '{installer}-{scenario}-{pod}-daily-{stream}'
+ - '{installer}-deploy-{pod}-daily-{stream}'
########################
# job templates
########################
- job-template:
- name: 'armband-{installer}-{scenario}-{pod}-daily-{stream}'
+ name: '{installer}-{scenario}-{pod}-daily-{stream}'
concurrent: false
@@ -75,7 +96,7 @@
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - 'armband-{installer}-os-.*?-{pod}-daily-.*'
+ - '{installer}-os-.*?-{pod}-daily-.*'
block-level: 'NODE'
wrappers:
@@ -89,7 +110,7 @@
- project-parameter:
project: '{project}'
- '{installer}-defaults'
- - '{pod}-defaults':
+ - '{slave-label}-defaults':
installer: '{installer}'
- string:
name: DEPLOY_SCENARIO
@@ -99,7 +120,7 @@
builders:
- trigger-builds:
- - project: 'armband-{installer}-deploy-{pod}-daily-{stream}'
+ - project: '{installer}-deploy-{pod}-daily-{stream}'
current-parameters: false
predefined-parameters:
DEPLOY_SCENARIO={scenario}
@@ -116,9 +137,20 @@
build-step-failure-threshold: 'never'
failure-threshold: 'never'
unstable-threshold: 'FAILURE'
+ - trigger-builds:
+ - project: 'yardstick-{installer}-{pod}-daily-{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: 'armband-{installer}-deploy-{pod}-daily-{stream}'
+ name: '{installer}-deploy-{pod}-daily-{stream}'
concurrent: false
@@ -131,15 +163,15 @@
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - 'armband-{installer}-deploy-{pod}-daily-{stream}'
- - 'armband-{installer}-deploy-generic-daily-.*'
+ - '{installer}-deploy-{pod}-daily-{stream}'
+ - '{installer}-deploy-generic-daily-.*'
block-level: 'NODE'
parameters:
- project-parameter:
project: '{project}'
- '{installer}-defaults'
- - '{pod}-defaults':
+ - '{slave-label}-defaults':
installer: '{installer}'
- string:
name: DEPLOY_SCENARIO
@@ -190,96 +222,141 @@
# trigger macros
########################
# CI PODs
-#----------------------------------------------------------
-# Enea Armband POD 1 Triggers running against master branch
-#----------------------------------------------------------
+#-----------------------------------------------------------------
+# Enea Armband CI Baremetal Triggers running against master branch
+#-----------------------------------------------------------------
- trigger:
- name: 'armband-fuel-os-odl_l2-nofeature-ha-arm-pod1-master-trigger'
+ name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 3 * * 1,4'
+ - timed: '0 3,15 * * 1'
- trigger:
- name: 'armband-fuel-os-nosdn-nofeature-ha-arm-pod1-master-trigger'
+ name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 15 * * 1,4'
+ - timed: '0 3,15 * * 2'
- trigger:
- name: 'armband-fuel-os-odl_l3-nofeature-ha-arm-pod1-master-trigger'
+ name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 3 * * 2,5'
+ - timed: '0 3,15 * * 3'
- trigger:
- name: 'armband-fuel-os-odl_l2-bgpvpn-ha-arm-pod1-master-trigger'
+ name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 15 * * 2,5'
+ - timed: '0 3,15 * * 4'
- trigger:
- name: 'armband-fuel-os-odl_l2-nofeature-noha-arm-pod1-master-trigger'
+ name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 3 * * 3,6'
+ - timed: '0 3,15 * * 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'
+- trigger:
+ name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-colorado-trigger'
+ triggers:
+ - timed: '0 4,16 * * 2'
+- trigger:
+ name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-colorado-trigger'
+ triggers:
+ - timed: '0 4,16 * * 3'
+- trigger:
+ name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-colorado-trigger'
+ triggers:
+ - timed: '0 4,16 * * 4'
+- trigger:
+ name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-colorado-trigger'
+ triggers:
+ - timed: '0 4,16 * * 5'
#---------------------------------------------------------------
-# Enea Armband POD 1 Triggers running against brahmaputra branch
+# Enea Armband CI Virtual Triggers running against master branch
#---------------------------------------------------------------
- trigger:
- name: 'armband-fuel-os-odl_l2-nofeature-ha-arm-pod1-colorado-trigger'
+ name: 'fuel-os-odl_l2-nofeature-ha-armband-virtual-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-odl_l2-bgpvpn-ha-armband-virtual-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-odl_l2-nofeature-noha-armband-virtual-master-trigger'
+ triggers:
+ - timed: ''
+#--------------------------------------------------------------------
+# Enea Armband CI Virtual Triggers running against colorado branch
+#--------------------------------------------------------------------
+- trigger:
+ name: 'fuel-os-odl_l2-nofeature-ha-armband-virtual-colorado-trigger'
triggers:
- timed: ''
- trigger:
- name: 'armband-fuel-os-nosdn-nofeature-ha-arm-pod1-colorado-trigger'
+ name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-colorado-trigger'
triggers:
- timed: ''
- trigger:
- name: 'armband-fuel-os-odl_l3-nofeature-ha-arm-pod1-colorado-trigger'
+ name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-colorado-trigger'
triggers:
- timed: ''
- trigger:
- name: 'armband-fuel-os-odl_l2-bgpvpn-ha-arm-pod1-colorado-trigger'
+ name: 'fuel-os-odl_l2-bgpvpn-ha-armband-virtual-colorado-trigger'
triggers:
- timed: ''
- trigger:
- name: 'armband-fuel-os-odl_l2-nofeature-noha-arm-pod1-colorado-trigger'
+ name: 'fuel-os-odl_l2-nofeature-noha-armband-virtual-colorado-trigger'
triggers:
- timed: ''
#----------------------------------------------------------
# Enea Armband POD 2 Triggers running against master branch
#----------------------------------------------------------
-# No triggers for master for now
- trigger:
- name: 'armband-fuel-os-odl_l2-nofeature-ha-arm-pod2-master-trigger'
+ name: 'fuel-os-odl_l2-nofeature-ha-arm-pod2-master-trigger'
triggers:
- timed: ''
- trigger:
- name: 'armband-fuel-os-nosdn-nofeature-ha-arm-pod2-master-trigger'
+ name: 'fuel-os-nosdn-nofeature-ha-arm-pod2-master-trigger'
triggers:
- timed: ''
- trigger:
- name: 'armband-fuel-os-odl_l3-nofeature-ha-arm-pod2-master-trigger'
+ name: 'fuel-os-odl_l3-nofeature-ha-arm-pod2-master-trigger'
triggers:
- timed: ''
- trigger:
- name: 'armband-fuel-os-odl_l2-bgpvpn-ha-arm-pod2-master-trigger'
+ name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod2-master-trigger'
triggers:
- timed: ''
- trigger:
- name: 'armband-fuel-os-odl_l2-nofeature-noha-arm-pod2-master-trigger'
+ name: 'fuel-os-odl_l2-nofeature-noha-arm-pod2-master-trigger'
triggers:
- timed: ''
#---------------------------------------------------------------
-# Enea Armband POD 2 Triggers running against brahmaputra branch
+# Enea Armband POD 2 Triggers running against colorado branch
#---------------------------------------------------------------
- trigger:
- name: 'armband-fuel-os-odl_l2-nofeature-ha-arm-pod2-colorado-trigger'
+ name: 'fuel-os-odl_l2-nofeature-ha-arm-pod2-colorado-trigger'
triggers:
- timed: ''
- trigger:
- name: 'armband-fuel-os-nosdn-nofeature-ha-arm-pod2-colorado-trigger'
+ name: 'fuel-os-nosdn-nofeature-ha-arm-pod2-colorado-trigger'
triggers:
- timed: ''
- trigger:
- name: 'armband-fuel-os-odl_l3-nofeature-ha-arm-pod2-colorado-trigger'
+ name: 'fuel-os-odl_l3-nofeature-ha-arm-pod2-colorado-trigger'
triggers:
- timed: ''
- trigger:
- name: 'armband-fuel-os-odl_l2-bgpvpn-ha-arm-pod2-colorado-trigger'
+ name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod2-colorado-trigger'
triggers:
- timed: ''
- trigger:
- name: 'armband-fuel-os-odl_l2-nofeature-noha-arm-pod2-colorado-trigger'
+ name: 'fuel-os-odl_l2-nofeature-noha-arm-pod2-colorado-trigger'
triggers:
- timed: ''
diff --git a/jjb/armband/armband-deploy.sh b/jjb/armband/armband-deploy.sh
index 901f845bf..fb4c1ead5 100755
--- a/jjb/armband/armband-deploy.sh
+++ b/jjb/armband/armband-deploy.sh
@@ -50,6 +50,13 @@ if [[ $LAB_CONFIG_URL =~ ^(git|ssh):// ]]; then
echo "cloning $LAB_CONFIG_URL"
git clone --quiet --branch ${GIT_BRANCH##origin/} $LAB_CONFIG_URL lab-config
LAB_CONFIG_URL=file://${WORKSPACE}/lab-config
+
+ # Source local_env if present, which contains POD-specific config
+ local_env="${WORKSPACE}/lab-config/labs/$LAB_NAME/$POD_NAME/fuel/config/local_env"
+ if [ -e $local_env ]; then
+ echo "-- Sourcing local environment file"
+ source $local_env
+ fi
fi
# releng wants us to use nothing else but opnfv.iso for now. We comply.
diff --git a/jjb/fuel/fuel-ci-jobs.yml b/jjb/fuel/fuel-ci-jobs.yml
index 0d31c99b4..056b2cc0f 100644
--- a/jjb/fuel/fuel-ci-jobs.yml
+++ b/jjb/fuel/fuel-ci-jobs.yml
@@ -50,6 +50,12 @@
- zte-pod3:
slave-label: zte-pod3
<<: *master
+ - zte-pod1:
+ slave-label: zte-pod1
+ <<: *colorado
+ - zte-pod3:
+ slave-label: zte-pod3
+ <<: *colorado
#--------------------------------
# scenarios
#--------------------------------
@@ -175,7 +181,7 @@
publishers:
- email:
- recipients: peter.barabas@ericsson.com
+ recipients: peter.barabas@ericsson.com fzhadaev@mirantis.com
- job-template:
name: 'fuel-deploy-{pod}-daily-{stream}'
@@ -232,7 +238,7 @@
publishers:
- email:
- recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com peter.barabas@ericsson.com
+ recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com peter.barabas@ericsson.com fzhadaev@mirantis.com
########################
# parameter macros
@@ -802,7 +808,7 @@
- trigger:
name: 'fuel-os-odl_l2-nofeature-ha-zte-pod1-daily-colorado-trigger'
triggers:
- - timed: ''
+ - timed: '0 2 * * *'
- trigger:
name: 'fuel-os-odl_l3-nofeature-ha-zte-pod1-daily-colorado-trigger'
triggers:
@@ -979,7 +985,7 @@
- trigger:
name: 'fuel-os-nosdn-kvm-ha-zte-pod3-daily-colorado-trigger'
triggers:
- - timed: ''
+ - timed: '0 18 * * *'
- trigger:
name: 'fuel-os-nosdn-ovs-ha-zte-pod3-daily-colorado-trigger'
triggers:
diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh
index 730f0d116..136aac861 100755
--- a/jjb/fuel/fuel-deploy.sh
+++ b/jjb/fuel/fuel-deploy.sh
@@ -121,7 +121,7 @@ export FUEL_MASTER_IP=10.20.0.2
export TACKER_SCRIPT_URL="https://git.opnfv.org/cgit/fuel/plain/prototypes/sfc_tacker/poc.tacker-up.sh?h=${GIT_BRANCH#*/}"
export CONTROLLER_NODE_IP=$(sshpass -pr00tme /usr/bin/ssh -o UserKnownHostsFile=/dev/null \
-o StrictHostKeyChecking=no root@$FUEL_MASTER_IP 'fuel node list' | \
- grep opendaylight | cut -d'|' -f5)
+ grep controller | head -1 | cut -d'|' -f5)
# we can't do much if we do not have the controller IP
if [[ ! "$CONTROLLER_NODE_IP" =~ "10.20.0" ]]; then
@@ -149,8 +149,6 @@ send "/bin/mkdir -p /root/sfc-poc && cd /root/sfc-poc\r"
expect "# "
send "git clone https://gerrit.opnfv.org/gerrit/fuel && cd fuel\r"
expect "# "
-send "git fetch https://gerrit.opnfv.org/gerrit/fuel refs/changes/97/10597/2 && git checkout FETCH_HEAD\r"
-expect "# "
send "/bin/bash /root/sfc-poc/fuel/prototypes/sfc_tacker/poc.tacker-up.sh\r"
expect "# "
send "exit\r"
diff --git a/jjb/fuel/fuel-project-jobs.yml b/jjb/fuel/fuel-project-jobs.yml
index cf893832b..588ab0cd5 100644
--- a/jjb/fuel/fuel-project-jobs.yml
+++ b/jjb/fuel/fuel-project-jobs.yml
@@ -79,7 +79,7 @@
publishers:
- email:
- recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
+ recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com fzhadaev@mirantis.com
- job-template:
name: 'fuel-merge-build-{stream}'
@@ -218,7 +218,7 @@
publishers:
- email:
- recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
+ recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com fzhadaev@mirantis.com
- job-template:
name: 'fuel-deploy-generic-daily-{stream}'
diff --git a/jjb/functest/functest-ci-jobs.yml b/jjb/functest/functest-ci-jobs.yml
index 3070c2535..0f0cabab3 100644
--- a/jjb/functest/functest-ci-jobs.yml
+++ b/jjb/functest/functest-ci-jobs.yml
@@ -96,6 +96,23 @@
slave-label: '{pod}'
installer: apex
<<: *colorado
+# armband CI PODs
+ - armband-baremetal:
+ slave-label: armband-baremetal
+ installer: fuel
+ <<: *master
+ - armband-virtual:
+ slave-label: armband-virtual
+ installer: fuel
+ <<: *master
+ - armband-baremetal:
+ slave-label: armband-baremetal
+ installer: fuel
+ <<: *colorado
+ - armband-virtual:
+ slave-label: armband-virtual
+ installer: fuel
+ <<: *colorado
#--------------------------------
# None-CI PODs
#--------------------------------
@@ -119,7 +136,7 @@
slave-label: '{pod}'
installer: apex
<<: *master
- - arm-pod1:
+ - arm-pod2:
slave-label: '{pod}'
installer: fuel
<<: *master
@@ -127,6 +144,10 @@
slave-label: '{pod}'
installer: fuel
<<: *master
+ - zte-pod1:
+ slave-label: '{pod}'
+ installer: fuel
+ <<: *colorado
- zte-pod2:
slave-label: '{pod}'
installer: fuel
@@ -135,7 +156,11 @@
slave-label: '{pod}'
installer: fuel
<<: *master
- - arm-pod1:
+ - zte-pod3:
+ slave-label: '{pod}'
+ installer: fuel
+ <<: *colorado
+ - arm-pod2:
slave-label: '{pod}'
installer: fuel
<<: *colorado
@@ -293,7 +318,6 @@
- 'functest-cleanup'
- 'set-functest-env'
- 'functest-suite'
- - 'functest-exit'
- builder:
name: functest-daily
@@ -335,4 +359,4 @@
name: functest-exit
builders:
- shell:
- !include-raw: ./functest-exit.sh \ No newline at end of file
+ !include-raw: ./functest-exit.sh
diff --git a/jjb/infra/infra-daily-jobs.yml b/jjb/infra/infra-daily-jobs.yml
index 64c2fc09c..a066e7db4 100644
--- a/jjb/infra/infra-daily-jobs.yml
+++ b/jjb/infra/infra-daily-jobs.yml
@@ -96,6 +96,10 @@
failure-threshold: 'never'
unstable-threshold: 'FAILURE'
+ publishers:
+ - email:
+ recipients: fatih.degirmenci@ericsson.com yroblamo@redhat.com mchandras@suse.de jack.morgan@intel.com zhang.jun3g@zte.com.cn
+
- job-template:
name: 'infra-{phase}-{pod}-daily-{stream}'
@@ -118,6 +122,9 @@
- string:
name: DEPLOY_SCENARIO
default: 'os-nosdn-nofeature-noha'
+ - string:
+ name: CLEAN_DIB_IMAGES
+ default: 'false'
scm:
- git-scm:
@@ -149,11 +156,11 @@
- shell: |
#!/bin/bash
- sudo $WORKSPACE/jjb/infra/infra-provision.sh
+ echo "Not activated!"
- builder:
name: 'infra-smoketest-daily-builder'
builders:
- shell: |
#!/bin/bash
- sudo $WORKSPACE/jjb/infra/infra-provision.sh
+ echo "Not activated!"
diff --git a/jjb/infra/infra-provision.sh b/jjb/infra/infra-provision.sh
index 5ddbaf968..45ed3b928 100755
--- a/jjb/infra/infra-provision.sh
+++ b/jjb/infra/infra-provision.sh
@@ -21,7 +21,7 @@ cp -R /opt/releng/prototypes/bifrost/* /opt/bifrost/
# cleanup remnants of previous deployment
cd /opt/bifrost
-./scripts/destroy_env.sh
+./scripts/destroy-env.sh
# provision 3 VMs; jumphost, controller, and compute
cd /opt/bifrost
diff --git a/jjb/kvmfornfv/kvmfornfv-upload-artifact.sh b/jjb/kvmfornfv/kvmfornfv-upload-artifact.sh
index 327ea97e8..6f8fff3ff 100755
--- a/jjb/kvmfornfv/kvmfornfv-upload-artifact.sh
+++ b/jjb/kvmfornfv/kvmfornfv-upload-artifact.sh
@@ -11,6 +11,7 @@ fi
case "$JOB_TYPE" in
verify)
+ OPNFV_ARTIFACT_VERSION="gerrit-$GERRIT_CHANGE_NUMBER"
GS_UPLOAD_LOCATION="gs://artifacts.opnfv.org/$PROJECT/review/$GERRIT_CHANGE_NUMBER"
echo "Removing outdated artifacts produced for the previous patch for the change $GERRIT_CHANGE_NUMBER"
gsutil ls $GS_UPLOAD_LOCATION > /dev/null 2>&1 && gsutil rm -r $GS_UPLOAD_LOCATION
@@ -26,11 +27,32 @@ case "$JOB_TYPE" in
exit 1
esac
+# save information regarding artifacts into file
+(
+ echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION"
+ echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)"
+ echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
+ echo "OPNFV_ARTIFACT_URL=$GS_UPLOAD_LOCATION"
+ echo "OPNFV_BUILD_URL=$BUILD_URL"
+) > $WORKSPACE/opnfv.properties
+source $WORKSPACE/opnfv.properties
+
+# upload artifacts
gsutil cp -r $WORKSPACE/build_output/* $GS_UPLOAD_LOCATION > $WORKSPACE/gsutil.log 2>&1
gsutil -m setmeta -r \
-h "Cache-Control:private, max-age=0, no-transform" \
$GS_UPLOAD_LOCATION > /dev/null 2>&1
+# upload metadata file for the artifacts built by daily job
+if [[ "$JOB_TYPE" == "daily" ]]; then
+ gsutil cp $WORKSPACE/opnfv.properties $GS_UPLOAD_LOCATION/opnfv.properties > $WORKSPACE/gsutil.log 2>&1
+ gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/latest.properties > $WORKSPACE/gsutil.log 2>&1
+ gsutil -m setmeta -r \
+ -h "Cache-Control:private, max-age=0, no-transform" \
+ $GS_UPLOAD_LOCATION/opnfv.properties \
+ gs://$GS_URL/latest.properties > /dev/null 2>&1
+fi
+
gsutil ls $GS_UPLOAD_LOCATION > /dev/null 2>&1
if [[ $? -ne 0 ]]; then
echo "Problem while uploading artifacts!"
diff --git a/jjb/opnfv/opnfv-docker.sh b/jjb/opnfv/opnfv-docker.sh
index ef4738482..07198c608 100644
--- a/jjb/opnfv/opnfv-docker.sh
+++ b/jjb/opnfv/opnfv-docker.sh
@@ -110,7 +110,12 @@ echo "Tag version to be build and pushed: $DOCKER_TAG"
# Start the build
echo "Building docker image: $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG"
-docker build --no-cache -t $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG .
+if [[ $DOCKER_REPO_NAME == *"functest"* ]]; then
+ docker build --no-cache -t $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG --build-arg BRANCH=$branch .
+else
+ docker build --no-cache -t $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG .
+fi
+
echo "Creating tag '$DOCKER_TAG'..."
docker tag -f $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG $DOCKER_REPO_NAME:$DOCKER_TAG
diff --git a/jjb/opnfv/slave-params.yml b/jjb/opnfv/slave-params.yml
index 59348e454..c7ec6aa9d 100644
--- a/jjb/opnfv/slave-params.yml
+++ b/jjb/opnfv/slave-params.yml
@@ -151,6 +151,20 @@
default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: 'Git URL to use on this Jenkins Slave'
- parameter:
+ name: 'armband-baremetal-defaults'
+ parameters:
+ - label:
+ name: SLAVE_LABEL
+ default: 'armband-baremetal'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: LAB_CONFIG_URL
+ default: ssh://git@git.enea.com/pharos/lab-config
+ description: 'Base URI to the configuration directory'
+- parameter:
name: 'joid-baremetal-defaults'
parameters:
- label:
@@ -202,6 +216,20 @@
default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: 'Git URL to use on this Jenkins Slave'
- parameter:
+ name: 'armband-virtual-defaults'
+ parameters:
+ - label:
+ name: SLAVE_LABEL
+ default: 'armband-virtual'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: LAB_CONFIG_URL
+ default: ssh://git@git.enea.com/pharos/lab-config
+ description: 'Base URI to the configuration directory'
+- parameter:
name: 'joid-virtual-defaults'
parameters:
- label:
@@ -576,32 +604,6 @@
default: /root/.ssh/id_rsa
description: 'SSH key to use for Apex'
- parameter:
- name: 'arm-pod1-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - arm-pod1
- default-slaves:
- - arm-pod1
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: DEFAULT_BRIDGE
- default: 'admin6_br0,public6_br0'
- desciption: 'The bridge to use for Fuel PXE booting. It can be a comma sparated list of bridges, in which case the first is the PXE boot bridge, and all subsequent interfaces that will be added to the VM. If left empty, most deploy scripts will default to pxebr.'
- - string:
- name: DEPLOY_TIMEOUT
- default: '360'
- description: 'Deployment timeout in minutes'
- - string:
- name: LAB_CONFIG_URL
- default: ssh://git@git.enea.com/pharos/lab-config
- description: 'Base URI to the configuration directory'
-- parameter:
name: 'arm-pod2-defaults'
parameters:
- node:
@@ -616,14 +618,6 @@
default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: 'Git URL to use on this Jenkins Slave'
- string:
- name: DEFAULT_BRIDGE
- default: 'admin_br0,public_br0'
- desciption: 'The bridge to use for Fuel PXE booting. It can be a comma sparated list of bridges, in which case the first is the PXE boot bridge, and all subsequent interfaces that will be added to the VM. If left empty, most deploy scripts will default to pxebr.'
- - string:
- name: DEPLOY_TIMEOUT
- default: '360'
- description: 'Deployment timeout in minutes'
- - string:
name: LAB_CONFIG_URL
default: ssh://git@git.enea.com/pharos/lab-config
description: 'Base URI to the configuration directory'
diff --git a/jjb/qtip/qtip-ci-jobs.yml b/jjb/qtip/qtip-ci-jobs.yml
index d454b0f07..d0d6b47a3 100644
--- a/jjb/qtip/qtip-ci-jobs.yml
+++ b/jjb/qtip/qtip-ci-jobs.yml
@@ -13,6 +13,7 @@
stream: master
branch: '{stream}'
gs-pathname: ''
+ docker-tag: 'latest'
#--------------------------------
# POD, INSTALLER, AND BRANCH MAPPING
#--------------------------------
@@ -60,6 +61,10 @@
- string:
name: DEPLOY_SCENARIO
default: 'os-nosdn-nofeature-ha'
+ - string:
+ name: DOCKER_TAG
+ default: '{docker-tag}'
+ description: 'Tag to pull docker image'
scm:
- git-scm:
@@ -72,9 +77,7 @@
builders:
- 'qtip-cleanup'
- - 'qtip-set-env'
- - 'qtip-run-suite'
- - 'qtip-pushtoDB'
+ - 'qtip-daily-ci'
publishers:
- email:
@@ -84,82 +87,16 @@
#biuilder macros
###########################
- builder:
- name: qtip-set-env
- builders:
- - shell: |
- #!/bin/bash
- echo "Qtip: Start Docker and prepare environment"
- envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} -e NODE_NAME=${NODE_NAME}"
- suite="TEST_CASE=all"
- dir_imgstore="${HOME}/imgstore"
- img_volume="${dir_imgstore}:/home/opnfv/imgstore"
- docker pull opnfv/qtip:latest
- cmd=" docker run -id -e $envs -e $suite -v ${img_volume} opnfv/qtip:latest /bin/bash"
- echo "Qtip: Running docker run command: ${cmd}"
- ${cmd}
- docker ps -a
- container_id=$(docker ps | grep 'opnfv/qtip:latest' | awk '{print $1}' | head -1)
- if [ $(docker ps | grep 'opnfv/qtip' | wc -l) == 0 ]; then
- echo "The container opnfv/qtip with ID=${container_id} has not been properly started. Exiting..."
- exit 1
- fi
-- builder:
- name: qtip-run-suite
- builders:
- - shell: |
- #!/bin/bash
- container_id=$(docker ps | grep 'opnfv/qtip:latest' | awk '{print $1}' | head -1)
- if [[ ! -z ${container_id} ]]; then
- echo "The container ID is: ${container_id}"
- QTIP_REPO=/home/opnfv/repos/qtip
- docker exec -t ${container_id} $QTIP_REPO/docker/run_qtip.sh
- else
- echo "Container ID not available"
- fi
-
-- builder:
- name: qtip-pushtoDB
+ name: qtip-daily-ci
builders:
- - shell: |
- #!/bin/bash
-
- echo "Pushing available results to DB"
- echo "The container id is:"
- container_id=$(docker ps | grep 'opnfv/qtip:latest' | awk '{print $1}' | head -1)
- if [[ ! -z ${container_id} ]]; then
- echo "The condiner ID is: ${container_id}"
- QTIP_REPO=/home/opnfv/repos/qtip
- docker exec -t ${container_id} $QTIP_REPO/docker/push_db.sh
- else
- echo "Container ID not available"
- fi
+ - shell:
+ !include-raw: ./qtip-daily-ci.sh
- builder:
name: qtip-cleanup
builders:
- - shell: |
- #!/bin/bash
-
- echo "Cleaning up QTIP docker containers/images..."
- # Remove previous running containers if exist
- if [[ ! -z $(docker ps -a | grep opnfv/qtip) ]]; then
- echo "Removing existing opnfv/qtip containers..."
- running_containers=$(docker ps | grep opnfv/qtip | awk '{print $1}')
- docker stop ${running_containers}
- all_containers=$(docker ps -a | grep opnfv/qtip | awk '{print $1}')
- docker rm ${all_containers}
- fi
-
- # Remove existing images if exist
- if [[ ! -z $(docker images | grep opnfv/qtip) ]]; then
- echo "Docker images to remove:"
- docker images | head -1 && docker images | grep opnfv/qtip
- image_tags=($(docker images | grep opnfv/qtip | awk '{print $2}'))
- for tag in "${image_tags[@]}"; do
- echo "Removing docker image opnfv/qtip:$tag..."
- docker rmi opnfv/qtip:$tag
- done
- fi
+ - shell:
+ !include-raw: ./qtip-cleanup.sh
#################
#trigger macros
diff --git a/jjb/qtip/qtip-cleanup.sh b/jjb/qtip/qtip-cleanup.sh
new file mode 100644
index 000000000..b923aa2a8
--- /dev/null
+++ b/jjb/qtip/qtip-cleanup.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2016 ZTE and others.
+# 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
+##############################################################################
+echo "Cleaning up QTIP docker containers/images..."
+
+# Remove previous running containers if exist
+if [[ ! -z $(docker ps -a | grep opnfv/qtip) ]]; then
+ echo "Removing existing opnfv/qtip containers..."
+ running_containers=$(docker ps | grep opnfv/qtip | awk '{print $1}')
+ docker stop ${running_containers}
+ all_containers=$(docker ps -a | grep opnfv/qtip | awk '{print $1}')
+ docker rm ${all_containers}
+fi
+
+# Remove existing images if exist
+if [[ ! -z $(docker images | grep opnfv/qtip) ]]; then
+ echo "Docker images to remove:"
+ docker images | head -1 && docker images | grep opnfv/qtip
+ image_tags=($(docker images | grep opnfv/qtip | awk '{print $2}'))
+ for tag in "${image_tags[@]}"; do
+ echo "Removing docker image opnfv/qtip:$tag..."
+ docker rmi opnfv/qtip:$tag
+ done
+fi
+
diff --git a/jjb/qtip/qtip-daily-ci.sh b/jjb/qtip/qtip-daily-ci.sh
new file mode 100644
index 000000000..4fdc04345
--- /dev/null
+++ b/jjb/qtip/qtip-daily-ci.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2016 ZTE and others.
+# 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
+##############################################################################
+set -e
+
+envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} -e NODE_NAME=${NODE_NAME}"
+suite="TEST_CASE=all"
+dir_imgstore="${HOME}/imgstore"
+img_volume="${dir_imgstore}:/home/opnfv/imgstore"
+
+echo "Qtip: Pulling docker image: opnfv/qtip:${DOCKER_TAG}"
+docker pull opnfv/qtip:$DOCKER_TAG
+
+cmd=" docker run -id -e $envs -e $suite -v ${img_volume} opnfv/qtip:${DOCKER_TAG} /bin/bash"
+echo "Qtip: Running docker command: ${cmd}"
+${cmd}
+
+container_id=$(docker ps | grep "opnfv/qtip:${DOCKER_TAG}" | awk '{print $1}' | head -1)
+if [ $(docker ps | grep 'opnfv/qtip' | wc -l) == 0 ]; then
+ echo "The container opnfv/qtip with ID=${container_id} has not been properly started. Exiting..."
+ exit 1
+else
+ echo "The container ID is: ${container_id}"
+ QTIP_REPO=/home/opnfv/repos/qtip
+
+ echo "Run Qtip test"
+ docker exec -t ${container_id} $QTIP_REPO/docker/run_qtip.sh
+
+ echo "Pushing available results to DB"
+ docker exec -t ${container_id} $QTIP_REPO/docker/push_db.sh
+fi
+
+echo "Qtip done!"
diff --git a/jjb/releng-macros.yaml b/jjb/releng-macros.yaml
index 8328aec03..2aa775fd6 100644
--- a/jjb/releng-macros.yaml
+++ b/jjb/releng-macros.yaml
@@ -47,6 +47,7 @@
- 'origin/$GERRIT_BRANCH'
skip-tag: true
choosing-strategy: '{choosing-strategy}'
+ timeout: 15
- wrapper:
name: build-timeout
@@ -208,12 +209,10 @@
mv docs_output "$local_path"
gsutil -m cp -r "$local_path" "gs://$gs_base"
- if gsutil ls "gs://$gs_path" | grep -e 'html$' > /dev/null 2>&1 ; then
- gsutil -m setmeta \
- -h "Content-Type:text/html" \
- -h "Cache-Control:private, max-age=0, no-transform" \
- "gs://$gs_path"/**.html
- fi
+ gsutil -m setmeta \
+ -h "Content-Type:text/html" \
+ -h "Cache-Control:private, max-age=0, no-transform" \
+ "gs://$gs_path"/**.html > /dev/null 2>&1
echo "Document link(s):" >> gerrit_comment.txt
find "$local_path" | grep -e 'index.html$' -e 'pdf$' | \
@@ -244,12 +243,10 @@
mv docs_output "$local_path"
gsutil -m cp -r "$local_path" "gs://$GS_URL"
- if gsutil ls "gs://$gs_path" | grep -e 'html$' > /dev/null 2>&1 ; then
- gsutil -m setmeta \
- -h "Content-Type:text/html" \
- -h "Cache-Control:private, max-age=0, no-transform" \
- "gs://$gs_path"/**.html
- fi
+ gsutil -m setmeta \
+ -h "Content-Type:text/html" \
+ -h "Cache-Control:private, max-age=0, no-transform" \
+ "gs://$gs_path"/**.html > /dev/null 2>&1
echo "Document link(s):" >> gerrit_comment.txt
find "$local_path" | grep -e 'index.html$' -e 'pdf$' | \
diff --git a/jjb/yardstick/yardstick-ci-jobs.yml b/jjb/yardstick/yardstick-ci-jobs.yml
index d9fb43555..dd88a52b6 100644
--- a/jjb/yardstick/yardstick-ci-jobs.yml
+++ b/jjb/yardstick/yardstick-ci-jobs.yml
@@ -49,6 +49,27 @@
installer: fuel
auto-trigger-name: 'daily-trigger-disabled'
<<: *colorado
+# armband CI PODs
+ - armband-baremetal:
+ slave-label: armband-baremetal
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - armband-virtual:
+ slave-label: armband-virtual
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - armband-baremetal:
+ slave-label: armband-baremetal
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *colorado
+ - armband-virtual:
+ slave-label: armband-virtual
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *colorado
# joid CI PODs
- baremetal:
slave-label: joid-baremetal
@@ -121,6 +142,11 @@
installer: fuel
auto-trigger-name: 'daily-trigger-disabled'
<<: *master
+ - zte-pod1:
+ slave-label: '{pod}'
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *colorado
- zte-pod2:
slave-label: '{pod}'
installer: fuel
@@ -131,7 +157,12 @@
installer: fuel
auto-trigger-name: 'daily-trigger-disabled'
<<: *master
- - arm-pod1:
+ - zte-pod3:
+ slave-label: '{pod}'
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *colorado
+ - arm-pod2:
slave-label: '{pod}'
installer: fuel
auto-trigger-name: 'daily-trigger-disabled'
@@ -272,6 +303,20 @@
default: ''
description: 'Arguments to use in order to choose the backend DB'
- parameter:
+ name: 'yardstick-params-armband-baremetal'
+ 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-armband-virtual'
+ parameters:
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: ''
+ description: 'Arguments to use in order to choose the backend DB'
+- parameter:
name: 'yardstick-params-joid-baremetal'
parameters:
- string:
@@ -365,7 +410,7 @@
description: 'Arguments to use in order to choose the backend DB'
- parameter:
- name: 'yardstick-params-arm-pod1'
+ name: 'yardstick-params-arm-pod2'
parameters:
- string:
name: YARDSTICK_DB_BACKEND