summaryrefslogtreecommitdiffstats
path: root/jjb
diff options
context:
space:
mode:
Diffstat (limited to 'jjb')
-rwxr-xr-xjjb/apex/apex-deploy.sh14
-rw-r--r--jjb/apex/apex.yml96
-rw-r--r--jjb/armband/armband-ci-jobs.yml18
-rw-r--r--jjb/bottlenecks/bottlenecks-ci-jobs.yml2
-rw-r--r--jjb/bottlenecks/bottlenecks-cleanup.sh125
-rw-r--r--jjb/bottlenecks/bottlenecks-run-suite.sh2
-rw-r--r--jjb/compass4nfv/compass-project-jobs.yml6
-rw-r--r--jjb/compass4nfv/compass-verify-jobs.yml6
-rw-r--r--jjb/daisy4nfv/daisy-daily-jobs.yml3
-rw-r--r--jjb/daisy4nfv/daisy-project-jobs.yml3
-rw-r--r--jjb/daisy4nfv/daisy4nfv-merge-jobs.yml5
-rw-r--r--jjb/daisy4nfv/daisy4nfv-verify-jobs.yml3
-rw-r--r--jjb/dovetail/dovetail-ci-jobs.yml5
-rwxr-xr-xjjb/dovetail/dovetail-run.sh42
-rw-r--r--jjb/dovetail/dovetail-weekly-jobs.yml1
-rw-r--r--jjb/fuel/fuel-daily-jobs.yml2
-rw-r--r--jjb/global/releng-macros.yml9
-rw-r--r--jjb/joid/joid-daily-jobs.yml2
-rw-r--r--jjb/kvmfornfv/kvmfornfv.yml2
-rw-r--r--jjb/qtip/helpers/cleanup-deploy.sh15
-rw-r--r--jjb/qtip/helpers/validate-deploy.sh23
-rw-r--r--jjb/qtip/qtip-validate-jobs.yml5
-rw-r--r--jjb/releng/testapi-automate.yml3
-rw-r--r--jjb/xci/bifrost-cleanup-job.yml13
-rw-r--r--jjb/xci/bifrost-verify-jobs.yml48
-rwxr-xr-xjjb/xci/bifrost-verify.sh4
-rw-r--r--jjb/xci/xci-daily-jobs.yml104
-rwxr-xr-xjjb/xci/xci-deploy.sh39
-rwxr-xr-xjjb/xci/xci-provision.sh44
-rwxr-xr-xjjb/yardstick/yardstick-cleanup.sh16
30 files changed, 433 insertions, 227 deletions
diff --git a/jjb/apex/apex-deploy.sh b/jjb/apex/apex-deploy.sh
index 564c9cdb8..6343b838b 100755
--- a/jjb/apex/apex-deploy.sh
+++ b/jjb/apex/apex-deploy.sh
@@ -196,14 +196,16 @@ else
NETWORK_SETTINGS_DIR="/root/network"
INVENTORY_FILE="/root/inventory/pod_settings.yaml"
+# (trozet) According to FDS folks uio_pci_generic works with UCS-B
+# and there appears to be a bug with vfio-pci
# if fdio on baremetal, then we are using UCS enic and
# need to use vfio-pci instead of uio generic
- if [[ "$DEPLOY_SCENARIO" == *fdio* ]]; then
- TMP_DEPLOY_FILE="${WORKSPACE}/${DEPLOY_SCENARIO}.yaml"
- cp -f ${DEPLOY_FILE} ${TMP_DEPLOY_FILE}
- sed -i 's/^\(\s*uio-driver:\).*$/\1 vfio-pci/g' ${TMP_DEPLOY_FILE}
- DEPLOY_FILE=${TMP_DEPLOY_FILE}
- fi
+# if [[ "$DEPLOY_SCENARIO" == *fdio* ]]; then
+# TMP_DEPLOY_FILE="${WORKSPACE}/${DEPLOY_SCENARIO}.yaml"
+# cp -f ${DEPLOY_FILE} ${TMP_DEPLOY_FILE}
+# sed -i 's/^\(\s*uio-driver:\).*$/\1 vfio-pci/g' ${TMP_DEPLOY_FILE}
+# DEPLOY_FILE=${TMP_DEPLOY_FILE}
+# fi
if ! sudo test -e "$INVENTORY_FILE"; then
echo "ERROR: Required settings file missing: Inventory settings file ${INVENTORY_FILE}"
diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml
index aaf6c499a..e7982ba55 100644
--- a/jjb/apex/apex.yml
+++ b/jjb/apex/apex.yml
@@ -36,6 +36,7 @@
- 'os-nosdn-nofeature-ha'
- 'os-nosdn-nofeature-ha-ipv6'
- 'os-nosdn-ovs-noha'
+ - 'os-nosdn-ovs-ha'
- 'os-nosdn-fdio-noha'
- 'os-nosdn-fdio-ha'
- 'os-nosdn-kvm-ha'
@@ -44,7 +45,10 @@
- 'os-odl_l2-fdio-ha'
- 'os-odl_l2-netvirt_gbp_fdio-noha'
- 'os-odl_l2-sfc-noha'
+ - 'os-odl_l3-nofeature-noha'
- 'os-odl_l3-nofeature-ha'
+ - 'os-odl_l3-ovs-noha'
+ - 'os-odl_l3-ovs-ha'
- 'os-odl-bgpvpn-ha'
- 'os-odl-gluon-noha'
- 'os-odl_l3-fdio-noha'
@@ -52,8 +56,8 @@
- 'os-odl_l3-fdio_dvr-noha'
- 'os-odl_l3-fdio_dvr-ha'
- 'os-odl_l3-csit-noha'
- - 'os-odl_l3-nofeature-noha'
- 'os-onos-nofeature-ha'
+ - 'os-ovn-nofeature-noha'
- 'gate'
platform:
@@ -862,6 +866,96 @@
build-step-failure-threshold: 'never'
failure-threshold: 'never'
unstable-threshold: 'FAILURE'
+ - trigger-builds:
+ - project: 'apex-deploy-baremetal-os-nosdn-ovs-ha-{stream}'
+ predefined-parameters: |
+ BUILD_DIRECTORY=apex-build-{stream}/.build
+ OPNFV_CLEAN=yes
+ git-revision: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ block: true
+ - trigger-builds:
+ - project: 'functest-apex-{daily-slave}-daily-{stream}'
+ predefined-parameters:
+ DEPLOY_SCENARIO=os-nosdn-ovs-ha
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - trigger-builds:
+ - project: 'yardstick-apex-{slave}-daily-{stream}'
+ predefined-parameters:
+ DEPLOY_SCENARIO=os-nosdn-ovs-ha
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - trigger-builds:
+ - project: 'apex-deploy-baremetal-os-odl_l3-ovs-ha-{stream}'
+ predefined-parameters: |
+ BUILD_DIRECTORY=apex-build-{stream}/.build
+ OPNFV_CLEAN=yes
+ git-revision: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ block: true
+ - trigger-builds:
+ - project: 'functest-apex-{daily-slave}-daily-{stream}'
+ predefined-parameters:
+ DEPLOY_SCENARIO=os-odl_l3-ovs-ha
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - trigger-builds:
+ - project: 'yardstick-apex-{slave}-daily-{stream}'
+ predefined-parameters:
+ DEPLOY_SCENARIO=os-odl_l3-ovs-ha
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - trigger-builds:
+ - project: 'apex-deploy-baremetal-os-ovn-nofeature-noha-{stream}'
+ predefined-parameters: |
+ BUILD_DIRECTORY=apex-build-{stream}/.build
+ OPNFV_CLEAN=yes
+ git-revision: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ block: true
+ - trigger-builds:
+ - project: 'functest-apex-{daily-slave}-daily-{stream}'
+ predefined-parameters:
+ DEPLOY_SCENARIO=os-ovn-nofeature-noha
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - trigger-builds:
+ - project: 'yardstick-apex-{slave}-daily-{stream}'
+ predefined-parameters:
+ DEPLOY_SCENARIO=os-ovn-nofeature-noha
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
# CSIT promote
- job-template:
diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml
index ddcbbd038..38a729de6 100644
--- a/jjb/armband/armband-ci-jobs.yml
+++ b/jjb/armband/armband-ci-jobs.yml
@@ -290,11 +290,11 @@
- trigger:
name: 'fuel-os-odl_l2-sfc-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 0 * * 6'
+ - timed: '0 0,20 * * 6'
- trigger:
name: 'fuel-os-odl_l2-sfc-noha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 0 * * 7'
+ - timed: '0 0,20 * * 7'
#----------------------------------------------------------------------
# Enea Armband CI Baremetal Triggers running against danube branch
@@ -302,31 +302,31 @@
- trigger:
name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-danube-trigger'
triggers:
- - timed: '0 8 * * 1,4'
+ - timed: '0 4 * * 1,2,3,4,5'
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-danube-trigger'
triggers:
- - timed: '0 16 * * 1,4'
+ - timed: '0 8 * * 1,2,3,4,5'
- trigger:
name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-danube-trigger'
triggers:
- - timed: '0 8 * * 2,5'
+ - timed: '0 12 * * 1,2,3,4,5'
- trigger:
name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-danube-trigger'
triggers:
- - timed: '0 16 * * 2,5'
+ - timed: '0 16 * * 1,2,3,4,5'
- trigger:
name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-danube-trigger'
triggers:
- - timed: '0 8 * * 3,6'
+ - timed: '0 20 * * 1,2,3,4,5'
- trigger:
name: 'fuel-os-odl_l2-sfc-ha-armband-baremetal-danube-trigger'
triggers:
- - timed: '0 16 * * 3,6'
+ - timed: '0 4,8 * * 6,7'
- trigger:
name: 'fuel-os-odl_l2-sfc-noha-armband-baremetal-danube-trigger'
triggers:
- - timed: '0 8,16 * * 7'
+ - timed: '0 12,16 * * 6,7'
#---------------------------------------------------------------
# Enea Armband CI Virtual Triggers running against master branch
#---------------------------------------------------------------
diff --git a/jjb/bottlenecks/bottlenecks-ci-jobs.yml b/jjb/bottlenecks/bottlenecks-ci-jobs.yml
index 2779e316b..c56ca19e9 100644
--- a/jjb/bottlenecks/bottlenecks-ci-jobs.yml
+++ b/jjb/bottlenecks/bottlenecks-ci-jobs.yml
@@ -110,7 +110,7 @@
default: 'os-odl_l2-nofeature-ha'
- string:
name: GERRIT_REFSPEC_DEBUG
- default: 'false'
+ default: 'true'
description: "Gerrit refspec for debug."
- string:
name: SUITE_NAME
diff --git a/jjb/bottlenecks/bottlenecks-cleanup.sh b/jjb/bottlenecks/bottlenecks-cleanup.sh
index 0ba042318..04e620c7f 100644
--- a/jjb/bottlenecks/bottlenecks-cleanup.sh
+++ b/jjb/bottlenecks/bottlenecks-cleanup.sh
@@ -1,111 +1,16 @@
#!/bin/bash
-set -e
-[[ $GERRIT_REFSPEC_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
-
-BOTTLENECKS_IMAGE=opnfv/bottlenecks
-echo "Bottlenecks: docker containers/images cleaning up"
-
-dangling_images=($(docker images -f "dangling=true" | grep $BOTTLENECKS_IMAGE | awk '{print $3}'))
-if [[ -n $dangling_images ]]; then
- echo "Removing $BOTTLENECKS_IMAGE:<none> dangling images and their containers"
- docker images | head -1 && docker images | grep $dangling_images
- for image_id in "${dangling_images[@]}"; do
- echo "Bottlenecks: Removing dangling image $image_id"
- docker rmi -f $image_id >${redirect}
- done
-fi
-
-for image_id in "${dangling_images[@]}"; do
- if [[ -n $(docker ps -a | grep $image_id) ]]; then
- echo "Bottlenecks: Removing containers associated with dangling image: $image_id"
- docker ps -a | head -1 && docker ps -a | grep $image_id
- docker ps -a | grep $image_id | awk '{print $1}'| xargs docker rm -f >${redirect}
- fi
-done
-
-if [[ -n $(docker ps -a | grep $BOTTLENECKS_IMAGE) ]]; then
- echo "Removing existing $BOTTLENECKS_IMAGE containers"
- docker ps -a | grep $BOTTLENECKS_IMAGE | awk '{print $1}' | xargs docker rm -f >$redirect
-fi
-
-if [[ -n $(docker images | grep $BOTTLENECKS_IMAGE) ]]; then
- echo "Bottlenecks: docker images to remove:"
- docker images | head -1 && docker images | grep $BOTTLENECKS_IMAGE
- image_tags=($(docker images | grep $BOTTLENECKS_IMAGE | awk '{print $2}'))
- for tag in "${image_tags[@]}"; do
- echo "Removing docker image $BOTTLENECKS_IMAGE:$tag..."
- docker rmi $BOTTLENECKS_IMAGE:$tag >$redirect
- done
-fi
-
-echo "Yardstick: docker containers/images cleaning up"
-YARDSTICK_IMAGE=opnfv/yardstick
-
-dangling_images=($(docker images -f "dangling=true" | grep $YARDSTICK_IMAGE | awk '{print $3}'))
-if [[ -n $dangling_images ]]; then
- echo "Removing $YARDSTICK_IMAGE:<none> dangling images and their containers"
- docker images | head -1 && docker images | grep $dangling_images
- for image_id in "${dangling_images[@]}"; do
- echo "Yardstick: Removing dangling image $image_id"
- docker rmi -f $image_id >${redirect}
- done
-fi
-
-for image_id in "${dangling_images[@]}"; do
- if [[ -n $(docker ps -a | grep $image_id) ]]; then
- echo "Yardstick: Removing containers associated with dangling image: $image_id"
- docker ps -a | head -1 && docker ps -a | grep $image_id
- docker ps -a | grep $image_id | awk '{print $1}'| xargs docker rm -f >${redirect}
- fi
-done
-
-if [[ -n $(docker ps -a | grep $YARDSTICK_IMAGE) ]]; then
- echo "Removing existing $YARDSTICK_IMAGE containers"
- docker ps -a | grep $YARDSTICK_IMAGE | awk '{print $1}' | xargs docker rm -f >$redirect
-fi
-
-if [[ -n $(docker images | grep $YARDSTICK_IMAGE) ]]; then
- echo "Yardstick: docker images to remove:"
- docker images | head -1 && docker images | grep $YARDSTICK_IMAGE
- image_tags=($(docker images | grep $YARDSTICK_IMAGE | awk '{print $2}'))
- for tag in "${image_tags[@]}"; do
- echo "Removing docker image $YARDSTICK_IMAGE:$tag..."
- docker rmi $YARDSTICK_IMAGE:$tag >$redirect
- done
-fi
-
-echo "InfluxDB: docker containers/images cleaning up"
-INFLUXDB_IMAGE=tutum/influxdb
-
-dangling_images=($(docker images -f "dangling=true" | grep $INFLUXDB_IMAGE | awk '{print $3}'))
-if [[ -n $dangling_images ]]; then
- echo "Removing $INFLUXDB_IMAGE:<none> dangling images and their containers"
- docker images | head -1 && docker images | grep $dangling_images
- for image_id in "${dangling_images[@]}"; do
- echo "InfluxDB: Removing dangling image $image_id"
- docker rmi -f $image_id >${redirect}
- done
-fi
-
-for image_id in "${dangling_images[@]}"; do
- if [[ -n $(docker ps -a | grep $image_id) ]]; then
- echo "InfluxDB: Removing containers associated with dangling image: $image_id"
- docker ps -a | head -1 && docker ps -a | grep $image_id
- docker ps -a | grep $image_id | awk '{print $1}'| xargs docker rm -f >${redirect}
- fi
-done
-
-if [[ -n $(docker ps -a | grep $INFLUXDB_IMAGE) ]]; then
- echo "Removing existing $INFLUXDB_IMAGE containers"
- docker ps -a | grep $INFLUXDB_IMAGE | awk '{print $1}' | xargs docker rm -f >$redirect
-fi
-
-if [[ -n $(docker images | grep $INFLUXDB_IMAGE) ]]; then
- echo "InfluxDB: docker images to remove:"
- docker images | head -1 && docker images | grep $INFLUXDB_IMAGE
- image_tags=($(docker images | grep $INFLUXDB_IMAGE | awk '{print $2}'))
- for tag in "${image_tags[@]}"; do
- echo "Removing docker image $INFLUXDB_IMAGE:$tag..."
- docker rmi $INFLUXDB_IMAGE:$tag >$redirect
- done
-fi \ No newline at end of file
+##############################################################################
+# Copyright (c) 2016 Huawei Technologies Co.,Ltd 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
+##############################################################################
+
+#clean up correlated dockers and their images
+bash $WORKSPACE/docker/docker_cleanup.sh -d bottlenecks --debug
+bash $WORKSPACE/docker/docker_cleanup.sh -d yardstick --debug
+bash $WORKSPACE/docker/docker_cleanup.sh -d kibana --debug
+bash $WORKSPACE/docker/docker_cleanup.sh -d elasticsearch --debug
+bash $WORKSPACE/docker/docker_cleanup.sh -d influxdb --debug
diff --git a/jjb/bottlenecks/bottlenecks-run-suite.sh b/jjb/bottlenecks/bottlenecks-run-suite.sh
index f69463fc2..0df659af2 100644
--- a/jjb/bottlenecks/bottlenecks-run-suite.sh
+++ b/jjb/bottlenecks/bottlenecks-run-suite.sh
@@ -55,7 +55,7 @@ else
sleep 5
docker exec bottleneckcompose_bottlenecks_1 python ${POSCA_SCRIPT}/run_posca.py testcase $TEST_CASE
elif [[ $SUITE_NAME == posca_stress_ping ]]; then
- TEST_CASE=posca_stress_ping
+ TEST_CASE=posca_factor_ping
sleep 5
docker exec bottleneckcompose_bottlenecks_1 python ${POSCA_SCRIPT}/run_posca.py testcase $TEST_CASE
fi
diff --git a/jjb/compass4nfv/compass-project-jobs.yml b/jjb/compass4nfv/compass-project-jobs.yml
index 9b13e693a..f962518e0 100644
--- a/jjb/compass4nfv/compass-project-jobs.yml
+++ b/jjb/compass4nfv/compass-project-jobs.yml
@@ -12,10 +12,12 @@
- master:
branch: '{stream}'
gs-pathname: ''
+ ppa-pathname: '/{stream}'
disabled: false
- danube:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
+ ppa-pathname: '/{stream}'
disabled: false
jobs:
@@ -47,6 +49,7 @@
- compass-project-parameter:
installer: '{installer}'
gs-pathname: '{gs-pathname}'
+ ppa-pathname: '{ppa-pathname}'
- 'opnfv-build-ubuntu-defaults'
- '{installer}-defaults'
@@ -90,6 +93,7 @@
- compass-project-parameter:
installer: '{installer}'
gs-pathname: '{gs-pathname}'
+ ppa-pathname: '{ppa-pathname}'
- '{node}-defaults'
- '{installer}-defaults'
scm:
@@ -121,7 +125,7 @@
description: "URL to Google Storage."
- string:
name: PPA_REPO
- default: "http://205.177.226.237:9999{gs-pathname}"
+ default: "http://205.177.226.237:9999{ppa-pathname}"
- string:
name: PPA_CACHE
default: "$WORKSPACE/work/repo/"
diff --git a/jjb/compass4nfv/compass-verify-jobs.yml b/jjb/compass4nfv/compass-verify-jobs.yml
index e625c686a..14279e649 100644
--- a/jjb/compass4nfv/compass-verify-jobs.yml
+++ b/jjb/compass4nfv/compass-verify-jobs.yml
@@ -11,10 +11,12 @@
- master:
branch: '{stream}'
gs-pathname: ''
+ ppa-pathname: '/{stream}'
disabled: false
- danube:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
+ ppa-pathname: '/{stream}'
disabled: false
distro:
@@ -111,6 +113,7 @@
- 'compass-verify-defaults':
installer: '{installer}'
gs-pathname: '{gs-pathname}'
+ ppa-pathname: '{ppa-pathname}'
- string:
name: DEPLOY_SCENARIO
default: 'os-nosdn-nofeature-ha'
@@ -229,6 +232,7 @@
- 'compass-verify-defaults':
installer: '{installer}'
gs-pathname: '{gs-pathname}'
+ ppa-pathname: '{ppa-pathname}'
- string:
name: DEPLOY_SCENARIO
default: 'k8-nosdn-nofeature-ha'
@@ -335,7 +339,7 @@
description: "URL to Google Storage."
- string:
name: PPA_REPO
- default: "http://205.177.226.237:9999{gs-pathname}"
+ default: "http://205.177.226.237:9999{ppa-pathname}"
- string:
name: PPA_CACHE
default: "$WORKSPACE/work/repo/"
diff --git a/jjb/daisy4nfv/daisy-daily-jobs.yml b/jjb/daisy4nfv/daisy-daily-jobs.yml
index ffae70f8f..c5d8e7e8b 100644
--- a/jjb/daisy4nfv/daisy-daily-jobs.yml
+++ b/jjb/daisy4nfv/daisy-daily-jobs.yml
@@ -70,7 +70,8 @@
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - 'daisy.*-deploy-({pod})?-daily-.*'
+ - 'daisy-daily-.*'
+ - 'daisy4nfv-(merge|verify)-.*'
block-level: 'NODE'
wrappers:
diff --git a/jjb/daisy4nfv/daisy-project-jobs.yml b/jjb/daisy4nfv/daisy-project-jobs.yml
index 9a57e1753..52769ca88 100644
--- a/jjb/daisy4nfv/daisy-project-jobs.yml
+++ b/jjb/daisy4nfv/daisy-project-jobs.yml
@@ -141,7 +141,8 @@
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - '{installer}-.*deploy-.*'
+ - '{installer}-daily-.*'
+ - 'daisy4nfv-(merge|verify)-.*'
block-level: 'NODE'
scm:
diff --git a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml
index 11531f4a4..95e72e550 100644
--- a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml
+++ b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml
@@ -21,7 +21,7 @@
- danube:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
- disabled: false
+ disabled: true
#####################################
# patch merge phases
#####################################
@@ -148,7 +148,8 @@
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - '{alias}-merge-deploy-.*'
+ - '{alias}-(merge|verify)-.*'
+ - '{project}-daily-.*'
block-level: 'NODE'
scm:
diff --git a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml
index ee78ab59f..9f44d99fb 100644
--- a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml
+++ b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml
@@ -138,7 +138,8 @@
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - '{alias}-verify-deploy-.*'
+ - '{alias}-(merge|verify)-.*'
+ - '{installer}-daily-.*'
block-level: 'NODE'
scm:
diff --git a/jjb/dovetail/dovetail-ci-jobs.yml b/jjb/dovetail/dovetail-ci-jobs.yml
index 0bd32a4ab..5651fc3f2 100644
--- a/jjb/dovetail/dovetail-ci-jobs.yml
+++ b/jjb/dovetail/dovetail-ci-jobs.yml
@@ -169,6 +169,7 @@
- timeout:
timeout: 180
abort: true
+ - fix-workspace-permissions
triggers:
- '{auto-trigger-name}'
@@ -214,9 +215,9 @@
allow-empty: true
fingerprint: true
-########################
+#--------------------------
# builder macros
-########################
+#--------------------------
- builder:
name: dovetail-run
builders:
diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh
index 0a2f156cc..5161a3c7c 100755
--- a/jjb/dovetail/dovetail-run.sh
+++ b/jjb/dovetail/dovetail-run.sh
@@ -6,9 +6,9 @@
set -e
[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
-# labconfig is used only for joid
-labconfig=""
sshkey=""
+# The path of openrc.sh is defined in fetch_os_creds.sh
+OPENRC=$WORKSPACE/opnfv-openrc.sh
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]+")
@@ -22,7 +22,7 @@ if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
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/functest/conf/openstack.creds"
+ sudo cp $LAB_CONFIG/admin-openrc $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
@@ -32,21 +32,32 @@ if ! sudo iptables -C FORWARD -j RETURN 2> ${redirect} || ! sudo iptables -L FOR
sudo iptables -I FORWARD -j RETURN
fi
+if [[ ${INSTALLER_TYPE} != 'joid' ]]; then
+ releng_repo=${WORKSPACE}/releng
+ [ -d ${releng_repo} ] && sudo rm -rf ${releng_repo}
+ git clone https://gerrit.opnfv.org/gerrit/releng ${releng_repo} >/dev/null
+ ${releng_repo}/utils/fetch_os_creds.sh -d ${OPENRC} -i ${INSTALLER_TYPE} -a ${INSTALLER_IP} >${redirect}
+fi
+
+if [[ -f $OPENRC ]]; then
+ echo "INFO: openstack credentials path is $OPENRC"
+ cat $OPENRC
+else
+ echo "ERROR: file $OPENRC does not exist."
+ exit 1
+fi
+
opts="--privileged=true -id"
-envs="-e CI_DEBUG=${CI_DEBUG} \
- -e INSTALLER_TYPE=${INSTALLER_TYPE} \
- -e INSTALLER_IP=${INSTALLER_IP} \
- -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} \
- -e DEPLOY_TYPE=${DEPLOY_TYPE}"
results_envs="-v /var/run/docker.sock:/var/run/docker.sock \
-v /home/opnfv/dovetail/results:/home/opnfv/dovetail/results"
+openrc_volume="-v ${OPENRC}:${OPENRC}"
# Pull the image with correct tag
echo "Dovetail: Pulling image opnfv/dovetail:${DOCKER_TAG}"
docker pull opnfv/dovetail:$DOCKER_TAG >$redirect
-cmd="sudo docker run ${opts} ${envs} ${results_envs} ${labconfig} ${sshkey} \
- opnfv/dovetail:${DOCKER_TAG} /bin/bash"
+cmd="docker run ${opts} ${results_envs} ${openrc_volume} \
+ ${sshkey} opnfv/dovetail:${DOCKER_TAG} /bin/bash"
echo "Dovetail: running docker run command: ${cmd}"
${cmd} >${redirect}
sleep 5
@@ -67,15 +78,18 @@ if [ $(docker ps | grep "opnfv/dovetail:${DOCKER_TAG}" | wc -l) == 0 ]; then
fi
list_cmd="dovetail list ${TESTSUITE}"
-run_cmd="dovetail run --testsuite ${TESTSUITE} -d true"
+run_cmd="dovetail run --openrc ${OPENRC} --testsuite ${TESTSUITE} -d"
echo "Container exec command: ${list_cmd}"
docker exec $container_id ${list_cmd}
echo "Container exec command: ${run_cmd}"
docker exec $container_id ${run_cmd}
sudo cp -r ${DOVETAIL_REPO_DIR}/results ./
-#To make sure the file owner is jenkins, for the copied results files in the above line
-#if not, there will be error when next time to wipe workspace
-sudo chown -R jenkins:jenkins ${WORKSPACE}/results
+# To make sure the file owner is the current user, for the copied results files in the above line
+# if not, there will be error when next time to wipe workspace
+# CURRENT_USER=${SUDO_USER:-$USER}
+# PRIMARY_GROUP=$(id -gn $CURRENT_USER)
+# sudo chown -R ${CURRENT_USER}:${PRIMARY_GROUP} ${WORKSPACE}/results
echo "Dovetail: done!"
+
diff --git a/jjb/dovetail/dovetail-weekly-jobs.yml b/jjb/dovetail/dovetail-weekly-jobs.yml
index 8edce4246..eaa11b54a 100644
--- a/jjb/dovetail/dovetail-weekly-jobs.yml
+++ b/jjb/dovetail/dovetail-weekly-jobs.yml
@@ -78,6 +78,7 @@
- timeout:
timeout: '{job-timeout}'
abort: true
+ - fix-workspace-permissions
parameters:
- project-parameter:
diff --git a/jjb/fuel/fuel-daily-jobs.yml b/jjb/fuel/fuel-daily-jobs.yml
index 12456ddbb..32abad624 100644
--- a/jjb/fuel/fuel-daily-jobs.yml
+++ b/jjb/fuel/fuel-daily-jobs.yml
@@ -747,7 +747,7 @@
- trigger:
name: 'fuel-os-odl_l2-nofeature-ha-zte-pod2-daily-master-trigger'
triggers:
- - timed: '0 18 * * *'
+ - timed: ''
- trigger:
name: 'fuel-os-odl_l3-nofeature-ha-zte-pod2-daily-master-trigger'
triggers:
diff --git a/jjb/global/releng-macros.yml b/jjb/global/releng-macros.yml
index 63613f88d..ced335cb9 100644
--- a/jjb/global/releng-macros.yml
+++ b/jjb/global/releng-macros.yml
@@ -75,7 +75,6 @@
submodule:
recursive: true
timeout: 20
- shallow-clone: true
- trigger:
name: 'daily-trigger-disabled'
triggers:
@@ -165,6 +164,14 @@
users:
- 'd42411ac011ad6f3dd2e1fa34eaa5d87f910eb2e'
+- wrapper:
+ name: fix-workspace-permissions
+ wrappers:
+ - pre-scm-buildstep:
+ - shell: |
+ #!/bin/bash
+ sudo chown -R $USER $WORKSPACE || exit 1
+
- builder:
name: build-html-and-pdf-docs-output
builders:
diff --git a/jjb/joid/joid-daily-jobs.yml b/jjb/joid/joid-daily-jobs.yml
index ec6c868c9..7dc718950 100644
--- a/jjb/joid/joid-daily-jobs.yml
+++ b/jjb/joid/joid-daily-jobs.yml
@@ -78,7 +78,7 @@
- 'k8-nosdn-nofeature-noha':
auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- 'k8-nosdn-lb-noha':
- auto-trigger-name: 'daily-trigger-disabled'
+ auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
jobs:
- 'joid-{scenario}-{pod}-daily-{stream}'
diff --git a/jjb/kvmfornfv/kvmfornfv.yml b/jjb/kvmfornfv/kvmfornfv.yml
index 78ec32b85..8d607f985 100644
--- a/jjb/kvmfornfv/kvmfornfv.yml
+++ b/jjb/kvmfornfv/kvmfornfv.yml
@@ -82,7 +82,7 @@
disable-strict-forbidden-file-verification: 'true'
forbidden-file-paths:
- compare-type: ANT
- pattern: 'docs/**|.gitignore'
+ pattern: 'docs/**'
builders:
- description-setter:
diff --git a/jjb/qtip/helpers/cleanup-deploy.sh b/jjb/qtip/helpers/cleanup-deploy.sh
index 95babb318..9cb19a583 100644
--- a/jjb/qtip/helpers/cleanup-deploy.sh
+++ b/jjb/qtip/helpers/cleanup-deploy.sh
@@ -7,20 +7,15 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
# Remove previous running containers if exist
-if [[ ! -z $(docker ps -a | grep opnfv/qtip) ]]; then
+if [[ ! -z $(docker ps -a | grep "opnfv/qtip:$DOCKER_TAG") ]]; then
echo "Removing existing opnfv/qtip containers..."
# workaround: sometimes it throws an error when stopping qtip container.
# To make sure ci job unblocked, remove qtip container by force without stopping it.
- docker rm -f $(docker ps -a | grep opnfv/qtip | awk '{print $1}')
+ docker rm -f $(docker ps -a | grep "opnfv/qtip:$DOCKER_TAG" | awk '{print $1}')
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
+if [[ $(docker images opnfv/qtip:${DOCKER_TAG} | wc -l) -gt 1 ]]; then
+ echo "Removing docker image opnfv/qtip:$DOCKER_TAG..."
+ docker rmi opnfv/qtip:$DOCKER_TAG
fi
diff --git a/jjb/qtip/helpers/validate-deploy.sh b/jjb/qtip/helpers/validate-deploy.sh
index a73e33c2c..9f3dbe414 100644
--- a/jjb/qtip/helpers/validate-deploy.sh
+++ b/jjb/qtip/helpers/validate-deploy.sh
@@ -10,7 +10,10 @@ set -e
envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP}
-e NODE_NAME=${NODE_NAME} -e CI_DEBUG=${CI_DEBUG}"
+ramfs=/tmp/qtip/ramfs
+cfg_dir=$(dirname $ramfs)
dir_imgstore="${HOME}/imgstore"
+ramfs_volume="$ramfs:/mnt/ramfs"
echo "--------------------------------------------------------"
echo "POD: $NODE_NAME"
@@ -21,7 +24,24 @@ echo "--------------------------------------------------------"
echo "Qtip: Pulling docker image: opnfv/qtip:${DOCKER_TAG}"
docker pull opnfv/qtip:$DOCKER_TAG
-cmd=" docker run -id -e $envs opnfv/qtip:${DOCKER_TAG} /bin/bash"
+# use ramfs to fix docker socket connection issue with overlay mode in centos
+if [ ! -d $ramfs ]; then
+ mkdir -p $ramfs
+fi
+
+if [ ! -z "$(df $ramfs | tail -n -1 | grep $ramfs)" ]; then
+ sudo mount -t tmpfs -o size=32M tmpfs $ramfs
+fi
+
+# enable contro path in docker
+cat <<EOF > ${cfg_dir}/ansible.cfg
+[defaults]
+callback_whitelist = profile_tasks
+[ssh_connection]
+control_path=/mnt/ramfs/ansible-ssh-%%h-%%p-%%r
+EOF
+
+cmd=" docker run -id -e $envs -v ${ramfs_volume} opnfv/qtip:${DOCKER_TAG} /bin/bash"
echo "Qtip: Running docker command: ${cmd}"
${cmd}
@@ -32,6 +52,7 @@ if [ $(docker ps | grep 'opnfv/qtip' | wc -l) == 0 ]; then
else
echo "The container ID is: ${container_id}"
QTIP_REPO=/home/opnfv/repos/qtip
+ docker cp ${cfg_dir}/ansible.cfg ${container_id}:/home/opnfv/.ansible.cfg
# TODO(zhihui_wu): use qtip cli to execute benchmark test in the future
docker exec -t ${container_id} bash -c "cd ${QTIP_REPO}/qtip/runner/ &&
python runner.py -d /home/opnfv/qtip/results/ -b all"
diff --git a/jjb/qtip/qtip-validate-jobs.yml b/jjb/qtip/qtip-validate-jobs.yml
index e1b71f516..8dd97de1d 100644
--- a/jjb/qtip/qtip-validate-jobs.yml
+++ b/jjb/qtip/qtip-validate-jobs.yml
@@ -95,9 +95,10 @@
name: qtip-validate-deploy
builders:
- shell:
- !include-raw: ./helpers/validate-deploy.sh
- - shell:
!include-raw: ./helpers/cleanup-deploy.sh
+ - shell:
+ !include-raw: ./helpers/validate-deploy.sh
+
#-----------
# parameter
diff --git a/jjb/releng/testapi-automate.yml b/jjb/releng/testapi-automate.yml
index dd76538a3..8f3ae0c23 100644
--- a/jjb/releng/testapi-automate.yml
+++ b/jjb/releng/testapi-automate.yml
@@ -258,7 +258,8 @@
name: 'testapi-automate-docker-deploy-macro'
builders:
- shell: |
- bash ./jjb/releng/testapi-docker-deploy.sh
+ echo 'disable TestAPI update temporarily due to frequent change'
+# bash ./jjb/releng/testapi-docker-deploy.sh
################################
# job publishers
diff --git a/jjb/xci/bifrost-cleanup-job.yml b/jjb/xci/bifrost-cleanup-job.yml
index 4e9e2a8d4..d4b2157da 100644
--- a/jjb/xci/bifrost-cleanup-job.yml
+++ b/jjb/xci/bifrost-cleanup-job.yml
@@ -65,9 +65,16 @@
echo "gsutil will not be executed until this is fixed!"
exit 1
fi
- # No force (-f). We always verify upstream jobs so if there are no logs
- # something else went wrong and we need to break immediately and investigate
- gsutil -m rm -r $BIFROST_GS_URL
+ try_to_rm=1
+ while [[ $try_to_rm -lt 6 ]]; do
+ gsutil -m rm -r $BIFROST_GS_URL && _exitcode=$? && break
+ _exitcode=$?
+ echo "gsutil rm failed! Trying again... (attempt #$i)"
+ let try_to_rm += 1
+ # Give it some time...
+ sleep 10
+ done
+ exit $_exitcode
triggers:
- '{project}-gerrit-trigger-cleanup':
diff --git a/jjb/xci/bifrost-verify-jobs.yml b/jjb/xci/bifrost-verify-jobs.yml
index 6aea1c4aa..b93456ee2 100644
--- a/jjb/xci/bifrost-verify-jobs.yml
+++ b/jjb/xci/bifrost-verify-jobs.yml
@@ -53,11 +53,14 @@
# VM defaults
#--------------------------------
- defaults:
- name: vm_defaults
+ name: verify_vm_defaults
+ test-vm-num-nodes: '3'
+ test-vm-node-names: 'xcimaster controller00 compute00'
+ vm-domain-type: 'kvm'
+ vm-cpu: '2'
vm-disk: '30'
+ vm-memory-size: '4096'
vm-disk-cache: 'unsafe'
- vm-memory: '4096'
- vm-cpu: '2'
#--------------------------------
# job templates
@@ -67,7 +70,7 @@
disabled: '{obj:disabled}'
- defaults: vm_defaults
+ defaults: verify_vm_defaults
concurrent: false
@@ -105,18 +108,27 @@
name: DIB_OS_PACKAGES
default: '{dib-os-packages}'
- string:
- name: VM_DISK
- default: '{vm-disk}'
+ name: TEST_VM_NUM_NODES
+ default: '{test-vm-num-nodes}'
- string:
- name: VM_DISK_CACHE
- default: '{vm-disk-cache}'
+ name: TEST_VM_NODE_NAMES
+ default: '{test-vm-node-names}'
- string:
- name: VM_MEMORY
- default: '{vm-memory}'
+ name: VM_DOMAIN_TYPE
+ default: '{vm-domain-type}'
- string:
name: VM_CPU
default: '{vm-cpu}'
- string:
+ name: VM_DISK
+ default: '{vm-disk}'
+ - string:
+ name: VM_MEMORY_SIZE
+ default: '{vm-memory-size}'
+ - string:
+ name: VM_DISK_CACHE
+ default: '{vm-disk-cache}'
+ - string:
name: CLEAN_DIB_IMAGES
default: 'true'
- label:
@@ -125,6 +137,9 @@
- string:
name: BIFROST_LOG_URL
default: 'http://artifacts.opnfv.org/cross-community-ci/openstack/bifrost/$GERRIT_NAME/$GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER/$JOB_NAME'
+ - string:
+ name: ANSIBLE_VERBOSITY
+ default: '-vvvv'
scm:
- git:
@@ -146,7 +161,7 @@
- bifrost-build
wrappers:
- - bifrost-fix-perms-workspace
+ - fix-workspace-permissions
publishers:
- email:
@@ -211,17 +226,6 @@
readable-message: true
#---------------------------
-# wrapper macros
-#---------------------------
-- wrapper:
- name: bifrost-fix-perms-workspace
- wrappers:
- - pre-scm-buildstep:
- - shell: |
- #!/bin/bash
- sudo chown -R $USER $WORKSPACE || exit 1
-
-#---------------------------
# builder macros
#---------------------------
- builder:
diff --git a/jjb/xci/bifrost-verify.sh b/jjb/xci/bifrost-verify.sh
index 762466825..f596d7527 100755
--- a/jjb/xci/bifrost-verify.sh
+++ b/jjb/xci/bifrost-verify.sh
@@ -95,7 +95,7 @@ if [[ ! "$DISTRO" =~ (trusty|centos7|suse) ]]; then
fi
# remove previously cloned repos
-sudo /bin/rm -rf /opt/bifrost /opt/stack /opt/releng
+sudo /bin/rm -rf /opt/bifrost /opt/releng
# Fix up permissions
fix_ownership
@@ -117,7 +117,7 @@ sudo -E ./scripts/destroy-env.sh
# provision 3 VMs; xcimaster, controller, and compute
cd /opt/bifrost
-sudo -E ./scripts/test-bifrost-deployment.sh
+sudo -E ./scripts/bifrost-provision.sh
# list the provisioned VMs
cd /opt/bifrost
diff --git a/jjb/xci/xci-daily-jobs.yml b/jjb/xci/xci-daily-jobs.yml
index ce2e4f382..dbe3b654b 100644
--- a/jjb/xci/xci-daily-jobs.yml
+++ b/jjb/xci/xci-daily-jobs.yml
@@ -3,15 +3,22 @@
#--------------------------------
# BRANCH ANCHORS
#--------------------------------
+# the versions stated here default to branches which then later
+# on used for checking out the branches, pulling in head of the branch.
+# but they also allow us to state sha1 so instead of checking out the
+# branches, we can check out sha1 if we want to use locked/specific
+# sha1 or manually enter sha1.
master: &master
stream: master
- openstack-branch: '{stream}'
- opnfv-branch: 'master'
+ openstack-osa-version: '{stream}'
+ openstack-bifrost-version: '{stream}'
+ opnfv-releng-version: 'master'
gs-pathname: ''
ocata: &ocata
stream: ocata
- openstack-branch: 'stable/{stream}'
- opnfv-branch: 'master'
+ openstack-osa-version: 'stable/{stream}'
+ openstack-bifrost-version: 'stable/{stream}'
+ opnfv-releng-version: 'master'
gs-pathname: '/{stream}'
#--------------------------------
# scenarios
@@ -53,6 +60,7 @@
dib-os-element: 'opensuse-minimal'
dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
extra-dib-elements: 'openssh-server'
+
#--------------------------------
# Phases
#--------------------------------
@@ -68,6 +76,19 @@
- 'xci-{phase}-{pod}-{distro}-daily-{stream}'
#--------------------------------
+# VM defaults
+#--------------------------------
+- defaults:
+ name: daily_vm_defaults
+ test-vm-num-nodes: '6'
+ test-vm-node-names: 'xcimaster controller00 controller01 controller02 compute00 compute01'
+ vm-domain-type: 'kvm'
+ vm-cpu: '8'
+ vm-disk: '100'
+ vm-memory-size: '16384'
+ vm-disk-cache: 'unsafe'
+
+#--------------------------------
# job templates
#--------------------------------
- job-template:
@@ -87,6 +108,18 @@
parameters:
- string:
+ name: OPENSTACK_OSA_VERSION
+ default: '{openstack-osa-version}'
+ - string:
+ name: OPENSTACK_BIFROST_VERSION
+ default: '{openstack-osa-version}'
+ - string:
+ name: OPNFV_RELENG_VERSION
+ default: '{opnfv-releng-version}'
+ - string:
+ name: USE_PROMOTED_VERSIONS
+ default: 'true'
+ - string:
name: DEPLOY_SCENARIO
default: '{scenario}'
- label:
@@ -105,22 +138,34 @@
- trigger-builds:
- project: 'xci-provision-{pod}-{distro}-daily-{stream}'
current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
+ predefined-parameters: |
+ OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION
+ OPENSTACK_BIFROST_VERSION=$OPENSTACK_BIFROST_VERSION
+ OPNFV_RELENG_VERSION=$OPNFV_RELENG_VERSION
+ USE_PROMOTED_VERSIONS=$USE_PROMOTED_VERSIONS
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
same-node: true
block: true
- trigger-builds:
- project: 'xci-deploy-{pod}-{distro}-daily-{stream}'
current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
+ predefined-parameters: |
+ OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION
+ OPENSTACK_BIFROST_VERSION=$OPENSTACK_BIFROST_VERSION
+ OPNFV_RELENG_VERSION=$OPNFV_RELENG_VERSION
+ USE_PROMOTED_VERSIONS=$USE_PROMOTED_VERSIONS
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
same-node: true
block: true
- trigger-builds:
- project: 'xci-functest-{pod}-{distro}-daily-{stream}'
current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
+ predefined-parameters: |
+ OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION
+ OPENSTACK_BIFROST_VERSION=$OPENSTACK_BIFROST_VERSION
+ OPNFV_RELENG_VERSION=$OPNFV_RELENG_VERSION
+ USE_PROMOTED_VERSIONS=$USE_PROMOTED_VERSIONS
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
same-node: true
block: true
block-thresholds:
@@ -137,6 +182,8 @@
disabled: '{obj:disabled}'
+ defaults: daily_vm_defaults
+
concurrent: false
properties:
@@ -151,11 +198,14 @@
parameters:
- string:
- name: OPENSTACK_BRANCH
- default: '{openstack-branch}'
+ name: OPENSTACK_OSA_VERSION
+ default: '{openstack-osa-version}'
+ - string:
+ name: OPENSTACK_BIFROST_VERSION
+ default: '{openstack-osa-version}'
- string:
- name: OPNFV_BRANCH
- default: '{opnfv-branch}'
+ name: OPNFV_RELENG_VERSION
+ default: '{opnfv-releng-version}'
- string:
name: USE_PROMOTED_VERSIONS
default: 'true'
@@ -178,11 +228,35 @@
name: DIB_OS_PACKAGES
default: '{dib-os-packages}'
- string:
+ name: TEST_VM_NUM_NODES
+ default: '{test-vm-num-nodes}'
+ - string:
+ name: TEST_VM_NODE_NAMES
+ default: '{test-vm-node-names}'
+ - string:
+ name: VM_DOMAIN_TYPE
+ default: '{vm-domain-type}'
+ - string:
+ name: VM_CPU
+ default: '{vm-cpu}'
+ - string:
+ name: VM_DISK
+ default: '{vm-disk}'
+ - string:
+ name: VM_MEMORY_SIZE
+ default: '{vm-memory-size}'
+ - string:
+ name: VM_DISK_CACHE
+ default: '{vm-disk-cache}'
+ - string:
name: CLEAN_DIB_IMAGES
default: 'true'
- label:
name: SLAVE_LABEL
default: '{slave-label}'
+ - string:
+ name: ANSIBLE_VERBOSITY
+ default: ''
wrappers:
- xci-fix-perms-workspace
@@ -201,7 +275,7 @@
- pre-scm-buildstep:
- shell: |
#!/bin/bash
- sudo -R chown $USER $WORKSPACE || exit 1
+ sudo chown -R $USER $WORKSPACE || exit 1
#---------------------------
# builder macros
diff --git a/jjb/xci/xci-deploy.sh b/jjb/xci/xci-deploy.sh
index dae67cf84..87f9ec8db 100755
--- a/jjb/xci/xci-deploy.sh
+++ b/jjb/xci/xci-deploy.sh
@@ -46,18 +46,32 @@ fix_ownership
# openstack-ansible enables strict host key checking by default
export ANSIBLE_HOST_KEY_CHECKING=False
+# ensure the versions to checkout are set
+export OPENSTACK_OSA_VERSION=${OPENSTACK_OSA_VERSION:-master}
+export OPNFV_RELENG_VERSION=${OPNFV_RELENG_VERSION:-master}
+
+# log some info
+echo -e "\n"
+echo "***********************************************************************"
+echo "* *"
+echo "* Deploy OpenStack *"
+echo "* *"
+echo " openstack-ansible version: $OPENSTACK_OSA_VERSION"
+echo " releng version: $OPNFV_RELENG_VERSION"
+echo "* *"
+echo "***********************************************************************"
+echo -e "\n"
+# clone releng repo
+sudo git clone --quiet https://gerrit.opnfv.org/gerrit/releng /opt/releng
+cd /opt/releng && sudo git checkout --quiet $OPNFV_RELENG_VERSION
+echo "xci: using openstack-ansible commit"
+git show --oneline -s --pretty=format:'%h - %s (%cr) <%an>'
+
# display the nodes
+echo "xci: OpenStack nodes"
cd /opt/bifrost
source env-vars
ironic node-list
-virsh list
-
-# ensure the branches to use are set
-export OPNFV_BRANCH=${OPNFV_BRANCH:-master}
-export OPENSTACK_BRANCH=${OPENSTACK_BRANCH:-master}
-
-# clone releng repo
-sudo git clone -b $OPNFV_BRANCH https://gerrit.opnfv.org/gerrit/releng /opt/releng
# this script will be reused for promoting openstack-ansible versions and using
# promoted openstack-ansible versions as part of xci daily.
@@ -68,3 +82,12 @@ fi
cd /opt/releng/prototypes/openstack-ansible/scripts
sudo -E ./osa-deploy.sh
+
+# log some info
+echo -e "\n"
+echo "***********************************************************************"
+echo "* *"
+echo "* OpenStack deployment is completed! *"
+echo "* *"
+echo "***********************************************************************"
+echo -e "\n"
diff --git a/jjb/xci/xci-provision.sh b/jjb/xci/xci-provision.sh
index e474093b8..47a96767f 100755
--- a/jjb/xci/xci-provision.sh
+++ b/jjb/xci/xci-provision.sh
@@ -38,16 +38,37 @@ if [[ ! "$DISTRO" =~ (xenial|centos7|suse) ]]; then
fi
# remove previously cloned repos
-sudo /bin/rm -rf /opt/bifrost /opt/openstack-ansible /opt/stack /opt/releng /opt/functest
+sudo /bin/rm -rf /opt/bifrost /opt/openstack-ansible /opt/releng /opt/functest
# Fix up permissions
fix_ownership
-# ensure the branches to use are set
-export OPENSTACK_BRANCH=${OPENSTACK_BRANCH:-master}
-export OPNFV_BRANCH=${OPNFV_BRANCH:-master}
-sudo git clone -b $OPENSTACK_BRANCH https://git.openstack.org/openstack/bifrost /opt/bifrost
-sudo git clone -b $OPNFV_BRANCH https://gerrit.opnfv.org/gerrit/releng /opt/releng
+# ensure the versions to checkout are set
+export OPENSTACK_BIFROST_VERSION=${OPENSTACK_BIFROST_VERSION:-master}
+export OPNFV_RELENG_VERSION=${OPNFV_RELENG_VERSION:-master}
+
+# log some info
+echo -e "\n"
+echo "***********************************************************************"
+echo "* *"
+echo "* Provision OpenStack Nodes *"
+echo "* *"
+echo " bifrost version: $OPENSTACK_BIFROST_VERSION"
+echo " releng version: $OPNFV_RELENG_VERSION"
+echo "* *"
+echo "***********************************************************************"
+echo -e "\n"
+
+# clone the repos and checkout the versions
+sudo git clone --quiet https://git.openstack.org/openstack/bifrost /opt/bifrost
+cd /opt/bifrost && sudo git checkout --quiet $OPENSTACK_BIFROST_VERSION
+echo "xci: using bifrost commit"
+git show --oneline -s --pretty=format:'%h - %s (%cr) <%an>'
+
+sudo git clone --quiet https://gerrit.opnfv.org/gerrit/releng /opt/releng
+cd /opt/releng && sudo git checkout --quiet $OPNFV_RELENG_VERSION
+echo "xci: using releng commit"
+git show --oneline -s --pretty=format:'%h - %s (%cr) <%an>'
# this script will be reused for promoting bifrost versions and using
# promoted bifrost versions as part of xci daily.
@@ -65,10 +86,19 @@ sudo -E ./scripts/destroy-env.sh
# provision 6 VMs; xcimaster, controller00, controller01, controller02, compute00, and compute01
cd /opt/bifrost
-sudo -E ./scripts/osa-bifrost-deployment.sh
+sudo -E ./scripts/bifrost-provision.sh
# list the provisioned VMs
cd /opt/bifrost
source env-vars
ironic node-list
virsh list
+
+# log some info
+echo -e "\n"
+echo "***********************************************************************"
+echo "* *"
+echo "* OpenStack nodes are provisioned! *"
+echo "* *"
+echo "***********************************************************************"
+echo -e "\n"
diff --git a/jjb/yardstick/yardstick-cleanup.sh b/jjb/yardstick/yardstick-cleanup.sh
index 4e6f7d680..51455b593 100755
--- a/jjb/yardstick/yardstick-cleanup.sh
+++ b/jjb/yardstick/yardstick-cleanup.sh
@@ -1,6 +1,20 @@
#!/bin/bash
[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
+# Remove containers along with image opnfv/yardstick*:<none>
+dangling_images=($(docker images -f "dangling=true" | grep opnfv/yardstick | awk '{print $3}'))
+if [[ -n ${dangling_images} ]]; then
+ echo "Removing opnfv/yardstick:<none> images and their containers..."
+ for image_id in "${dangling_images[@]}"; do
+ echo " Removing image_id: $image_id and its containers"
+ containers=$(docker ps -a | grep $image_id | awk '{print $1}')
+ if [[ -n "$containers" ]];then
+ docker rm -f $containers >${redirect}
+ fi
+ docker rmi $image_id >${redirect}
+ done
+fi
+
echo "Cleaning up docker containers/images..."
# Remove previous running containers if exist
if [[ ! -z $(docker ps -a | grep opnfv/yardstick) ]]; then
@@ -17,6 +31,6 @@ if [[ ! -z $(docker images | grep opnfv/yardstick) ]]; then
for tag in "${image_tags[@]}"; do
echo "Removing docker image opnfv/yardstick:$tag..."
docker rmi opnfv/yardstick:$tag >$redirect
-
done
fi
+