summaryrefslogtreecommitdiffstats
path: root/jjb
diff options
context:
space:
mode:
Diffstat (limited to 'jjb')
-rw-r--r--jjb/apex/apex.yml73
-rw-r--r--jjb/apex/opnfv-apex.yml84
-rw-r--r--jjb/bottlenecks/bottlenecks-ci-jobs.yml205
-rw-r--r--jjb/bottlenecks/bottlenecks.yml2
-rw-r--r--jjb/compass4nfv/compass-ci-jobs.yml78
-rw-r--r--jjb/compass4nfv/compass-project-jobs.yml21
-rw-r--r--jjb/fuel/fuel-ci-jobs-master.yml154
-rw-r--r--jjb/fuel/fuel-ci-jobs.yml113
-rwxr-xr-xjjb/fuel/fuel-deploy-master.sh59
-rwxr-xr-xjjb/fuel/fuel-deploy.sh38
-rwxr-xr-xjjb/fuel/fuel-download-artifact.sh16
-rw-r--r--jjb/fuel/fuel-project-jobs.yml67
-rw-r--r--jjb/functest/functest-ci-jobs.yml29
-rw-r--r--jjb/functest/functest-project-jobs.yml9
-rw-r--r--jjb/genesis/genesis-foreman.yml18
-rw-r--r--jjb/genesis/genesis-fuel-att.yml7
-rw-r--r--jjb/genesis/genesis-fuel-dell.yml7
-rw-r--r--jjb/genesis/genesis-fuel.yml18
-rw-r--r--jjb/genesis/genesis-juju.yml11
-rw-r--r--jjb/joid/joid-ci-jobs.yml93
-rw-r--r--jjb/joid/joid-deploy.sh51
-rw-r--r--jjb/kvmfornfv/kvmfornfv.yml4
-rw-r--r--jjb/opnfv/installer-params.yml22
-rw-r--r--jjb/opnfv/opnfv-docker.sh26
-rw-r--r--jjb/opnfv/opnfv-docker.yml5
-rw-r--r--jjb/opnfv/slave-params.yml31
-rw-r--r--jjb/qtip/qtip.yml7
-rw-r--r--jjb/releng-jobs.yaml6
-rw-r--r--jjb/releng-macros.yaml10
-rwxr-xr-xjjb/verify-releng2
-rw-r--r--jjb/vswitchperf/vswitchperf.yml3
-rw-r--r--jjb/yardstick/yardstick-ci-jobs.yml83
32 files changed, 765 insertions, 587 deletions
diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml
index be595d4a3..57825cecd 100644
--- a/jjb/apex/apex.yml
+++ b/jjb/apex/apex.yml
@@ -14,6 +14,9 @@
- master:
branch: 'master'
gs-pathname: ''
+ - brahmaputra:
+ branch: 'stable/brahmaputra'
+ gs-pathname: '/brahmaputra'
project: 'apex'
@@ -25,6 +28,7 @@
parameters:
- apex-parameter:
gs-pathname: '{gs-pathname}'
+ ARTIFACT_VERSION: 'dev'
- project-parameter:
project: '{project}'
- gerrit-parameter:
@@ -57,7 +61,7 @@
project-pattern: 'apex'
branches:
- branch-compare-type: 'ANT'
- branch-pattern: '**/master'
+ branch-pattern: '**/{branch}'
file-paths:
- compare-type: ANT
pattern: 'ci/**'
@@ -243,7 +247,7 @@
- "apex-verify.*"
- "apex-deploy.*"
- "apex-build.*"
- - "apex-daily.*"
+
builders:
- 'apex-deploy-baremetal'
@@ -282,15 +286,16 @@
- "apex-build.*"
triggers:
- - 'apex-{stream}'
+ - 'apex-master'
builders:
- trigger-builds:
- project: 'apex-build-{stream}'
git-revision: true
+ current-parameters: true
block: true
- trigger-builds:
- - project: 'apex-deploy-virtual-{stream}'
+ - project: 'apex-deploy-baremetal-{stream}'
git-revision: true
block: true
- trigger-builds:
@@ -300,6 +305,13 @@
build-step-failure-threshold: 'never'
failure-threshold: 'never'
unstable-threshold: 'FAILURE'
+ - trigger-builds:
+ - project: 'yardstick-apex-opnfv-jump-1-daily-{stream}'
+ block: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
########################
# parameter macros
@@ -312,12 +324,16 @@
default: 'latest'
description: "RPM Artifact name that will be appended to GS_URL to deploy a specific artifact"
- string:
+ name: ARTIFACT_VERSION
+ default: 'daily'
+ description: "Artifact version type"
+ - string:
name: BUILD_DIRECTORY
default: $WORKSPACE/build_output
description: "Directory where the build artifact will be located upon the completion of the build."
- string:
name: CACHE_DIRECTORY
- default: $HOME/opnfv/cache/{gs-pathname}
+ default: $HOME/opnfv/cache{gs-pathname}
description: "Directory where the cache to be used during the build is located."
- string:
name: GIT_BASE
@@ -325,7 +341,7 @@
description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
- string:
name: GS_URL
- default: artifacts.opnfv.org/$PROJECT/{gs-pathname}
+ default: artifacts.opnfv.org/$PROJECT{gs-pathname}
description: "URL to Google Storage."
########################
@@ -346,7 +362,17 @@
# create the cache directory if it doesn't exist
[[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY
# set OPNFV_ARTIFACT_VERSION
- export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S")
+ if echo $GERRIT_BRANCH | grep "brahmaputra" 1> /dev/null; then
+ export OPNFV_ARTIFACT_VERSION="bramaputra.1.rc0"
+ else
+ if echo $BUILD_TAG | grep "apex-verify" 1> /dev/null; then
+ export OPNFV_ARTIFACT_VERSION=dev${BUILD_NUMBER}
+ elif [ "$ARTIFACT_VERSION" == "daily" ]; then
+ export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d")
+ else
+ export OPNFV_ARTIFACT_VERSION=${ARTIFACT_VERSION}
+ fi
+ fi
# start the build
cd $WORKSPACE/ci
./build.sh -v $OPNFV_ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY
@@ -447,14 +473,27 @@
source opnfv.properties
RPM_INSTALL_PATH=build_output/$(basename $OPNFV_RPM_URL)
+ if [ ! -e "$RPM_INSTALL_PATH" ]; then
+ RPM_INSTALL_PATH=http://${OPNFV_RPM_URL}
+ fi
+
+ RPM_LIST=$RPM_INSTALL_PATH
+ for pkg in common undercloud; do
+ RPM_LIST+=" ${RPM_INSTALL_PATH/opnfv-apex/opnfv-apex-${pkg}}"
+ done
# update / install the new rpm
if rpm -q opnfv-apex > /dev/null; then
- if sudo yum update -y $RPM_INSTALL_PATH | grep "does not update installed package"; then
- sudo yum downgrade -y $RPM_INSTALL_PATH;
+ if [ $(basename $OPNFV_RPM_URL) == $(rpm -q opnfv-apex).rpm ]; then
+ echo "RPM is already installed"
+ elif sudo yum update -y $RPM_LIST | grep "does not update installed package"; then
+ if ! sudo yum downgrade -y $RPM_LIST; then
+ yum remove -y opnfv-undercloud opnfv-common
+ sudo yum downgrade -y $RPM_INSTALL_PATH
+ fi
fi
else
- sudo yum install -y $RPM_INSTALL_PATH;
+ sudo yum install -y $RPM_LIST;
fi
# cleanup virtual machines before we start
@@ -510,15 +549,23 @@
RPM_INSTALL_PATH=http://${OPNFV_RPM_URL}
fi
+ RPM_LIST=$RPM_INSTALL_PATH
+ for pkg in common undercloud; do
+ RPM_LIST+=" ${RPM_INSTALL_PATH/opnfv-apex/opnfv-apex-${pkg}}"
+ done
+
# update / install the new rpm
if rpm -q opnfv-apex > /dev/null; then
if [ $(basename $OPNFV_RPM_URL) == $(rpm -q opnfv-apex).rpm ]; then
echo "RPM is already installed"
- elif sudo yum update -y $RPM_INSTALL_PATH | grep "does not update installed package"; then
- sudo yum downgrade -y $RPM_INSTALL_PATH;
+ elif sudo yum update -y $RPM_LIST | grep "does not update installed package"; then
+ if ! sudo yum downgrade -y $RPM_LIST; then
+ yum remove -y opnfv-undercloud opnfv-common
+ sudo yum downgrade -y $RPM_INSTALL_PATH
+ fi
fi
else
- sudo yum install -y $RPM_INSTALL_PATH;
+ sudo yum install -y $RPM_LIST;
fi
# cleanup environment before we start
diff --git a/jjb/apex/opnfv-apex.yml b/jjb/apex/opnfv-apex.yml
deleted file mode 100644
index 5240bbabb..000000000
--- a/jjb/apex/opnfv-apex.yml
+++ /dev/null
@@ -1,84 +0,0 @@
-########################
-# Job configuration for apex
-########################
-- project:
-
- name: 'opnfv-apex'
-
- installer: 'apex'
-
- controller:
- - 'odl'
- - 'onos'
- - 'opencontrail'
-
- pod: 'intelpod2-jumphost'
-
- stream:
- - master:
- branch: 'master'
- gs-pathname: ''
-
- jobs:
- - 'opnfv-apex-{controller}-{pod}-daily-{stream}'
- - 'opnfv-apex-deploy-{pod}-daily-{stream}'
-
-########################
-# job templates
-########################
-- job-template:
- name: 'opnfv-apex-{controller}-{pod}-daily-{stream}'
-
- disabled: true
-
- concurrent: false
-
- parameters:
- - project-parameter:
- project: '{installer}'
- - '{pod}-defaults'
- - '{installer}-defaults':
- controller: '{controller}'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
- builders:
- - trigger-builds:
- - project: 'opnfv-apex-daily-deploy-{stream}'
- git-revision: true
- block: true
- predefined-parameters:
- CONTROLLER={controller}
-
-- job-template:
- name: 'opnfv-apex-deploy-{pod}-daily-{stream}'
-
- disabled: true
-
- concurrent: false
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER: {installer} $CONTROLLER'
-
- parameters:
- - project-parameter:
- project: '{installer}'
- - '{pod}-defaults'
- - '{installer}-defaults'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
- builders:
- - shell: |
- #!/bin/bash
- echo "Hello World from OPNFV $INSTALLER_TYPE"
- echo "Running $INSTALLER_TYPE with controller $CONTROLLER"
diff --git a/jjb/bottlenecks/bottlenecks-ci-jobs.yml b/jjb/bottlenecks/bottlenecks-ci-jobs.yml
new file mode 100644
index 000000000..b4b736faa
--- /dev/null
+++ b/jjb/bottlenecks/bottlenecks-ci-jobs.yml
@@ -0,0 +1,205 @@
+####################################
+# job configuration for bottlenecks
+####################################
+- project:
+ name: bottlenecks-ci-jobs
+
+ project: 'bottlenecks'
+
+#--------------------------------
+# BRANCH ANCHORS
+#--------------------------------
+ master: &master
+ stream: master
+ branch: '{stream}'
+ gs-pathname: ''
+ brahmaputra: &brahmaputra
+ stream: brahmaputra
+ branch: 'stable/{stream}'
+ gs-pathname: '{stream}'
+#--------------------------------
+# POD, INSTALLER, AND BRANCH MAPPING
+#--------------------------------
+# brahmaputra
+#--------------------------------
+ pod:
+ - opnfv-jump-2:
+ installer: fuel
+ <<: *brahmaputra
+ - intel-pod5:
+ installer: joid
+ <<: *brahmaputra
+ - huawei-us-deploy-bare-1:
+ installer: compass
+ <<: *brahmaputra
+#--------------------------------
+# master
+#--------------------------------
+ - ericsson-pod1:
+ installer: fuel
+ <<: *master
+ - ericsson-pod2:
+ installer: fuel
+ <<: *master
+ - intel-pod6:
+ installer: joid
+ <<: *master
+ - intel-pod8:
+ installer: compass
+ <<: *master
+ - zte-build-1:
+ installer: fuel
+ <<: *master
+ - orange-pod2:
+ installer: joid
+ <<: *master
+#--------------------------------
+ suite:
+ - 'rubbos'
+ - 'vstf'
+
+ jobs:
+ - 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}'
+
+################################
+# job templates
+################################
+- job-template:
+ name: 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}'
+
+ disabled: false
+
+ wrappers:
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - '{pod}-defaults'
+ - '{installer}-defaults'
+ - 'bottlenecks-params-{pod}'
+ - string:
+ name: GERRIT_REFSPEC_DEBUG
+ default: ''
+ description: "Gerrit refspec for debug."
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ builders:
+ - 'bottlenecks-fetch-os-creds'
+ - 'bottlenecks-run-{suite}'
+
+ publishers:
+ - email:
+ recipients: hongbo.tianhongbo@huawei.com matthew.lijun@huawei.com liangqi1@huawei.com liyiting@huawei.com
+
+########################
+# builder macros
+########################
+#- builder:
+# name: bottlenecks-fetch-os-creds
+# builders:
+# - shell:
+# !include-raw ../../utils/fetch_os_creds.sh
+
+#- builder:
+# name: bottlenecks-run-rubbos
+# builders:
+# - shell: |
+# #!/bin/bash
+# set -o errexit
+#
+# echo "Bottlenecks: rubbos running now..."
+# cd $WORKSPACE
+# ./ci/run.sh $GERRIT_REFSPEC_DEBUG
+
+#- builder:
+# name: bottlenecks-run-vstf
+# builders:
+# - shell: |
+# #!/bin/bash
+# set -o errexit
+
+# echo "Bottlenecks: vstf running now..."
+# cd $WORKSPACE
+# ./ci/vstf_run.sh $GERRIT_REFSPEC_DEBUG
+
+########################
+# parameter macros
+########################
+- parameter:
+ name: 'bottlenecks-params-intel-pod5'
+ parameters:
+ - string:
+ name: BOTTLENECKS_DB_TARGET
+ default: '213.77.62.197'
+ description: 'Arguments to use in order to choose the backend DB'
+
+- parameter:
+ name: 'bottlenecks-params-intel-pod6'
+ parameters:
+ - string:
+ name: BOTTLENECKS_DB_TARGET
+ default: '213.77.62.197'
+ description: 'Arguments to use in order to choose the backend DB'
+
+- parameter:
+ name: 'bottlenecks-params-intel-pod8'
+ parameters:
+ - string:
+ name: BOTTLENECKS_DB_TARGET
+ default: '213.77.62.197'
+ description: 'Arguments to use in order to choose the backend DB'
+
+- parameter:
+ name: 'bottlenecks-params-ericsson-pod1'
+ parameters:
+ - string:
+ name: BOTTLENECKS_DB_TARGET
+ default: '213.77.62.197'
+ description: 'Arguments to use in order to choose the backend DB'
+
+- parameter:
+ name: 'bottlenecks-params-ericsson-pod2'
+ parameters:
+ - string:
+ name: BOTTLENECKS_DB_TARGET
+ default: '213.77.62.197'
+ description: 'Arguments to use in order to choose the backend DB'
+
+- parameter:
+ name: 'bottlenecks-params-opnfv-jump-2'
+ parameters:
+ - string:
+ name: BOTTLENECKS_DB_TARGET
+ default: '213.77.62.197'
+ description: 'Arguments to use in order to choose the backend DB'
+
+- parameter:
+ name: 'bottlenecks-params-huawei-us-deploy-bare-1'
+ parameters:
+ - string:
+ name: BOTTLENECKS_DB_TARGET
+ default: '213.77.62.197'
+ description: 'Arguments to use in order to choose the backend DB'
+
+- parameter:
+ name: 'bottlenecks-params-zte-build-1'
+ parameters:
+ - string:
+ name: BOTTLENECKS_DB_TARGET
+ default: '213.77.62.197'
+ description: 'Arguments to use in order to choose the backend DB'
+
+- parameter:
+ name: 'bottlenecks-params-orange-pod2'
+ parameters:
+ - string:
+ name: BOTTLENECKS_DB_TARGET
+ default: '213.77.62.197'
+ description: 'Arguments to use in order to choose the backend DB'
diff --git a/jjb/bottlenecks/bottlenecks.yml b/jjb/bottlenecks/bottlenecks.yml
index c29c5688b..26069cf7b 100644
--- a/jjb/bottlenecks/bottlenecks.yml
+++ b/jjb/bottlenecks/bottlenecks.yml
@@ -182,7 +182,7 @@
name: bottlenecks-fetch-os-creds
builders:
- shell:
- !include-raw ../../utils/fetch_os_creds.sh
+ !include-raw: ../../utils/fetch_os_creds.sh
- builder:
name: bottlenecks-run-rubbos
diff --git a/jjb/compass4nfv/compass-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yml
index f68597e3a..535fb3b31 100644
--- a/jjb/compass4nfv/compass-ci-jobs.yml
+++ b/jjb/compass4nfv/compass-ci-jobs.yml
@@ -30,41 +30,49 @@
- intel-pod8:
<<: *master
- sdn-controller:
- - 'nosdn':
+ scenario:
+ - 'os-nosdn-nofeature-ha':
disabled: false
- - 'odl':
+ auto-trigger-name: 'compass-{scenario}-{pod}-trigger'
+ - 'os-odl_l2-nofeature-ha':
disabled: false
- - 'onos':
+ auto-trigger-name: 'compass-{scenario}-{pod}-trigger'
+ - 'os-onos-nofeature-ha':
disabled: false
-# - 'opencontrail':
+ auto-trigger-name: 'compass-{scenario}-{pod}-trigger'
+# - 'os-ocl-nofeature-ha':
# disabled: true
+# auto-trigger-name: 'joid-{scenario}-{pod}-trigger'
jobs:
- - 'compass-{sdn-controller}-{pod}-daily-{stream}'
+ - 'compass-{scenario}-{pod}-daily-{stream}'
- 'compass-deploy-{pod}-daily-{stream}'
########################
# job templates
########################
- job-template:
- name: 'compass-{sdn-controller}-{pod}-daily-{stream}'
+ name: 'compass-{scenario}-{pod}-daily-{stream}'
project-type: multijob
node: huawei-build
- concurrent: true
+ concurrent: false
properties:
- throttle:
enabled: true
max-total: 1
max-per-node: 1
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'compass-os-.*?-{pod}-daily-{stream}'
wrappers:
- build-name:
- name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
parameters:
- project-parameter:
@@ -73,23 +81,13 @@
installer: '{installer}'
gs-pathname: '{gs-pathname}'
- string:
- name: SDN_CONTROLLER
- default: '{sdn-controller}'
- - string:
name: DEPLOY_SCENARIO
default: 'none'
- 'huawei-build-defaults'
- '{installer}-defaults'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
triggers:
- - 'compass-{pod}-{sdn-controller}-trigger'
+ - '{auto-trigger-name}'
builders:
- multijob:
@@ -98,7 +96,7 @@
projects:
- name: 'compass-deploy-{pod}-daily-{stream}'
current-parameters: false
- git-revision: true
+ predefined-parameters: 'DEPLOY_SCENARIO={scenario}'
kill-phase-on: FAILURE
- multijob:
name: functest
@@ -106,6 +104,7 @@
projects:
- name: 'functest-compass-{pod}-daily-{stream}'
current-parameters: false
+ predefined-parameters: 'DEPLOY_SCENARIO={scenario}'
kill-phase-on: NEVER
- multijob:
name: yardstick
@@ -113,6 +112,7 @@
projects:
- name: 'yardstick-compass-{pod}-daily-{stream}'
current-parameters: false
+ predefined-parameters: 'DEPLOY_SCENARIO={scenario}'
kill-phase-on: NEVER
- job-template:
@@ -120,13 +120,17 @@
disabled: false
- concurrent: true
+ concurrent: false
properties:
- throttle:
enabled: true
max-total: 1
max-per-node: 1
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'compass-deploy-{pod}-daily-{stream}'
parameters:
- project-parameter:
@@ -134,12 +138,6 @@
- compass-ci-parameter:
installer: '{installer}'
gs-pathname: '{gs-pathname}'
- - string:
- name: SDN_CONTROLLER
- default: '{sdn-controller}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'none'
- '{pod}-defaults'
- '{installer}-defaults'
@@ -151,16 +149,16 @@
wrappers:
- build-name:
- name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
builders:
- shell:
- !include-raw ./compass-workspace-precleanup.sh
+ !include-raw: ./compass-workspace-precleanup.sh
- shell:
- !include-raw ./compass-download-artifact.sh
+ !include-raw: ./compass-download-artifact.sh
- shell:
- !include-raw ./compass-deploy-bare.sh
+ !include-raw: ./compass-deploy-bare.sh
publishers:
- archive:
@@ -207,34 +205,34 @@
# trigger macros
########################
- trigger:
- name: 'compass-huawei-us-deploy-bare-1-nosdn-trigger'
+ name: 'compass-os-nosdn-nofeature-ha-huawei-us-deploy-bare-1-trigger'
triggers:
- timed: '0 16 * * * '
- trigger:
- name: 'compass-huawei-us-deploy-bare-1-odl-trigger'
+ name: 'compass-os-odl_l2-nofeature-ha-huawei-us-deploy-bare-1-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-huawei-us-deploy-bare-1-onos-trigger'
+ name: 'compass-os-onos-nofeature-ha-huawei-us-deploy-bare-1-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-huawei-us-deploy-bare-1-opencontrail-trigger'
+ name: 'compass-os-ocl-nofeature-ha-huawei-us-deploy-bare-1-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-intel-pod8-nosdn-trigger'
+ name: 'compass-os-nosdn-nofeature-ha-intel-pod8-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-intel-pod8-odl-trigger'
+ name: 'compass-os-odl_l2-nofeature-ha-intel-pod8-trigger'
triggers:
- timed: '0 16 * * *'
- trigger:
- name: 'compass-intel-pod8-onos-trigger'
+ name: 'compass-os-onos-nofeature-ha-intel-pod8-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-intel-pod8-opencontrail-trigger'
+ name: 'compass-os-ocl-nofeature-ha-intel-pod8-trigger'
triggers:
- timed: ''
diff --git a/jjb/compass4nfv/compass-project-jobs.yml b/jjb/compass4nfv/compass-project-jobs.yml
index 1395fa532..345c4c3fb 100644
--- a/jjb/compass4nfv/compass-project-jobs.yml
+++ b/jjb/compass4nfv/compass-project-jobs.yml
@@ -64,6 +64,9 @@
gs-pathname: '{gs-pathname}'
- '{node}-defaults'
- '{installer}-defaults'
+ - string:
+ name: SDN_CONTROLLER
+ default: 'nosdn'
scm:
- gerrit-trigger-scm:
@@ -95,9 +98,9 @@
builders:
- shell:
- !include-raw ./compass-build.sh
+ !include-raw: ./compass-build.sh
- shell:
- !include-raw ./compass-deploy-virtual.sh
+ !include-raw: ./compass-deploy-virtual.sh
publishers:
- archive:
@@ -184,11 +187,11 @@
builders:
- shell:
- !include-raw ./compass-build.sh
+ !include-raw: ./compass-build.sh
- shell:
- !include-raw ./compass-upload-artifact.sh
+ !include-raw: ./compass-upload-artifact.sh
- shell:
- !include-raw ./compass-workspace-cleanup.sh
+ !include-raw: ./compass-workspace-cleanup.sh
- job-template:
name: 'compass-build-ppa-{stream}'
@@ -221,7 +224,7 @@
builders:
- shell:
- !include-raw ./compass-makeppa.sh
+ !include-raw: ./compass-makeppa.sh
- job-template:
name: 'compass-deploy-virtual-{sdn-controller}-{stream}'
@@ -255,11 +258,11 @@
builders:
- shell:
- !include-raw ./compass-workspace-precleanup.sh
+ !include-raw: ./compass-workspace-precleanup.sh
- shell:
- !include-raw ./compass-download-artifact.sh
+ !include-raw: ./compass-download-artifact.sh
- shell:
- !include-raw ./compass-deploy-virtual.sh
+ !include-raw: ./compass-deploy-virtual.sh
publishers:
- archive:
diff --git a/jjb/fuel/fuel-ci-jobs-master.yml b/jjb/fuel/fuel-ci-jobs-master.yml
deleted file mode 100644
index dffafe850..000000000
--- a/jjb/fuel/fuel-ci-jobs-master.yml
+++ /dev/null
@@ -1,154 +0,0 @@
-- project:
-
- name: 'fuel-master'
-
- project: 'fuel'
-
- installer: '{project}'
-
-#--------------------------------
-# BRANCH ANCHORS
-#--------------------------------
- master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
-#--------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#--------------------------------
- pod:
- - ericsson-pod2:
- <<: *master
-#--------------------------------
-
-# new scenario descriptions
- scenario:
- - 'os_ha'
- - 'os_odl-l2_ha'
- - 'os_odl-l3_ha'
- - 'os_onos_ha'
- - 'os_kvm_ha'
- - 'os_ovs_ha'
- - 'os_kvm_ovs_ha'
-
- jobs:
- - 'fuel-{scenario}-{pod}-daily-{stream}'
- - 'fuel-deploy-{pod}-daily-{stream}-development'
-
-########################
-# job templates - new type of defining the scenario
-########################
-- job-template:
- name: 'fuel-{scenario}-{pod}-daily-{stream}'
-
- project-type: multijob
-
- concurrent: false
-
- properties:
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'fuel-os_.*'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-
- parameters:
- - project-parameter:
- project: '{project}'
- - '{pod}-defaults'
- - '{installer}-defaults'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
- - fuel-ci-parameter:
- gs-pathname: '{gs-pathname}'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
- builders:
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: 'fuel-deploy-{pod}-daily-{stream}'
- current-parameters: true
- git-revision: true
- kill-phase-on: FAILURE
- - multijob:
- name: functest
- condition: COMPLETED
- projects:
- - name: 'functest-fuel-{pod}-daily-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- - multijob:
- name: yardstick
- condition: COMPLETED
- projects:
- - name: 'yardstick-fuel-{pod}-daily-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
-
-- job-template:
- name: 'fuel-deploy-{pod}-daily-{stream}-development'
-
- concurrent: false
-
- properties:
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
-
- parameters:
- - project-parameter:
- project: 'fuel'
- - 'ericsson-pod2-defaults'
- - 'fuel-defaults'
- - fuel-ci-parameter-new:
- gs-pathname: ''
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: 'master'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-
- builders:
- - shell:
- !include-raw-escape: ./fuel-download-artifact.sh
- - shell:
- !include-raw-escape: ./fuel-deploy-master.sh
-########################
-# parameter macros
-########################
-- parameter:
- name: fuel-ci-parameter-new
- parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: CACHE_DIRECTORY
- default: $HOME/opnfv/cache/$INSTALLER_TYPE
- description: "Directory where the cache to be used during the build is located."
- - string:
- name: GS_URL
- default: artifacts.opnfv.org/$PROJECT{gs-pathname}
- description: "URL to Google Storage."
diff --git a/jjb/fuel/fuel-ci-jobs.yml b/jjb/fuel/fuel-ci-jobs.yml
index c90d930c1..9caf3d183 100644
--- a/jjb/fuel/fuel-ci-jobs.yml
+++ b/jjb/fuel/fuel-ci-jobs.yml
@@ -1,3 +1,4 @@
+# jenkins job templates for Fuel
- project:
name: 'fuel'
@@ -25,6 +26,8 @@
pod:
- opnfv-jump-2:
<<: *brahmaputra
+ - virtual:
+ <<: *brahmaputra
#--------------------------------
# master
#--------------------------------
@@ -32,21 +35,38 @@
<<: *master
- ericsson-pod2:
<<: *master
+ - virtual:
+ <<: *master
#--------------------------------
-# please check the triggers before enabling any of the controllers!!!
- sdn-controller:
- - 'nosdn'
+# new scenario descriptions
+ scenario:
+ - 'os-nosdn-kvm-ha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-nosdn-kvm_ovs-ha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-nosdn-nofeature-ha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-nosdn-ovs-ha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-nosdn-vlan-ha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-trigger'
+ - 'os-odl_l2-nofeature-ha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-trigger'
+ - 'os-odl_l3-nofeature-ha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-onos-nofeature-ha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
jobs:
- - 'fuel-{sdn-controller}-{pod}-daily-{stream}'
+ - 'fuel-{scenario}-{pod}-daily-{stream}'
- 'fuel-deploy-{pod}-daily-{stream}'
########################
# job templates - old type of defining the scenario
########################
- job-template:
- name: 'fuel-{sdn-controller}-{pod}-daily-{stream}'
+ name: 'fuel-{scenario}-{pod}-daily-{stream}'
project-type: multijob
@@ -60,14 +80,14 @@
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - 'fuel-{sdn-controller}-{pod}-daily-{stream}'
+ - 'fuel-os-.*?-{pod}-daily-{stream}'
wrappers:
- build-name:
- name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
triggers:
- - 'fuel-{pod}-{sdn-controller}-trigger'
+ - '{auto-trigger-name}'
parameters:
- project-parameter:
@@ -75,20 +95,11 @@
- '{pod}-defaults'
- '{installer}-defaults'
- string:
- name: SDN_CONTROLLER
- default: '{sdn-controller}'
- - string:
name: DEPLOY_SCENARIO
- default: 'none'
+ default: '{scenario}'
- fuel-ci-parameter:
gs-pathname: '{gs-pathname}'
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
builders:
- multijob:
name: deploy
@@ -96,7 +107,6 @@
projects:
- name: 'fuel-deploy-{pod}-daily-{stream}'
current-parameters: true
- git-revision: true
kill-phase-on: FAILURE
- multijob:
name: functest
@@ -126,9 +136,7 @@
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - 'fuel-deploy-{pod}-daily-{stream}.*'
- - 'functest-fuel-{pod}-daily-{stream}'
- - 'yardstick-fuel-{pod}-daily-{stream}'
+ - 'fuel-deploy-{pod}-daily-{stream}'
parameters:
- project-parameter:
@@ -149,11 +157,15 @@
name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
builders:
- - 'builder-{stream}'
+ - shell:
+ !include-raw-escape: ./fuel-download-artifact.sh
+ - shell:
+ !include-raw-escape: ./fuel-deploy.sh
publishers:
- email:
recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
+
########################
# parameter macros
########################
@@ -172,37 +184,48 @@
name: GS_URL
default: artifacts.opnfv.org/$PROJECT{gs-pathname}
description: "URL to Google Storage."
-########################
-# builder macros
-########################
-- builder:
- name: 'builder-master'
- builders:
- - shell:
- !include-raw: ./fuel-download-artifact.sh
- - shell:
- !include-raw: ./fuel-deploy-master.sh
-- builder:
- name: 'builder-brahmaputra'
- builders:
- - shell:
- !include-raw: ./fuel-download-artifact.sh
- - shell:
- !include-raw: ./fuel-deploy.sh
+- parameter:
+ name: 'virtual-defaults'
+ parameters:
+ - label:
+ name: SLAVE_LABEL
+ default: 'fuel-deploy-virtual'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on these Jenkins Slaves'
########################
# trigger macros
########################
-# trigger for opnfv-jump-2 is set to run 1 hour ahead of others
-# to prevent doing unnecessary builds
- trigger:
- name: 'fuel-opnfv-jump-2-nosdn-trigger'
+ name: 'fuel-os-odl_l2-nofeature-ha-opnfv-jump-2-trigger'
+ triggers:
+ - timed: '0 2 * * *'
+- trigger:
+ name: 'fuel-os-odl_l2-nofeature-ha-ericsson-pod1-trigger'
triggers:
- timed: '0 2 * * *'
- trigger:
- name: 'fuel-ericsson-pod1-nosdn-trigger'
+ name: 'fuel-os-odl_l2-nofeature-ha-ericsson-pod2-trigger'
triggers:
- timed: '0 2 * * *'
- trigger:
- name: 'fuel-ericsson-pod2-nosdn-trigger'
+ name: 'fuel-os-odl_l2-nofeature-ha-virtual-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-nosdn-vlan-ha-opnfv-jump-2-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-nosdn-vlan-ha-ericsson-pod1-trigger'
+ triggers:
+ - timed: '0 2 * * *'
+- trigger:
+ name: 'fuel-os-nosdn-vlan-ha-ericsson-pod2-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-nosdn-vlan-ha-virtual-trigger'
triggers:
- timed: ''
diff --git a/jjb/fuel/fuel-deploy-master.sh b/jjb/fuel/fuel-deploy-master.sh
deleted file mode 100755
index 4a7d1d9fb..000000000
--- a/jjb/fuel/fuel-deploy-master.sh
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-# 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"
-
-# checkout the commit that was used for building the downloaded artifact
-# to make sure the ISO and deployment mechanism uses same versions
-echo "Checking out $OPNFV_GIT_SHA1"
-git checkout $OPNFV_GIT_SHA1 --quiet
-
-# set deployment parameters
-BRIDGE=pxebr
-export TMPDIR=$HOME/tmpdir
-LAB_NAME=${NODE_NAME/-*}
-POD_NAME=${NODE_NAME/*-}
-
-# create TMPDIR if it doesn't exist
-mkdir -p $TMPDIR
-
-# change permissions down to TMPDIR
-chmod a+x $HOME
-chmod a+x $TMPDIR
-
-# clone the securedlab repo
-cd $WORKSPACE
-echo "Cloning securedlab repo"
-git clone ssh://jenkins-ericsson@gerrit.opnfv.org:29418/securedlab --quiet
-
-# construct the command
-DEPLOY_COMMAND="sudo $WORKSPACE/ci/deploy.sh -b file://$WORKSPACE/securedlab -l $LAB_NAME -p $POD_NAME -s $DEPLOY_SCENARIO -i file://$WORKSPACE/opnfv.iso -H -B $BRIDGE -S $TMPDIR"
-
-# log info to console
-echo "Deployment parameters"
-echo "--------------------------------------------------------"
-echo "Scenario: $DEPLOY_SCENARIO"
-echo "Lab: $LAB_NAME"
-echo "POD: $POD_NAME"
-echo "ISO: $(echo $OPNFV_ARTIFACT_URL | cut -d'/' -f3)"
-echo
-echo "Starting the deployment using $INSTALLER_TYPE. This could take some time..."
-echo "--------------------------------------------------------"
-echo
-
-# start the deployment
-echo "Issuing command"
-echo "$DEPLOY_COMMAND"
-echo
-
-$DEPLOY_COMMAND
-
-echo
-echo "--------------------------------------------------------"
-echo "Done!"
diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh
index dc3d81a3a..6875a09e7 100755
--- a/jjb/fuel/fuel-deploy.sh
+++ b/jjb/fuel/fuel-deploy.sh
@@ -7,13 +7,28 @@ set -o pipefail
source latest.properties
# echo the info about artifact that is used during the deployment
-echo "Using $OPNFV_ARTIFACT_URL for deployment"
+echo "Using ${OPNFV_ARTIFACT_URL/*\/} for deployment"
# checkout the commit that was used for building the downloaded artifact
# to make sure the ISO and deployment mechanism uses same versions
echo "Checking out $OPNFV_GIT_SHA1"
git checkout $OPNFV_GIT_SHA1 --quiet
+# set deployment parameters
+BRIDGE=pxebr
+export TMPDIR=$HOME/tmpdir
+LAB_NAME=${NODE_NAME/-*}
+POD_NAME=${NODE_NAME/*-}
+
+if [[ "$NODE_NAME" =~ "virtual" ]]; then
+ POD_NAME="virtual_kvm"
+fi
+
+if [[ "$NODE_NAME" == "opnfv-jump-2" ]]; then
+ LAB_NAME="lf"
+ POD_NAME="pod2"
+fi
+
# create TMPDIR if it doesn't exist
export TMPDIR=$HOME/tmpdir
mkdir -p $TMPDIR
@@ -22,19 +37,32 @@ mkdir -p $TMPDIR
chmod a+x $HOME
chmod a+x $TMPDIR
-# set BRIDGE
-BRIDGE=pxebr
+# clone the securedlab repo
+cd $WORKSPACE
+echo "Cloning securedlab repo"
+git clone ssh://jenkins-ericsson@gerrit.opnfv.org:29418/securedlab --quiet
+
+# construct the command
+DEPLOY_COMMAND="sudo $WORKSPACE/ci/deploy.sh -b file://$WORKSPACE/securedlab -l $LAB_NAME -p $POD_NAME -s $DEPLOY_SCENARIO -i file://$WORKSPACE/opnfv.iso -H -B $BRIDGE -S $TMPDIR"
# log info to console
+echo "Deployment parameters"
+echo "--------------------------------------------------------"
+echo "Scenario: $DEPLOY_SCENARIO"
+echo "Lab: $LAB_NAME"
+echo "POD: $POD_NAME"
+echo "ISO: ${OPNFV_ARTIFACT_URL/*\/}"
+echo
echo "Starting the deployment using $INSTALLER_TYPE. This could take some time..."
echo "--------------------------------------------------------"
echo
# start the deployment
echo "Issuing command"
-echo "sudo $WORKSPACE/ci/deploy.sh -iso $WORKSPACE/opnfv.iso -dea $POD_CONF_DIR/dea.yaml -dha $POD_CONF_DIR/dha.yaml -s $TMPDIR -b $BRIDGE -nh"
+echo "$DEPLOY_COMMAND"
+echo
-sudo $WORKSPACE/ci/deploy.sh -iso $WORKSPACE/opnfv.iso -dea $POD_CONF_DIR/dea.yaml -dha $POD_CONF_DIR/dha.yaml -s $TMPDIR -b $BRIDGE -nh
+$DEPLOY_COMMAND
echo
echo "--------------------------------------------------------"
diff --git a/jjb/fuel/fuel-download-artifact.sh b/jjb/fuel/fuel-download-artifact.sh
index 917bc97a0..a1a1de47e 100755
--- a/jjb/fuel/fuel-download-artifact.sh
+++ b/jjb/fuel/fuel-download-artifact.sh
@@ -16,9 +16,23 @@ fi
# check if we got the file
[[ -f latest.properties ]] || exit 1
-# source the file so we get OPNFV vars
+# source the file so we get artifact metadata
source latest.properties
+# echo the info about artifact that is used during the deployment
+OPNFV_ARTIFACT=${OPNFV_ARTIFACT_URL/*\/}
+echo "Using $OPNFV_ARTIFACT for deployment"
+
+# check if we already have the ISO to avoid redownload
+# disabled for the timebeing - needs adjustments
+#ISO_STORE=$HOME/opnfv/iso_store/fuel
+#if [[ -f "$ISO_STORE/$OPNFV_ARTIFACT" ]]; then
+# echo "ISO already exists. Skipping the download"
+# ln -s $ISO_STORE/$OPNFV_ARTIFACT $WORKSPACE/opnfv.iso
+# ls -al $WORKSPACE/opnfv.iso
+# exit 0
+#fi
+
# log info to console
echo "Downloading the $INSTALLER_TYPE artifact using URL http://$OPNFV_ARTIFACT_URL"
echo "This could take some time..."
diff --git a/jjb/fuel/fuel-project-jobs.yml b/jjb/fuel/fuel-project-jobs.yml
index a04e4e65d..95bc3a6b4 100644
--- a/jjb/fuel/fuel-project-jobs.yml
+++ b/jjb/fuel/fuel-project-jobs.yml
@@ -21,6 +21,7 @@
- 'fuel-verify-build-{stream}'
- 'fuel-merge-build-{stream}'
- 'fuel-merge-deploy-virtual-{stream}'
+ - 'fuel-deploy-generic-daily-{stream}'
########################
# job templates
@@ -51,7 +52,8 @@
branch: '{branch}'
triggers:
- - pollscm: '0 H/4 * * *'
+ - pollscm:
+ cron: '0 H/4 * * *'
wrappers:
- timeout:
@@ -212,19 +214,19 @@
- ssh-agent-credentials:
users: '{ssh-credentials}'
- 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}'
- dependency-jobs: 'fuel-merge-build-{stream}'
+# 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}'
+# dependency-jobs: 'fuel-merge-build-{stream}'
builders:
- shell:
@@ -238,6 +240,43 @@
- email:
recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
+- job-template:
+ name: 'fuel-deploy-generic-daily-{stream}'
+
+ concurrent: false
+
+ disabled: true
+
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - 'ericsson-pod2-defaults'
+ - '{installer}-defaults'
+ - fuel-project-parameter:
+ gs-pathname: '{gs-pathname}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ wrappers:
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+
+ builders:
+ - shell:
+ !include-raw-escape: ./fuel-download-artifact.sh
+ - shell:
+ !include-raw-escape: ./fuel-deploy.sh
+
########################
# parameter macros
########################
diff --git a/jjb/functest/functest-ci-jobs.yml b/jjb/functest/functest-ci-jobs.yml
index 3c993c6a3..ee6e7d6b7 100644
--- a/jjb/functest/functest-ci-jobs.yml
+++ b/jjb/functest/functest-ci-jobs.yml
@@ -73,7 +73,7 @@
wrappers:
- build-name:
- name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
+ name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO'
parameters:
- project-parameter:
@@ -129,13 +129,18 @@
name: PUSH_RESULTS_TO_DB
default: "true"
description: "Push the results of all the tests to the resultDB"
+ - string:
+ name: CI_DEBUG
+ default: 'false'
+ description: "Show debut output information"
########################
# trigger macros
########################
- trigger:
name: 'functest-master'
triggers:
- - pollscm: "H 9 * * *"
+ - pollscm:
+ cron: "H 9 * * *"
########################
# builder macros
########################
@@ -183,6 +188,7 @@
- shell: |
#!/bin/bash
set +e
+ [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
# labconfig is used only for joid
labconfig=""
if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
@@ -200,15 +206,17 @@
# replace the default one by the customized one provided by jenkins config
fi
echo "Functest: Start Docker and prepare environment"
- envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} -e NODE_NAME=${NODE_NAME}"
+ envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \
+ -e NODE_NAME=${NODE_NAME} -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} \
+ -e CI_DEBUG=${CI_DEBUG}"
dir_result="${HOME}/opnfv/functest/reports"
mkdir -p ${dir_result}
rm -rf ${dir_result}/*
- $res_volume="-v ${dir_result}:/home/opnfv/functest/results"
+ res_volume="-v ${dir_result}:/home/opnfv/functest/results"
- docker pull opnfv/functest:latest_stable
- cmd="sudo docker run --privileged=true -id -e $envs ${labconfig} ${sshkey} ${res_volume} opnfv/functest:latest_stable /bin/bash"
+ docker pull opnfv/functest:latest_stable >$redirect
+ cmd="sudo docker run --privileged=true -id ${envs} ${labconfig} ${sshkey} ${res_volume} opnfv/functest:latest_stable /bin/bash"
echo "Functest: Running docker run command: ${cmd}"
${cmd}
docker ps -a
@@ -236,21 +244,20 @@
name: functest-store-results
builders:
- shell:
- !include-raw res-build.sh
+ !include-raw: res-build.sh
- builder:
name: functest-cleanup
builders:
- shell: |
#!/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/functest) ]]; then
echo "Removing existing opnfv/functest containers..."
- docker ps | grep opnfv/functest | awk '{print $1}' | xargs docker stop
- docker ps -a | grep opnfv/functest | awk '{print $1}' | xargs docker rm
+ docker ps -a | grep opnfv/functest | awk '{print $1}' | xargs docker rm -f >$redirect
fi
# Remove existing images if exist
@@ -260,6 +267,6 @@
image_tags=($(docker images | grep opnfv/functest | awk '{print $2}'))
for tag in "${image_tags[@]}"; do
echo "Removing docker image opnfv/functest:$tag..."
- docker rmi opnfv/functest:$tag
+ docker rmi opnfv/functest:$tag >$redirect
done
fi
diff --git a/jjb/functest/functest-project-jobs.yml b/jjb/functest/functest-project-jobs.yml
index e2a5c1afd..93a359b8c 100644
--- a/jjb/functest/functest-project-jobs.yml
+++ b/jjb/functest/functest-project-jobs.yml
@@ -10,14 +10,13 @@
jobs:
- 'functest-verify-{stream}'
-# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
gs-pathname: ''
-# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
name: 'functest-verify-{stream}'
diff --git a/jjb/genesis/genesis-foreman.yml b/jjb/genesis/genesis-foreman.yml
index 9c212ace1..808dd3b22 100644
--- a/jjb/genesis/genesis-foreman.yml
+++ b/jjb/genesis/genesis-foreman.yml
@@ -9,15 +9,15 @@
installer: 'foreman'
- jobs:
- - 'genesis-foreman-verify-build-{stream}'
- - 'genesis-foreman-merge-{stream}'
- - 'genesis-foreman-daily-{stream}'
- - 'genesis-foreman-build-{stream}'
- - 'genesis-foreman-deploy-{stream}'
- - 'genesis-foreman-lab-reconfig-{stream}'
- - 'genesis-foreman-deploy-runner-{stream}'
- - 'genesis-foreman-verify-deploy-virtual-{stream}'
+# jobs:
+# - 'genesis-foreman-verify-build-{stream}'
+# - 'genesis-foreman-merge-{stream}'
+# - 'genesis-foreman-daily-{stream}'
+# - 'genesis-foreman-build-{stream}'
+# - 'genesis-foreman-deploy-{stream}'
+# - 'genesis-foreman-lab-reconfig-{stream}'
+# - 'genesis-foreman-deploy-runner-{stream}'
+# - 'genesis-foreman-verify-deploy-virtual-{stream}'
# stream: branch with - in place of / (eg. stable-arno)
# branch: branch (eg. stable/arno)
diff --git a/jjb/genesis/genesis-fuel-att.yml b/jjb/genesis/genesis-fuel-att.yml
index 8c03ebb31..0202c2276 100644
--- a/jjb/genesis/genesis-fuel-att.yml
+++ b/jjb/genesis/genesis-fuel-att.yml
@@ -3,8 +3,8 @@
name: genesis-att
installer:
- fuel
- jobs:
- - 'genesis-{installer}-daily-att-{stream}'
+# jobs:
+# - 'genesis-{installer}-daily-att-{stream}'
# stream: branch with - in place of / (eg. stable-helium)
# branch: branch (eg. stable/helium)
@@ -59,7 +59,8 @@
refspec: $GERRIT_REFSPEC
triggers:
- - pollscm: '@midnight'
+ - pollscm:
+ cron: '@midnight'
builders:
- '{installer}-daily-master-att'
diff --git a/jjb/genesis/genesis-fuel-dell.yml b/jjb/genesis/genesis-fuel-dell.yml
index 6bebb5d6f..4818b5c53 100644
--- a/jjb/genesis/genesis-fuel-dell.yml
+++ b/jjb/genesis/genesis-fuel-dell.yml
@@ -3,8 +3,8 @@
name: genesis-dell
installer:
- fuel
- jobs:
- - 'genesis-{installer}-daily-dell-{stream}'
+# jobs:
+# - 'genesis-{installer}-daily-dell-{stream}'
# stream: branch with - in place of / (eg. stable-helium)
# branch: branch (eg. stable/helium)
@@ -59,7 +59,8 @@
refspec: $GERRIT_REFSPEC
triggers:
- - pollscm: '@midnight'
+ - pollscm:
+ cron: '@midnight'
builders:
- '{installer}-daily-master-dell'
diff --git a/jjb/genesis/genesis-fuel.yml b/jjb/genesis/genesis-fuel.yml
index ea628a626..cc134fb10 100644
--- a/jjb/genesis/genesis-fuel.yml
+++ b/jjb/genesis/genesis-fuel.yml
@@ -9,15 +9,15 @@
installer: 'fuel'
- jobs:
- - 'genesis-fuel-verify-build-{stream}'
- - 'genesis-fuel-merge-{stream}'
- - 'genesis-fuel-daily-{stream}'
- - 'genesis-fuel-build-{stream}'
- - 'genesis-fuel-deploy-{stream}'
- - 'genesis-fuel-deploy-runner-{stream}'
- - 'genesis-fuel-lab-reconfig-{stream}'
- - 'genesis-fuel-verify-deploy-virtual-{stream}'
+# jobs:
+# - 'genesis-fuel-verify-build-{stream}'
+# - 'genesis-fuel-merge-{stream}'
+# - 'genesis-fuel-daily-{stream}'
+# - 'genesis-fuel-build-{stream}'
+# - 'genesis-fuel-deploy-{stream}'
+# - 'genesis-fuel-deploy-runner-{stream}'
+# - 'genesis-fuel-lab-reconfig-{stream}'
+# - 'genesis-fuel-verify-deploy-virtual-{stream}'
# stream: branch with - in place of / (eg. stable-arno)
# branch: branch (eg. stable/arno)
diff --git a/jjb/genesis/genesis-juju.yml b/jjb/genesis/genesis-juju.yml
index 3d102d282..14f2e12af 100644
--- a/jjb/genesis/genesis-juju.yml
+++ b/jjb/genesis/genesis-juju.yml
@@ -5,10 +5,10 @@
installer:
- juju
- jobs:
- - 'genesis-juju-verify'
- - 'genesis-juju-merge'
- - 'genesis-juju-daily-{stream}'
+# jobs:
+# - 'genesis-juju-verify'
+# - 'genesis-juju-merge'
+# - 'genesis-juju-daily-{stream}'
# stream: branch with - in place of / (eg. stable-helium)
# branch: branch (eg. stable/helium)
@@ -165,7 +165,8 @@
refspec: $GERRIT_REFSPEC
triggers:
- - pollscm: '@midnight'
+ - pollscm:
+ cron: '@midnight'
builders:
- 'juju-daily-master'
diff --git a/jjb/joid/joid-ci-jobs.yml b/jjb/joid/joid-ci-jobs.yml
index 05064de1f..12a49f314 100644
--- a/jjb/joid/joid-ci-jobs.yml
+++ b/jjb/joid/joid-ci-jobs.yml
@@ -35,41 +35,58 @@
<<: *master
- orange-pod2:
<<: *master
+ - juniper-pod1:
+ <<: *master
#--------------------------------
-# please check the triggers before enabling any of the controllers!!!
- sdn-controller:
- - 'odl':
- disabled: false
-# commented out below controllers to get Arno scenario settled first
-# - 'nosdn':
-# disabled: true
- - 'onos':
- disabled: false
-# - 'opencontrail':
-# disabled: true
+# new scenario descriptions
+ scenario:
+ - 'os-nosdn-nofeature-noha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-nosdn-nofeature-ha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-odl_l2-nofeature-ha':
+ auto-trigger-name: 'joid-{scenario}-{pod}-trigger'
+ - 'os-odl_l2-nofeature-noha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-onos-nofeature-ha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-onos-nofeature-noha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-ocl-nofeature-ha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-ocl-nofeature-noha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
jobs:
- - 'joid-{sdn-controller}-{pod}-daily-{stream}'
+ - 'joid-{scenario}-{pod}-daily-{stream}'
- 'joid-deploy-{pod}-daily-{stream}'
########################
# job templates
########################
- job-template:
- name: 'joid-{sdn-controller}-{pod}-daily-{stream}'
+ name: 'joid-{scenario}-{pod}-daily-{stream}'
project-type: multijob
- disabled: '{obj:disabled}'
-
concurrent: false
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'joid-os-.*?-{pod}-daily-{stream}'
+
wrappers:
- build-name:
- name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
triggers:
- - 'joid-{pod}-{sdn-controller}-trigger'
+ - '{auto-trigger-name}'
parameters:
- project-parameter:
@@ -77,17 +94,8 @@
- '{installer}-defaults'
- '{pod}-defaults'
- string:
- name: SDN_CONTROLLER
- default: '{sdn-controller}'
- - string:
name: DEPLOY_SCENARIO
- default: 'none'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
+ default: '{scenario}'
builders:
- multijob:
@@ -96,7 +104,6 @@
projects:
- name: 'joid-deploy-{pod}-daily-{stream}'
current-parameters: true
- git-revision: true
kill-phase-on: FAILURE
- multijob:
name: functest
@@ -116,13 +123,21 @@
- job-template:
name: 'joid-deploy-{pod}-daily-{stream}'
- disabled: false
-
concurrent: false
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'joid-deploy-{pod}-daily-{stream}'
+
wrappers:
- build-name:
- name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- timeout:
timeout: 180
fail: true
@@ -162,26 +177,18 @@
# trigger macros
########################
- trigger:
- name: 'joid-intel-pod5-odl-trigger'
+ name: 'joid-os-odl_l2-nofeature-ha-intel-pod5-trigger'
triggers:
- timed: '0 2 * * *'
- trigger:
- name: 'joid-intel-pod6-odl-trigger'
+ name: 'joid-os-odl_l2-nofeature-ha-intel-pod6-trigger'
triggers:
- timed: '0 2 * * *'
- trigger:
- name: 'joid-orange-pod2-odl-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-intel-pod5-onos-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-intel-pod6-onos-trigger'
+ name: 'joid-os-odl_l2-nofeature-ha-orange-pod2-trigger'
triggers:
- timed: ''
- trigger:
- name: 'joid-orange-pod2-onos-trigger'
+ name: 'joid-os-odl_l2-nofeature-ha-juniper-pod1-trigger'
triggers:
- timed: ''
diff --git a/jjb/joid/joid-deploy.sh b/jjb/joid/joid-deploy.sh
index e23afac1c..5ed33dec2 100644
--- a/jjb/joid/joid-deploy.sh
+++ b/jjb/joid/joid-deploy.sh
@@ -42,6 +42,8 @@ fi
case $NODE_NAME in
orange-fr-pod2)
POD=orange-pod2 ;;
+ juniper-us-test-1)
+ POD=juniper-pod1 ;;
*)
POD=$NODE_NAME ;;
esac
@@ -69,11 +71,52 @@ fi
## Configure Joid deployment
##
-# Get juju deployer file
-if [ "$HA_MODE" == 'nonha' ]; then
- SRCBUNDLE=$WORKSPACE/ci/$SDN_CONTROLLER/juju-deployer/ovs-$SDN_CONTROLLER.yaml
+# Based on scenario naming we can get joid options
+# naming convention:
+# os-<controller>-<nfvfeature>-<mode>[-<extrastuff>]
+# With parameters:
+# controller=(nosdn|odl_l3|odl_l2|onos|ocl)
+# No odl_l3 today
+# nfvfeature=(kvm|ovs|dpdk|nofeature)
+# '_' list separated.
+# mode=(ha|noha)
+# extrastuff=(none)
+# Optional field - Not used today
+
+IFS='-' read -r -a DEPLOY_OPTIONS <<< "${DEPLOY_SCENARIO}--"
+#last -- need to avoid nounset error
+
+SDN_CONTROLLER=${DEPLOY_OPTIONS[1]}
+NFV_FEATURES=${DEPLOY_OPTIONS[2]}
+HA_MODE=${DEPLOY_OPTIONS[3]}
+EXTRA=${DEPLOY_OPTIONS[4]}
+
+# Get the juju config path with those options, later we will directly use
+# scenario name
+case $SDN_CONTROLLER in
+ odl_l2)
+ SRCBUNDLE="ovs-odl"
+ SDN_CONTROLLER="odl"
+ ;;
+ onos)
+ SRCBUNDLE="onos"
+ ;;
+ ocl)
+ SRCBUNDLE="contrail"
+ SDN_CONTROLLER="opencontrail"
+ ;;
+ *)
+ SRCBUNDLE="ovs"
+ echo "${SDN_CONTROLLER} not in SDN controllers list, using 'nosdn' setting"
+ SDN_CONTROLLER="nosdn"
+ ;;
+ esac
+SRCBUNDLE="${WORKSPACE}/ci/${SDN_CONTROLLER}/juju-deployer/${SRCBUNDLE}"
+if [ "$HA_MODE" == 'noha' ]; then
+ SRCBUNDLE="${SRCBUNDLE}.yaml"
+ HA_MODE == 'nonha'
else
- SRCBUNDLE=$WORKSPACE/ci/$SDN_CONTROLLER/juju-deployer/ovs-$SDN_CONTROLLER-$HA_MODE.yaml
+ SRCBUNDLE="${SRCBUNDLE}-${HA_MODE}.yaml"
fi
# Modify files
diff --git a/jjb/kvmfornfv/kvmfornfv.yml b/jjb/kvmfornfv/kvmfornfv.yml
index 368dab54e..34793adf6 100644
--- a/jjb/kvmfornfv/kvmfornfv.yml
+++ b/jjb/kvmfornfv/kvmfornfv.yml
@@ -57,7 +57,7 @@
builders:
- shell:
- !include-raw ./kvmfornfv-build.sh
+ !include-raw: ./kvmfornfv-build.sh
- job-template:
name: 'kvmfornfv-merge-{stream}'
@@ -95,4 +95,4 @@
builders:
- shell:
- !include-raw ./kvmfornfv-build.sh
+ !include-raw: ./kvmfornfv-build.sh
diff --git a/jjb/opnfv/installer-params.yml b/jjb/opnfv/installer-params.yml
index 4980889fd..0ed486524 100644
--- a/jjb/opnfv/installer-params.yml
+++ b/jjb/opnfv/installer-params.yml
@@ -10,16 +10,12 @@
default: apex
description: 'Installer used for deploying OPNFV on this POD'
- string:
- name: SDN_CONTROLLER
- default: 'nosdn'
- description: 'SDN Controller to use'
- - string:
name: DEPLOY_SCENARIO
default: 'none'
description: 'Scenario to deploy and test'
- string:
name: EXTERNAL_NETWORK
- default: 'net04_ext'
+ default: 'external'
description: 'external network for test'
- parameter:
@@ -34,10 +30,6 @@
default: compass
description: 'Installer used for deploying OPNFV on this POD'
- string:
- name: SDN_CONTROLLER
- default: 'nosdn'
- description: 'SDN Controller to use'
- - string:
name: DEPLOY_SCENARIO
default: 'none'
description: 'Scenario to deploy and test'
@@ -58,10 +50,6 @@
default: fuel
description: 'Installer used for deploying OPNFV on this POD'
- string:
- name: SDN_CONTROLLER
- default: 'nosdn'
- description: 'SDN Controller to use'
- - string:
name: DEPLOY_SCENARIO
default: 'none'
description: 'Scenario to deploy and test'
@@ -82,18 +70,10 @@
default: joid
description: 'Installer used for deploying OPNFV on this POD'
- string:
- name: SDN_CONTROLLER
- default: 'nosdn'
- description: 'SDN Controller to use'
- - string:
name: DEPLOY_SCENARIO
default: 'none'
description: 'Scenario to deploy and test'
- string:
- name: HA_MODE
- default: 'ha'
- description: 'High Availability mode (ha|nonha)'
- - string:
name: OS_RELEASE
default: 'liberty'
description: 'OpenStack release (kilo|liberty)'
diff --git a/jjb/opnfv/opnfv-docker.sh b/jjb/opnfv/opnfv-docker.sh
index 81bab33bb..108485d0b 100644
--- a/jjb/opnfv/opnfv-docker.sh
+++ b/jjb/opnfv/opnfv-docker.sh
@@ -12,12 +12,12 @@ echo
# Remove previous running containers if exist
if [[ ! -z $(docker ps -a | grep $DOCKER_REPO_NAME) ]]; then
echo "Removing existing $DOCKER_REPO_NAME containers..."
- #docker ps | grep $DOCKER_REPO_NAME | awk '{{print $1}}' | xargs docker stop
- docker ps -a | grep $DOCKER_REPO_NAME | awk '{{print $1}}' | xargs docker rm -f
+ #docker ps | grep $DOCKER_REPO_NAME | awk '{print $1}' | xargs docker stop
+ docker ps -a | grep $DOCKER_REPO_NAME | awk '{print $1}' | xargs docker rm -f
t=60
# Wait max 60 sec for containers to be removed
- while [ $t -gt 0 ]; do
- ids=$(docker ps | grep $DOCKER_REPO_NAME |awk '{{print $1}}')
+ while [[ $t -gt 0 ]]; do
+ ids=$(docker ps | grep $DOCKER_REPO_NAME |awk '{print $1}')
if [[ -z $ids ]]; then
break
fi
@@ -31,8 +31,8 @@ fi
if [[ ! -z $(docker images | grep $DOCKER_REPO_NAME) ]]; then
echo "Docker images to remove:"
docker images | head -1 && docker images | grep $DOCKER_REPO_NAME
- image_tags=($(docker images | grep $DOCKER_REPO_NAME | awk '{{print $2}}'))
- for tag in "${{image_tags[@]}}"; do
+ image_tags=($(docker images | grep $DOCKER_REPO_NAME | awk '{print $2}'))
+ for tag in "${image_tags[@]}"; do
echo "Removing docker image $DOCKER_REPO_NAME:$tag..."
docker rmi -f $DOCKER_REPO_NAME:$tag
done
@@ -67,20 +67,20 @@ else
exit 1
fi
-
# Get tag version
-branch=$(git rev-parse --abbrev-ref HEAD)
-if [ $branch == "master" ]; then
+branch="${GIT_BRANCH##origin/}"
+echo "Current branch: $branch"
+
+if [[ "$branch" == "master" ]]; then
DOCKER_TAG="master"
else
- cd $WORKSPACE
- git clone https://gerrit.opnfv.org/gerrit/releng
+ git clone https://gerrit.opnfv.org/gerrit/releng $WORKSPACE/releng
DOCKER_TAG=$($WORKSPACE/releng/utils/calculate_version.sh -t docker \
-n $DOCKER_REPO_NAME)
ret_val=$?
- if [ $ret_val -ne 0 ]; then
+ if [[ $ret_val -ne 0 ]]; then
echo "Error retrieving the version tag."
exit 1
fi
@@ -91,7 +91,7 @@ echo "Tag version to be build and pushed: $DOCKER_TAG"
# Start the build
echo "Building docker image: $DOCKER_REPO_NAME:$DOCKER_TAG..."
-docker build -t $DOCKER_REPO_NAME:$DOCKER_TAG .
+docker build --no-cache -t $DOCKER_REPO_NAME:$DOCKER_TAG .
echo "Creating tag 'latest'..."
docker tag $DOCKER_REPO_NAME:$DOCKER_TAG $DOCKER_REPO_NAME:latest
diff --git a/jjb/opnfv/opnfv-docker.yml b/jjb/opnfv/opnfv-docker.yml
index 13063e39b..c16e33eda 100644
--- a/jjb/opnfv/opnfv-docker.yml
+++ b/jjb/opnfv/opnfv-docker.yml
@@ -66,7 +66,8 @@
builders:
- shell:
- !include-raw ./opnfv-docker.sh
+ !include-raw-escape: ./opnfv-docker.sh
triggers:
- - pollscm: "*/30 * * * *"
+ - pollscm:
+ cron: "*/30 * * * *"
diff --git a/jjb/opnfv/slave-params.yml b/jjb/opnfv/slave-params.yml
index 734343d88..f173bd928 100644
--- a/jjb/opnfv/slave-params.yml
+++ b/jjb/opnfv/slave-params.yml
@@ -150,6 +150,10 @@
name: CEPH_DISKS
default: /srv
description: "Disks to use by ceph (comma separated list)"
+ - string:
+ name: EXTERNAL_NETWORK
+ default: ext-net;flat;10.2.65.5;10.2.65.250;10.2.65.1;10.2.65.0/24
+ description: "External network to create for pod5 (name;type;first ip;last ip; gateway;network)"
- parameter:
name: 'intel-pod6-defaults'
@@ -173,6 +177,10 @@
name: CEPH_DISKS
default: /srv
description: "Disks to use by ceph (comma separated list)"
+ - string:
+ name: EXTERNAL_NETWORK
+ default: ext-net;flat;10.2.66.5;10.2.66.250;10.2.66.1;10.2.66.0/24
+ description: "External network to create for pod6 (name;type;first ip;last ip; gateway;network)"
- parameter:
name: 'intel-pod8-defaults'
@@ -349,6 +357,29 @@
description: 'Git URL to use on this Jenkins Slave'
- parameter:
+ name: 'juniper-pod1-defaults'
+ parameters:
+ - node:
+ name: SLAVE_NAME
+ description: 'Slave name on Jenkins'
+ allowed-slaves:
+ - juniper-us-test-1
+ default-slaves:
+ - juniper-us-test-1
+ - string:
+ name: INSTALLER_VERSION
+ default: latest
+ description: 'Version of the installer to deploy'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: CEPH_DISKS
+ default: /srv
+ description: "Disks to use by ceph (comma separated list)"
+
+- parameter:
name: 'orange-pod2-defaults'
parameters:
- node:
diff --git a/jjb/qtip/qtip.yml b/jjb/qtip/qtip.yml
index c442c6cd9..9c627b8af 100644
--- a/jjb/qtip/qtip.yml
+++ b/jjb/qtip/qtip.yml
@@ -137,6 +137,9 @@
builders:
- shell: |
#!/bin/bash
+ echo "The container id is:"
+ container_id=$(docker ps | grep 'opnfv/qtip:latest' | awk '{print $1}' | head -1)
+ echo $container_id
QTIP_REPO=/home/opnfv/repos/qtip
docker exec -t ${container_id} $QTIP_REPO/docker/run_qtip.sh
@@ -151,9 +154,9 @@
# 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}')
+ 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}')
+ all_containers=$(docker ps -a | grep opnfv/qtip | awk '{print $1}')
docker rm ${all_containers}
fi
diff --git a/jjb/releng-jobs.yaml b/jjb/releng-jobs.yaml
index 17d64d04a..0b36f0775 100644
--- a/jjb/releng-jobs.yaml
+++ b/jjb/releng-jobs.yaml
@@ -49,7 +49,11 @@
builders:
- shell:
- !include-raw verify-releng
+ !include-raw: verify-releng
+
+ publishers:
+ - archive-artifacts:
+ artifacts: 'job_output/*'
- job-template:
name: 'builder-merge'
diff --git a/jjb/releng-macros.yaml b/jjb/releng-macros.yaml
index 1f812f038..5d9570705 100644
--- a/jjb/releng-macros.yaml
+++ b/jjb/releng-macros.yaml
@@ -57,6 +57,16 @@
fail: true
- trigger:
+ name: 'brahmaputra-trigger-daily-disabled'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'brahmaputra-trigger-daily-enabled'
+ triggers:
+ - timed: '0 2 * * *'
+
+- trigger:
name: gerrit-trigger-patch-submitted
triggers:
- gerrit:
diff --git a/jjb/verify-releng b/jjb/verify-releng
index 807df1b11..290b4c5a5 100755
--- a/jjb/verify-releng
+++ b/jjb/verify-releng
@@ -10,4 +10,4 @@ for x in $(find . -name *\.yml); do
done
source /opt/virtualenv/jenkins-job-builder/bin/activate
-jenkins-jobs test jjb/
+jenkins-jobs test -o job_output jjb/
diff --git a/jjb/vswitchperf/vswitchperf.yml b/jjb/vswitchperf/vswitchperf.yml
index 4b1147d36..fe6ea49c6 100644
--- a/jjb/vswitchperf/vswitchperf.yml
+++ b/jjb/vswitchperf/vswitchperf.yml
@@ -33,7 +33,8 @@
branch: '{branch}'
triggers:
- - pollscm: '@midnight'
+ - pollscm:
+ cron: '@midnight'
builders:
- shell: |
diff --git a/jjb/yardstick/yardstick-ci-jobs.yml b/jjb/yardstick/yardstick-ci-jobs.yml
index 87485c44f..56582c90a 100644
--- a/jjb/yardstick/yardstick-ci-jobs.yml
+++ b/jjb/yardstick/yardstick-ci-jobs.yml
@@ -23,6 +23,9 @@
# brahmaputra
#--------------------------------
pod:
+ - opnfv-jump-1:
+ installer: apex
+ <<: *brahmaputra
- opnfv-jump-2:
installer: fuel
<<: *brahmaputra
@@ -53,6 +56,9 @@
- orange-pod2:
installer: joid
<<: *master
+ - opnfv-jump-1:
+ installer: apex
+ <<: *master
#--------------------------------
loop:
- daily
@@ -70,7 +76,7 @@
wrappers:
- build-name:
- name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
parameters:
- project-parameter:
@@ -82,6 +88,10 @@
name: YARDSTICK_SUITE_NAME
default: opnfv_${{NODE_NAME}}_{loop}.yaml
description: 'Path to test suite'
+ - string:
+ name: CI_DEBUG
+ default: 'false'
+ description: "Show debut output information"
scm:
- git-scm:
@@ -91,7 +101,7 @@
builders:
- 'yardstick-cleanup'
- - 'yardstick-fetch-os-creds'
+ #- 'yardstick-fetch-os-creds'
- 'yardstick-daily'
publishers:
@@ -106,25 +116,37 @@
builders:
- shell: |
#!/bin/bash
- set -o errexit
+ 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 instack | 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"
+ 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
+ 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
- echo "Yardstick: Run benchmark test suites ..."
+ opts="--privileged=true --rm"
+ envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} -e NODE_NAME=${NODE_NAME} -e EXTERNAL_NETWORK=${EXTERNAL_NETWORK} -e YARDSTICK_BRANCH=${GIT_BRANCH##origin/}"
# Pull the latest image
- docker pull opnfv/yardstick
-
- docker run \
- --privileged=true \
- --rm \
- -t \
- -e "INSTALLER_TYPE=${INSTALLER_TYPE}" \
- -e "INSTALLER_IP=${INSTALLER_IP}" \
- -e "POD_NAME=${NODE_NAME}" \
- -e "EXTERNAL_NETWORK=${EXTERNAL_NETWORK}" \
- -e "YARDSTICK_BRANCH=${GERRIT_BRANCH}" \
- opnfv/yardstick \
- run_tests.sh $YARDSTICK_DB_BACKEND \
- $YARDSTICK_SUITE_NAME
+ docker pull opnfv/yardstick >$redirect
+
+ # Run docker
+ cmd="sudo docker run ${opts} ${envs} ${labconfig} ${sshkey} opnfv/yardstick run_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SUITE_NAME}"
+ echo "Yardstick: Running docker cmd: ${cmd}"
+ ${cmd}
echo "Yardstick: done!"
@@ -132,21 +154,21 @@
name: yardstick-fetch-os-creds
builders:
- shell:
- !include-raw ../../utils/fetch_os_creds.sh
+ !include-raw: ../../utils/fetch_os_creds.sh
- builder:
name: yardstick-cleanup
builders:
- shell: |
#!/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/yardstick) ]]; then
echo "Removing existing opnfv/yardstick containers..."
- docker ps | grep opnfv/yardstick | awk '{print $1}' | xargs docker stop
- docker ps -a | grep opnfv/yardstick | awk '{print $1}' | xargs docker rm
+ docker ps -a | grep opnfv/yardstick | awk '{print $1}' | xargs docker rm -f >$redirect
+
fi
# Remove existing images if exist
@@ -156,7 +178,8 @@
image_tags=($(docker images | grep opnfv/yardstick | awk '{print $2}'))
for tag in "${image_tags[@]}"; do
echo "Removing docker image opnfv/yardstick:$tag..."
- docker rmi opnfv/yardstick:$tag
+ docker rmi opnfv/yardstick:$tag >$redirect
+
done
fi
########################
@@ -191,7 +214,7 @@
parameters:
- string:
name: YARDSTICK_DB_BACKEND
- default: ''
+ default: '-i 10.118.36.90:8086'
description: 'Arguments to use in order to choose the backend DB'
- parameter:
@@ -199,15 +222,21 @@
parameters:
- string:
name: YARDSTICK_DB_BACKEND
- default: ''
+ default: '-i 10.118.36.90:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+- parameter:
+ name: 'yardstick-params-opnfv-jump-1'
+ parameters:
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-r 213.77.62.197/results'
description: 'Arguments to use in order to choose the backend DB'
-
- parameter:
name: 'yardstick-params-opnfv-jump-2'
parameters:
- string:
name: YARDSTICK_DB_BACKEND
- default: '-r 213.77.62.197'
+ default: '-r 213.77.62.197/results'
description: 'Arguments to use in order to choose the backend DB'
- parameter: