summaryrefslogtreecommitdiffstats
path: root/jjb
diff options
context:
space:
mode:
Diffstat (limited to 'jjb')
-rw-r--r--jjb/armband/armband-ci-jobs.yml18
-rw-r--r--jjb/bottlenecks/bottlenecks-ci-jobs.yml14
-rw-r--r--jjb/compass4nfv/compass-ci-jobs.yml51
-rwxr-xr-xjjb/dovetail/dovetail-run.sh3
-rwxr-xr-xjjb/fuel/fuel-basic-exp.sh18
-rwxr-xr-xjjb/fuel/fuel-build-exp.sh10
-rwxr-xr-xjjb/fuel/fuel-deploy-exp.sh10
-rwxr-xr-xjjb/fuel/fuel-deploy.sh53
-rwxr-xr-xjjb/fuel/fuel-plugin-build.sh10
-rwxr-xr-xjjb/fuel/fuel-plugin-test.sh10
-rw-r--r--jjb/fuel/fuel-plugin-verify-jobs.yml82
-rwxr-xr-xjjb/fuel/fuel-smoke-test-exp.sh10
-rw-r--r--jjb/fuel/fuel-verify-jobs-experimental.yml264
-rw-r--r--jjb/functest/functest-ci-jobs.yml4
-rw-r--r--jjb/infra/bifrost-verify-jobs.yml2
-rwxr-xr-xjjb/infra/bifrost-verify.sh4
-rw-r--r--jjb/opnfv/opnfv-docker.sh19
-rw-r--r--jjb/opnfv/opnfv-utils.yml40
-rw-r--r--jjb/opnfv/slave-params.yml14
-rw-r--r--jjb/releng/releng-ci-jobs.yml50
-rw-r--r--jjb/yardstick/yardstick-ci-jobs.yml13
21 files changed, 455 insertions, 244 deletions
diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml
index f6b48656a..024681841 100644
--- a/jjb/armband/armband-ci-jobs.yml
+++ b/jjb/armband/armband-ci-jobs.yml
@@ -228,7 +228,7 @@
- trigger:
name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 0 * * 1'
+ - timed: '0 0 * * 1,6'
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger'
triggers:
@@ -236,7 +236,7 @@
- trigger:
name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 0 * * 3'
+ - timed: '0 0 * * 3,7'
- trigger:
name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-master-trigger'
triggers:
@@ -251,23 +251,23 @@
- trigger:
name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-colorado-trigger'
triggers:
- - timed: '0 4 * * *'
+ - timed: '0 8 * * 1,3,5,7'
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-colorado-trigger'
triggers:
- - timed: '0 8 * * *'
+ - timed: '0 16 * * 2,7'
- trigger:
- name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-colorado-trigger'
+ name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-colorado-trigger'
triggers:
- - timed: '0 12 * * *'
+ - timed: '0 8 * * 2,4,6'
- trigger:
- name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-colorado-trigger'
+ name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-colorado-trigger'
triggers:
- - timed: '0 16 * * *'
+ - timed: '0 16 * * 1,4,6'
- trigger:
name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-colorado-trigger'
triggers:
- - timed: '0 20 * * *'
+ - timed: '0 16 * * 3,5'
#---------------------------------------------------------------
# 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 4bc56ab1b..7f2e6bf8a 100644
--- a/jjb/bottlenecks/bottlenecks-ci-jobs.yml
+++ b/jjb/bottlenecks/bottlenecks-ci-jobs.yml
@@ -68,12 +68,6 @@
# installer: joid
# auto-trigger-name: 'daily-trigger-disabled'
# <<: *master
- - huawei-pod2:
- slave-label: '{pod}'
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
-
#--------------------------------------------
suite:
- 'rubbos'
@@ -225,14 +219,6 @@
description: 'Arguments to use in order to choose the backend DB'
- parameter:
- name: 'bottlenecks-params-huawei-pod2'
- parameters:
- - string:
- name: BOTTLENECKS_DB_TARGET
- default: '104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
-
-- parameter:
name: 'bottlenecks-params-orange-pod2'
parameters:
- string:
diff --git a/jjb/compass4nfv/compass-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yml
index 16c6695c2..da882cdfe 100644
--- a/jjb/compass4nfv/compass-ci-jobs.yml
+++ b/jjb/compass4nfv/compass-ci-jobs.yml
@@ -39,10 +39,6 @@
#--------------------------------
# master
#--------------------------------
- - huawei-pod2:
- slave-label: '{pod}'
- os-version: 'trusty'
- <<: *colorado
- huawei-pod5:
slave-label: '{pod}'
os-version: 'centos7'
@@ -103,6 +99,7 @@
use-build-blocker: true
blocking-jobs:
- 'compass-os-.*?-{pod}-daily-.*?'
+ - 'compass-os-.*?-baremetal-daily-.*?'
- 'compass-verify-[^-]*'
block-level: 'NODE'
@@ -159,6 +156,19 @@
build-step-failure-threshold: 'never'
failure-threshold: 'never'
unstable-threshold: 'FAILURE'
+ #dovetail only master by now, not sync with A/B/C branches
+ #here the stream means the SUT stream, dovetail stream is defined in its own job
+ - trigger-builds:
+ - project: 'dovetail-compass-{pod}-basic-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
- job-template:
name: 'compass-deploy-{pod}-daily-{stream}'
@@ -282,39 +292,6 @@
- timed: ''
- trigger:
- name: 'compass-os-nosdn-nofeature-ha-huawei-pod2-colorado-trigger'
- triggers:
- - timed: '0 19 * * *'
-- trigger:
- name: 'compass-os-odl_l2-nofeature-ha-huawei-pod2-colorado-trigger'
- triggers:
- - timed: '0 23 * * *'
-- trigger:
- name: 'compass-os-odl_l3-nofeature-ha-huawei-pod2-colorado-trigger'
- triggers:
- - timed: '0 15 * * *'
-- trigger:
- name: 'compass-os-onos-nofeature-ha-huawei-pod2-colorado-trigger'
- triggers:
- - timed: '0 11 * * *'
-- trigger:
- name: 'compass-os-ocl-nofeature-ha-huawei-pod2-colorado-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-onos-sfc-ha-huawei-pod2-colorado-trigger'
- triggers:
- - timed: '0 7 * * *'
-- trigger:
- name: 'compass-os-odl_l2-moon-ha-huawei-pod2-colorado-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-kvm-ha-huawei-pod2-colorado-trigger'
- triggers:
- - timed: ''
-
-- trigger:
name: 'compass-os-nosdn-nofeature-ha-baremetal-master-trigger'
triggers:
- timed: '0 2 * * *'
diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh
index 6453425ce..3f7a47bee 100755
--- a/jjb/dovetail/dovetail-run.sh
+++ b/jjb/dovetail/dovetail-run.sh
@@ -48,5 +48,8 @@ sudo docker run ${opts} ${envs} ${labconfig} ${sshkey} opnfv/dovetail:${DOCKER_T
echo "Dovetail: store results..."
sudo cp -r /home/opnfv/dovetail/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
echo "Dovetail: done!"
diff --git a/jjb/fuel/fuel-basic-exp.sh b/jjb/fuel/fuel-basic-exp.sh
new file mode 100755
index 000000000..a70a0c765
--- /dev/null
+++ b/jjb/fuel/fuel-basic-exp.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+set -o nounset
+
+echo "-----------------------------------------------------------------------"
+echo $GERRIT_CHANGE_COMMIT_MESSAGE
+echo "-----------------------------------------------------------------------"
+
+# proposal for specifying the scenario name in commit message
+# currently only 1 scenario name is supported but depending on
+# the need, it can be expanded, supporting multiple scenarios
+# using comma separated list or something
+SCENARIO_NAME_PATTERN="(?<=@scenario:).*?(?=@)"
+SCENARIO_NAME=(echo $GERRIT_CHANGE_COMMIT_MESSAGE | grep -oP "$SCENARIO_NAME_PATTERN")
+if [[ $? -ne 0 ]]; then
+ echo "The patch verification will be done only with build!"
+else
+ echo "Will run full verification; build, deploy, and smoke test using scenario $SCENARIO_NAME"
+fi
diff --git a/jjb/fuel/fuel-build-exp.sh b/jjb/fuel/fuel-build-exp.sh
new file mode 100755
index 000000000..f7f613dc0
--- /dev/null
+++ b/jjb/fuel/fuel-build-exp.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+if [[ "$JOB_NAME" =~ (verify|merge|daily|weekly) ]]; then
+ JOB_TYPE=${BASH_REMATCH[0]}
+else
+ echo "Unable to determine job type!"
+ exit 1
+fi
+
+echo "Not activated!"
diff --git a/jjb/fuel/fuel-deploy-exp.sh b/jjb/fuel/fuel-deploy-exp.sh
new file mode 100755
index 000000000..f7f613dc0
--- /dev/null
+++ b/jjb/fuel/fuel-deploy-exp.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+if [[ "$JOB_NAME" =~ (verify|merge|daily|weekly) ]]; then
+ JOB_TYPE=${BASH_REMATCH[0]}
+else
+ echo "Unable to determine job type!"
+ exit 1
+fi
+
+echo "Not activated!"
diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh
index 2104d9090..ef47ff0e3 100755
--- a/jjb/fuel/fuel-deploy.sh
+++ b/jjb/fuel/fuel-deploy.sh
@@ -104,58 +104,5 @@ if [[ $exit_code -ne 0 ]]; then
exit $exit_code
else
echo "Deployment is successful!"
-fi
-
-# Quick and dirty fix for SFC scenatio - will be fixed properly post-release
-if [[ ! "$DEPLOY_SCENARIO" =~ "os-odl_l2-sfc" ]]; then
exit 0
fi
-
-echo
-echo "SFC Scenario is deployed"
-echo
-
-# The stuff below is here temporarily and will be fixed once the release is out
-# The stuff below is here temporarily and will be fixed once the release is out
-export FUEL_MASTER_IP=10.20.0.2
-export TACKER_SCRIPT_URL="https://git.opnfv.org/cgit/fuel/plain/prototypes/sfc_tacker/poc.tacker-up.sh?h=${GIT_BRANCH#*/}"
-export CONTROLLER_NODE_IP=$(sshpass -pr00tme /usr/bin/ssh -o UserKnownHostsFile=/dev/null \
- -o StrictHostKeyChecking=no root@$FUEL_MASTER_IP 'fuel node list' | \
- grep controller | head -1 | cut -d'|' -f5)
-
-# we can't do much if we do not have the controller IP
-if [[ ! "$CONTROLLER_NODE_IP" =~ "10.20.0" ]]; then
- echo "Unable to retrieve controller IP"
- exit 1
-fi
-
-echo
-echo "Copying and executing poc.tacker-up.sh script on controller node $CONTROLLER_NODE_IP"
-echo
-
-expect << END
-spawn /usr/bin/ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root $::env(FUEL_MASTER_IP)
-expect {
- -re ".*sword.*" {
- exp_send "r00tme\r"
- }
-}
-expect "# "
-send "/usr/bin/ssh -l root $::env(CONTROLLER_NODE_IP)\r"
-expect "# "
-send "PS1=\"tacker_poc> \"\r"
-expect -re {tacker_poc> $}
-send "sudo apt-get install -y git\r"
-expect -re {tacker_poc> $}
-sleep 10
-send "/bin/mkdir -p /root/sfc-poc && cd /root/sfc-poc\r"
-expect -re {tacker_poc> $}
-send "git clone https://gerrit.opnfv.org/gerrit/fuel && cd fuel\r"
-expect -re {tacker_poc> $}
-send "/bin/bash /root/sfc-poc/fuel/prototypes/sfc_tacker/poc.tacker-up.sh\r"
-expect -re {tacker_poc> $}
-send "exit\r"
-expect "Connection to $::env(CONTROLLER_NODE_IP) closed. "
-send "exit\r"
-expect "Connection to $::env(FUEL_MASTER_IP) closed. "
-END
diff --git a/jjb/fuel/fuel-plugin-build.sh b/jjb/fuel/fuel-plugin-build.sh
new file mode 100755
index 000000000..f7f613dc0
--- /dev/null
+++ b/jjb/fuel/fuel-plugin-build.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+if [[ "$JOB_NAME" =~ (verify|merge|daily|weekly) ]]; then
+ JOB_TYPE=${BASH_REMATCH[0]}
+else
+ echo "Unable to determine job type!"
+ exit 1
+fi
+
+echo "Not activated!"
diff --git a/jjb/fuel/fuel-plugin-test.sh b/jjb/fuel/fuel-plugin-test.sh
new file mode 100755
index 000000000..f7f613dc0
--- /dev/null
+++ b/jjb/fuel/fuel-plugin-test.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+if [[ "$JOB_NAME" =~ (verify|merge|daily|weekly) ]]; then
+ JOB_TYPE=${BASH_REMATCH[0]}
+else
+ echo "Unable to determine job type!"
+ exit 1
+fi
+
+echo "Not activated!"
diff --git a/jjb/fuel/fuel-plugin-verify-jobs.yml b/jjb/fuel/fuel-plugin-verify-jobs.yml
index affc705f3..4fea26b32 100644
--- a/jjb/fuel/fuel-plugin-verify-jobs.yml
+++ b/jjb/fuel/fuel-plugin-verify-jobs.yml
@@ -9,7 +9,8 @@
#####################################
stream:
- master:
- branch: '{stream}'
+ upstream-branch: '{stream}'
+ opnfv-branch: 'experimental'
gs-pathname: ''
disabled: false
#####################################
@@ -44,11 +45,23 @@
max-total: 4
option: 'project'
- # the url to plugin repo can essentially become a variable if
- # the plugin name is injected to env by gerrit plugin
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{upstream-branch}'
+ description: 'OpenStack branch to use'
+ - string:
+ name: OPNFV_BRANCH
+ default: '{opnfv-branch}'
+ description: 'OPNFV branch to use'
+ - 'opnfv-build-defaults'
+ - 'fuel-verify-plugin-defaults':
+ gs-pathname: '{gs-pathname}'
+
scm:
- git:
- url: 'https://git.openstack.org/openstack/fuel-plugin-bgpvpn'
+ url: 'https://git.openstack.org/$GERRIT_PROJECT'
refspec: '$GERRIT_REFSPEC'
branches:
- 'origin/$GERRIT_BRANCH'
@@ -89,21 +102,20 @@
project-pattern: 'openstack/fuel-plugin-bgpvpn'
branches:
- branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
+ branch-pattern: '**/{upstream-branch}'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'README.md|.gitignore|.gitreview'
+ - project-compare-type: 'PLAIN'
+ project-pattern: 'openstack/fuel-plugin-onos'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{upstream-branch}'
forbidden-file-paths:
- compare-type: ANT
pattern: 'README.md|.gitignore|.gitreview'
readable-message: true
- parameters:
- - project-parameter:
- project: '{project}'
- - gerrit-parameter:
- branch: '{branch}'
- - 'opnfv-build-defaults'
- - 'fuel-verify-plugin-defaults':
- gs-pathname: '{gs-pathname}'
-
builders:
- description-setter:
description: "Built on $NODE_NAME"
@@ -114,6 +126,7 @@
- name: 'fuel-verify-plugin-build-{stream}'
current-parameters: false
predefined-parameters: |
+ GERRIT_PROJECT=$GERRIT_PROJECT
GERRIT_BRANCH=$GERRIT_BRANCH
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
@@ -128,6 +141,7 @@
- name: 'fuel-verify-plugin-test-{stream}'
current-parameters: false
predefined-parameters: |
+ GERRIT_PROJECT=$GERRIT_PROJECT
GERRIT_BRANCH=$GERRIT_BRANCH
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
@@ -154,11 +168,24 @@
- 'fuel-verify-plugin-test-.*'
block-level: 'NODE'
- # the url to plugin repo can essentially become a variable if
- # the plugin name is injected to env by gerrit plugin
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{upstream-branch}'
+ description: 'OpenStack branch to use'
+ - string:
+ name: OPNFV_BRANCH
+ default: '{opnfv-branch}'
+ description: 'OPNFV branch to use'
+ - '{slave-label}-defaults'
+ - '{installer}-defaults'
+ - 'fuel-verify-plugin-defaults':
+ gs-pathname: '{gs-pathname}'
+
scm:
- git:
- url: 'https://git.openstack.org/openstack/fuel-plugin-bgpvpn'
+ url: 'https://git.openstack.org/$GERRIT_PROJECT'
refspec: '$GERRIT_REFSPEC'
branches:
- 'origin/$GERRIT_BRANCH'
@@ -174,15 +201,6 @@
- timeout:
timeout: 360
fail: true
- parameters:
- - project-parameter:
- project: '{project}'
- - gerrit-parameter:
- branch: '{branch}'
- - '{slave-label}-defaults'
- - '{installer}-defaults'
- - 'fuel-verify-plugin-defaults':
- gs-pathname: '{gs-pathname}'
builders:
- description-setter:
@@ -194,18 +212,14 @@
- builder:
name: 'fuel-verify-plugin-build-macro'
builders:
- - shell: |
- #!/bin/bash
-
- echo "Not activated!"
+ - shell:
+ !include-raw: ./fuel-plugin-build.sh
- builder:
name: 'fuel-verify-plugin-test-macro'
builders:
- - shell: |
- #!/bin/bash
-
- echo "Not activated!"
+ - shell:
+ !include-raw: ./fuel-plugin-test.sh
#####################################
# parameter macros
#####################################
diff --git a/jjb/fuel/fuel-smoke-test-exp.sh b/jjb/fuel/fuel-smoke-test-exp.sh
new file mode 100755
index 000000000..f7f613dc0
--- /dev/null
+++ b/jjb/fuel/fuel-smoke-test-exp.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+if [[ "$JOB_NAME" =~ (verify|merge|daily|weekly) ]]; then
+ JOB_TYPE=${BASH_REMATCH[0]}
+else
+ echo "Unable to determine job type!"
+ exit 1
+fi
+
+echo "Not activated!"
diff --git a/jjb/fuel/fuel-verify-jobs-experimental.yml b/jjb/fuel/fuel-verify-jobs-experimental.yml
new file mode 100644
index 000000000..ae83b08cf
--- /dev/null
+++ b/jjb/fuel/fuel-verify-jobs-experimental.yml
@@ -0,0 +1,264 @@
+- project:
+ # TODO: rename the project name
+ # TODO: get rid of appended -exp from the remainder of the file
+ name: 'fuel-verify-jobs-experimental'
+
+ project: 'fuel'
+
+ installer: 'fuel'
+#------------------------------------
+# branch definitions
+#------------------------------------
+ # TODO: enable master once things settle
+ stream-exp:
+ - experimental:
+ branch: 'stable/{stream-exp}'
+ gs-pathname: '/{stream-exp}'
+ disabled: false
+#------------------------------------
+# patch verification phases
+#------------------------------------
+ phase:
+ - 'basic':
+ # this phase does basic commit message check, unit test and so on
+ slave-label: 'opnfv-build'
+ - 'build':
+ # this phase builds artifacts if valid for given installer
+ slave-label: 'opnfv-build-ubuntu'
+ - 'deploy-virtual':
+ # this phase does virtual deployment using the artifacts produced in previous phase
+ slave-label: 'fuel-virtual'
+ - 'smoke-test':
+ # this phase runs functest smoke test
+ slave-label: 'fuel-virtual'
+#------------------------------------
+# jobs
+#------------------------------------
+ jobs:
+ - 'fuel-verify-{stream-exp}'
+ - 'fuel-verify-{phase}-{stream-exp}'
+#------------------------------------
+# job templates
+#------------------------------------
+- job-template:
+ name: 'fuel-verify-{stream-exp}'
+
+ project-type: multijob
+
+ disabled: '{obj:disabled}'
+
+ # TODO: this is valid for experimental only
+ # enable concurrency for master once things settle
+ concurrent: false
+
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 4
+ option: 'project'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ wrappers:
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+ - timeout:
+ timeout: 360
+ fail: true
+
+ triggers:
+ - gerrit:
+ trigger-on:
+ - patchset-created-event:
+ exclude-drafts: 'false'
+ exclude-trivial-rebase: 'false'
+ exclude-no-code-change: 'false'
+ - draft-published-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'ci/**'
+ - compare-type: ANT
+ pattern: 'build/**'
+ - compare-type: ANT
+ pattern: 'deploy/**'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**'
+ readable-message: true
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - 'opnfv-build-defaults'
+ - 'fuel-verify-defaults-exp':
+ gs-pathname: '{gs-pathname}'
+
+ builders:
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - multijob:
+ name: basic
+ condition: SUCCESSFUL
+ projects:
+ - name: 'fuel-verify-basic-{stream-exp}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: build
+ condition: SUCCESSFUL
+ projects:
+ - name: 'fuel-verify-build-{stream-exp}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: deploy-virtual
+ condition: SUCCESSFUL
+ projects:
+ - name: 'fuel-verify-deploy-virtual-{stream-exp}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: smoke-test
+ condition: SUCCESSFUL
+ projects:
+ - name: 'fuel-verify-smoke-test-{stream-exp}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+
+- job-template:
+ name: 'fuel-verify-{phase}-{stream-exp}'
+
+ disabled: '{obj:disabled}'
+
+ concurrent: true
+
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 6
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'fuel-verify-deploy-.*'
+ - 'fuel-verify-test-.*'
+ block-level: 'NODE'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ wrappers:
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+ - timeout:
+ timeout: 360
+ fail: true
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - '{slave-label}-defaults'
+ - '{installer}-defaults'
+ - 'fuel-verify-defaults-exp':
+ gs-pathname: '{gs-pathname}'
+
+ builders:
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - '{project}-verify-{phase}-macro-exp'
+#------------------------------------
+# builder macros
+#------------------------------------
+- builder:
+ name: 'fuel-verify-basic-macro-exp'
+ builders:
+ - shell:
+ !include-raw: ./fuel-basic-exp.sh
+
+- builder:
+ name: 'fuel-verify-build-macro-exp'
+ builders:
+ - shell:
+ !include-raw: ./fuel-build-exp.sh
+ - shell:
+ !include-raw: ./fuel-workspace-cleanup.sh
+
+- builder:
+ name: 'fuel-verify-deploy-virtual-macro-exp'
+ builders:
+ - shell:
+ !include-raw: ./fuel-deploy-exp.sh
+
+- builder:
+ name: 'fuel-verify-smoke-test-macro-exp'
+ builders:
+ - shell:
+ !include-raw: ./fuel-smoke-test-exp.sh
+#------------------------------------
+# parameter macros
+#------------------------------------
+- parameter:
+ name: 'fuel-verify-defaults-exp'
+ 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/functest/functest-ci-jobs.yml b/jjb/functest/functest-ci-jobs.yml
index 4747835b1..348779308 100644
--- a/jjb/functest/functest-ci-jobs.yml
+++ b/jjb/functest/functest-ci-jobs.yml
@@ -128,10 +128,6 @@
slave-label: '{pod}'
installer: joid
<<: *master
- - huawei-pod2:
- slave-label: '{pod}'
- installer: compass
- <<: *colorado
- huawei-pod5:
slave-label: '{pod}'
installer: compass
diff --git a/jjb/infra/bifrost-verify-jobs.yml b/jjb/infra/bifrost-verify-jobs.yml
index b117b32ae..17796a832 100644
--- a/jjb/infra/bifrost-verify-jobs.yml
+++ b/jjb/infra/bifrost-verify-jobs.yml
@@ -173,4 +173,6 @@
file-paths:
- compare-type: ANT
pattern: 'prototypes/bifrost/**'
+ - compare-type: ANT
+ pattern: 'jjb/infra/**'
readable-message: true
diff --git a/jjb/infra/bifrost-verify.sh b/jjb/infra/bifrost-verify.sh
index 759b50b8e..f7920a36f 100755
--- a/jjb/infra/bifrost-verify.sh
+++ b/jjb/infra/bifrost-verify.sh
@@ -18,6 +18,7 @@ function fix_ownership() {
echo "Not running as part of Jenkins. Handle the logs manually."
else
sudo chown -R jenkins:jenkins $WORKSPACE
+ sudo chown -R jenkins:jenkins ${HOME}/.cache
fi
}
@@ -30,6 +31,9 @@ fi
# remove previously cloned repos
sudo /bin/rm -rf /opt/bifrost /opt/puppet-infracloud /opt/stack /opt/releng
+# Fix up permissions
+fix_ownership
+
# clone all the repos first and checkout the patch afterwards
sudo git clone https://git.openstack.org/openstack/bifrost /opt/bifrost
sudo git clone https://git.openstack.org/openstack-infra/puppet-infracloud /opt/puppet-infracloud
diff --git a/jjb/opnfv/opnfv-docker.sh b/jjb/opnfv/opnfv-docker.sh
index f56de7f60..e637f7b32 100644
--- a/jjb/opnfv/opnfv-docker.sh
+++ b/jjb/opnfv/opnfv-docker.sh
@@ -67,22 +67,9 @@ fi
# cd to directory where Dockerfile is located
-if [[ "$DOCKER_REPO_NAME" == "opnfv/bottlenecks" ]]; then
- cd $WORKSPACE/ci/docker
-elif [[ "$DOCKER_REPO_NAME" == "opnfv/cperf" ]]; then
- cd $WORKSPACE/docker
-elif [[ "$DOCKER_REPO_NAME" == "opnfv/dovetail" ]]; then
- cd $WORKSPACE/docker
-elif [[ "$DOCKER_REPO_NAME" == "opnfv/functest" ]]; then
- cd $WORKSPACE/docker
-elif [[ "$DOCKER_REPO_NAME" == "opnfv/qtip" ]]; then
- cd $WORKSPACE/docker
-elif [[ "$DOCKER_REPO_NAME" == "opnfv/storperf" ]]; then
- cd $WORKSPACE/docker
-elif [[ "$DOCKER_REPO_NAME" == "opnfv/yardstick" ]]; then
- cd $WORKSPACE/tests/ci/docker/yardstick-ci
-else
- echo "ERROR: DOCKER_REPO_NAME parameter not valid: $DOCKER_REPO_NAME"
+cd $WORKSPACE/docker
+if [ ! -f ./Dockerfile ]; then
+ echo "ERROR: Dockerfile not found."
exit 1
fi
diff --git a/jjb/opnfv/opnfv-utils.yml b/jjb/opnfv/opnfv-utils.yml
new file mode 100644
index 000000000..94a99d451
--- /dev/null
+++ b/jjb/opnfv/opnfv-utils.yml
@@ -0,0 +1,40 @@
+- project:
+
+ name: opnfv-utils
+
+ jobs:
+ - 'prune-docker-images'
+########################
+# job templates
+########################
+- job-template:
+ name: 'prune-docker-images'
+
+ disabled: false
+
+ concurrent: true
+
+ parameters:
+ - node:
+ name: SLAVE_NAME
+ description: Slaves to prune docker images
+ default-slaves:
+ - arm-build1
+ - arm-build2
+ - ericsson-build4
+ - ericsson-build5
+ - lf-build2
+ allowed-multiselect: true
+ ignore-offline-nodes: true
+
+ builders:
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - shell: |
+ #!/bin/bash
+
+ (docker ps -q; docker ps -aq) | sort | uniq -u | xargs --no-run-if-empty docker rm
+ docker images -f dangling=true -q | xargs --no-run-if-empty docker rmi
+
+ triggers:
+ - timed: '@midnight'
diff --git a/jjb/opnfv/slave-params.yml b/jjb/opnfv/slave-params.yml
index 6cbaba4a5..4ffaff4ae 100644
--- a/jjb/opnfv/slave-params.yml
+++ b/jjb/opnfv/slave-params.yml
@@ -378,20 +378,6 @@
default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: 'Git URL to use on this Jenkins Slave'
- parameter:
- name: 'huawei-pod2-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - huawei-pod2
- default-slaves:
- - huawei-pod2
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-- parameter:
name: 'huawei-pod3-defaults'
parameters:
- node:
diff --git a/jjb/releng/releng-ci-jobs.yml b/jjb/releng/releng-ci-jobs.yml
index ac323a3c1..2d88449e8 100644
--- a/jjb/releng/releng-ci-jobs.yml
+++ b/jjb/releng/releng-ci-jobs.yml
@@ -2,7 +2,6 @@
name: builder-jobs
jobs:
- 'builder-verify-jjb'
- - 'builder-sandbox'
- 'builder-merge'
- 'artifacts-api'
@@ -102,55 +101,6 @@
jenkins-jobs update -r --delete-old jjb/
- job-template:
- name: 'builder-sandbox'
-
- # Upload all jjb jobs to sandbox instance, excluding jobs jjb
- # builder jobs
-
- parameters:
- - project-parameter:
- project: '{project}'
- - gerrit-parameter:
- branch: 'master'
-
- scm:
- - gerrit-trigger-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- choosing-strategy: 'default'
-
- triggers:
- - gerrit:
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'releng'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/sandbox'
- file-paths:
- - compare-type: ANT
- pattern: jjb/**
- - compare-type: ANT
- pattern: utils/**
-
- builders:
- - shell:
- !include-raw: verify-releng.sh
- - shell: |
- #!/bin/bash
- source /opt/virtualenv/jenkins-job-builder/bin/activate
- cd /opt/jenkins-ci/releng
- git pull
- cp /etc/jenkins_jobs/jenkins_jobs.ini jenkins_sandbox.ini
- sed -i 's/url=.*/url=https:\/\/sandbox.opnfv.org\//g' jenkins_sandbox.ini
- jenkins-jobs --conf jenkins_sandbox.ini update -r -x jjb/releng --delete-old jjb
- rm -f jenkins_sandbox.ini
-
-- job-template:
name: 'artifacts-api'
# Generate and upload the JSON file to used for artifacts site
diff --git a/jjb/yardstick/yardstick-ci-jobs.yml b/jjb/yardstick/yardstick-ci-jobs.yml
index 1cb1c9779..962ea4743 100644
--- a/jjb/yardstick/yardstick-ci-jobs.yml
+++ b/jjb/yardstick/yardstick-ci-jobs.yml
@@ -177,11 +177,6 @@
installer: joid
auto-trigger-name: 'daily-trigger-disabled'
<<: *master
- - huawei-pod2:
- slave-label: '{pod}'
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *colorado
- huawei-pod3:
slave-label: '{pod}'
installer: compass
@@ -372,14 +367,6 @@
description: 'Arguments to use in order to choose the backend DB'
- parameter:
- name: 'yardstick-params-huawei-pod2'
- parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
-
-- parameter:
name: 'yardstick-params-huawei-pod5'
parameters:
- string: