summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jjb/apex/apex-jjb-renderer.py50
-rw-r--r--jjb/clover/clover-project.yml166
-rw-r--r--jjb/container4nfv/container4nfv-project.yml13
-rwxr-xr-xjjb/dovetail/dovetail-run.sh23
-rw-r--r--jjb/opnfvdocs/project.cfg1
-rw-r--r--jjb/xci/xci-merge-jobs.yml68
-rw-r--r--jjb/xci/xci-verify-jobs.yml18
7 files changed, 302 insertions, 37 deletions
diff --git a/jjb/apex/apex-jjb-renderer.py b/jjb/apex/apex-jjb-renderer.py
index 6fd83afe9..b67784376 100644
--- a/jjb/apex/apex-jjb-renderer.py
+++ b/jjb/apex/apex-jjb-renderer.py
@@ -12,30 +12,38 @@ import yaml
from jinja2 import Environment
from jinja2 import FileSystemLoader
-gspathname = dict()
-branch = dict()
-build_slave = dict()
-env = Environment(loader=FileSystemLoader('./'), autoescape=True)
-with open('scenarios.yaml.hidden') as _:
- scenarios = yaml.safe_load(_)
+def render_jjb():
+ """Render JJB output from scenarios.yaml.hidden file and jinja
+ template"""
-template = env.get_template('apex.yml.j2')
+ gspathname = dict()
+ branch = dict()
+ build_slave = dict()
+ env = Environment(loader=FileSystemLoader('./'), autoescape=True)
-print("Scenarios are: ")
-pprint.pprint(scenarios)
+ with open('scenarios.yaml.hidden') as _:
+ scenarios = yaml.safe_load(_)
-for stream in scenarios:
- if stream == 'master':
- gspathname['master'] = ''
- branch[stream] = stream
- else:
- gspathname[stream] = '/' + stream
- branch[stream] = 'stable/' + stream
- build_slave[stream] = 'apex-baremetal-{}'.format(stream)
+ template = env.get_template('apex.yml.j2')
-output = template.render(scenarios=scenarios, gspathname=gspathname,
- branch=branch, build_slave=build_slave)
+ print("Scenarios are: ")
+ pprint.pprint(scenarios)
-with open('./apex.yml', 'w') as fh:
- fh.write(output)
+ for stream in scenarios:
+ if stream == 'master':
+ gspathname['master'] = ''
+ branch[stream] = stream
+ else:
+ gspathname[stream] = '/' + stream
+ branch[stream] = 'stable/' + stream
+ build_slave[stream] = 'apex-baremetal-{}'.format(stream)
+
+ output = template.render(scenarios=scenarios, gspathname=gspathname,
+ branch=branch, build_slave=build_slave)
+
+ with open('./apex.yml', 'w') as fh:
+ fh.write(output)
+
+if __name__ == "__main__":
+ render_jjb()
diff --git a/jjb/clover/clover-project.yml b/jjb/clover/clover-project.yml
new file mode 100644
index 000000000..b31f3deb2
--- /dev/null
+++ b/jjb/clover/clover-project.yml
@@ -0,0 +1,166 @@
+---
+###################################################
+# All the jobs except verify have been removed!
+# They will only be enabled on request by projects!
+###################################################
+- project:
+ name: clover
+
+ project: '{name}'
+
+ jobs:
+ - 'clover-verify-{stream}'
+ - 'clover-daily-upload-{stream}'
+ - 'clover-daily-deploy-{stream}'
+
+ stream:
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+
+- job-template:
+ name: 'clover-verify-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ # yamllint disable rule:line-length
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+ # yamllint enable rule:line-length
+ - 'opnfv-build-ubuntu-defaults'
+
+ scm:
+ - git-scm-gerrit
+
+ triggers:
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ 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}'
+ disable-strict-forbidden-file-verification: 'true'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**|.gitignore'
+
+ builders:
+ - shell: |
+ cd $WORKSPACE/ci
+ ./verify.sh
+
+- job-template:
+ name: 'clover-daily-upload-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ concurrent: false
+
+ scm:
+ - git-scm
+
+ triggers:
+ - timed: '0 11 * * *'
+
+ wrappers:
+ - fix-workspace-permissions
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
+ - 'clover-defaults':
+ gs-pathname: '{gs-pathname}'
+
+ builders:
+ - shell: |
+ cd $WORKSPACE/ci
+ ./upload.sh
+
+- job-template:
+ name: 'clover-daily-deploy-{stream}'
+
+ project-type: freestyle
+
+ disabled: '{obj:disabled}'
+
+ concurrent: false
+
+ properties:
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'clover-daily-deploy-.*?'
+ - 'container4nfv-daily-deploy-.*?'
+ block-level: 'NODE'
+
+ wrappers:
+ - timeout:
+ timeout: 180
+ abort: true
+ - fix-workspace-permissions
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ # yamllint disable rule:line-length
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+ # yamllint enable rule:line-length
+ - node:
+ name: SLAVE_NAME
+ description: 'Slave name on Jenkins'
+ allowed-slaves:
+ - huawei-virtual6
+ default-slaves:
+ - huawei-virtual6
+
+ scm:
+ - git-scm
+
+ triggers:
+ - timed: '0 12 * * *'
+
+ builders:
+ - shell: |
+ cd $WORKSPACE/ci
+ ./deploy.sh
+
+###################
+# parameter macros
+###################
+- parameter:
+ name: 'clover-defaults'
+ parameters:
+ - string:
+ name: GS_URL
+ default: artifacts.opnfv.org/$PROJECT{gs-pathname}
+ description: "URL to Google Storage."
diff --git a/jjb/container4nfv/container4nfv-project.yml b/jjb/container4nfv/container4nfv-project.yml
index 03bbb655e..1ab50ae30 100644
--- a/jjb/container4nfv/container4nfv-project.yml
+++ b/jjb/container4nfv/container4nfv-project.yml
@@ -109,8 +109,21 @@
properties:
- logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'clover-daily-deploy-.*?'
+ - 'container4nfv-daily-deploy-.*?'
+ block-level: 'NODE'
wrappers:
+ - timeout:
+ timeout: 240
+ abort: true
- fix-workspace-permissions
parameters:
diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh
index b8c432458..1c53dbee4 100755
--- a/jjb/dovetail/dovetail-run.sh
+++ b/jjb/dovetail/dovetail-run.sh
@@ -93,13 +93,24 @@ fi
cat $OPENRC
if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == "compass" ]]; then
+ compass_repo=${WORKSPACE}/compass4nfv/
+ git clone https://github.com/opnfv/compass4nfv.git ${compass_repo} >/dev/null
+ pip install shyaml
+ scenario_file=${compass_repo}/deploy/conf/hardware_environment/$NODE_NAME/os-nosdn-nofeature-ha.yml
+ ipmiIp=$(cat ${scenario_file} | shyaml get-value hosts.0.ipmiIp)
+ ipmiPass=$(cat ${scenario_file} | shyaml get-value hosts.0.ipmiPass)
+ ipmiUser=root
+ jumpserver_ip=$(ifconfig | grep -A 5 docker0 | grep "inet addr" | cut -d ':' -f 2 | cut -d ' ' -f 1)
+
cat << EOF >${DOVETAIL_CONFIG}/pod.yaml
nodes:
-- {ip: 10.1.0.52, name: node1, password: root, role: controller, user: root}
+- {ip: ${jumpserver_ip}, name: node0, password: root, role: Jumpserver, user: root}
+- {ip: 10.1.0.50, name: node1, password: root, role: controller, user: root,
+ ipmi_ip: ${ipmiIp}, ipmi_user: ${ipmiUser}, ipmi_password: ${ipmiPass}}
- {ip: 10.1.0.51, name: node2, password: root, role: controller, user: root}
-- {ip: 10.1.0.50, name: node3, password: root, role: controller, user: root}
-- {ip: 10.1.0.54, name: node4, password: root, role: compute, user: root}
-- {ip: 10.1.0.53, name: node5, password: root, role: compute, user: root}
+- {ip: 10.1.0.52, name: node3, password: root, role: controller, user: root}
+- {ip: 10.1.0.53, name: node4, password: root, role: compute, user: root}
+- {ip: 10.1.0.54, name: node5, password: root, role: compute, user: root}
EOF
fi
@@ -154,6 +165,7 @@ if [[ ! -f ${DOVETAIL_CONFIG}/pod.yaml ]]; then
fi
if [ -f ${DOVETAIL_CONFIG}/pod.yaml ]; then
+ sudo chown jenkins:jenkins ${DOVETAIL_CONFIG}/pod.yaml
echo "Adapt process info for $INSTALLER_TYPE ..."
attack_process='rabbitmq'
cat << EOF >> ${DOVETAIL_CONFIG}/pod.yaml
@@ -307,8 +319,9 @@ sudo cp -r ${DOVETAIL_HOME}/results ./
# PRIMARY_GROUP=$(id -gn $CURRENT_USER)
# sudo chown -R ${CURRENT_USER}:${PRIMARY_GROUP} ${WORKSPACE}/results
-#remove useless workspace from yardstick to save disk space
+#remove useless files to save disk space
sudo rm -rf ./results/workspace
+sudo rm -f ./results/yardstick.img
echo "Dovetail: done!"
diff --git a/jjb/opnfvdocs/project.cfg b/jjb/opnfvdocs/project.cfg
index 0722b4036..598269737 100644
--- a/jjb/opnfvdocs/project.cfg
+++ b/jjb/opnfvdocs/project.cfg
@@ -2,6 +2,7 @@ apex
armband
availability
bottlenecks
+clover
compass4nfv
copper
conductor
diff --git a/jjb/xci/xci-merge-jobs.yml b/jjb/xci/xci-merge-jobs.yml
index df8bbb4d4..d6442a976 100644
--- a/jjb/xci/xci-merge-jobs.yml
+++ b/jjb/xci/xci-merge-jobs.yml
@@ -9,16 +9,23 @@
stream:
- master:
branch: '{stream}'
+ disabled: false
# -------------------------------
# distros
# -------------------------------
distro:
- ubuntu:
disabled: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
- centos:
- disabled: false
+ disabled: true
+ kill-phase-on: NEVER
+ abort-all-job: false
- opensuse:
disabled: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
# -------------------------------
# postmerge promotion phases
# -------------------------------
@@ -41,7 +48,7 @@
project-type: multijob
- disabled: false
+ disabled: '{obj:disabled}'
concurrent: false
@@ -100,6 +107,15 @@
name: SLAVE_LABEL
default: 'xci-virtual'
- string:
+ name: CI_LOOP
+ default: 'merge'
+ - string:
+ name: FUNCTEST_MODE
+ default: 'tier'
+ - string:
+ name: FUNCTEST_SUITE_NAME
+ default: 'healthcheck'
+ - string:
name: DISTRO
default: 'all'
- string:
@@ -130,6 +146,9 @@
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ CI_LOOP=$CI_LOOP
+ FUNCTEST_MODE=$FUNCTEST_MODE
+ FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
node-parameters: false
kill-phase-on: FAILURE
abort-all-job: true
@@ -143,6 +162,9 @@
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ CI_LOOP=$CI_LOOP
+ FUNCTEST_MODE=$FUNCTEST_MODE
+ FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
node-parameters: false
kill-phase-on: FAILURE
abort-all-job: true
@@ -156,6 +178,9 @@
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ CI_LOOP=$CI_LOOP
+ FUNCTEST_MODE=$FUNCTEST_MODE
+ FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
node-parameters: false
kill-phase-on: NEVER
abort-all-job: false
@@ -173,6 +198,9 @@
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ CI_LOOP=$CI_LOOP
+ FUNCTEST_MODE=$FUNCTEST_MODE
+ FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
node-parameters: true
kill-phase-on: NEVER
abort-all-job: true
@@ -182,7 +210,7 @@
project-type: multijob
- disabled: false
+ disabled: '{obj:disabled}'
concurrent: false
@@ -221,6 +249,15 @@
name: SLAVE_LABEL
default: 'xci-virtual'
- string:
+ name: CI_LOOP
+ default: 'merge'
+ - string:
+ name: FUNCTEST_MODE
+ default: 'tier'
+ - string:
+ name: FUNCTEST_SUITE_NAME
+ default: 'healthcheck'
+ - string:
name: DISTRO
default: '{distro}'
- string:
@@ -252,8 +289,8 @@
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
+ kill-phase-on: '{kill-phase-on}'
+ abort-all-job: '{abort-all-job}'
- multijob:
name: healthcheck
condition: SUCCESSFUL
@@ -268,11 +305,12 @@
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- FUNCTEST_MODE=tier
- FUNCTEST_TIER=healthcheck
+ CI_LOOP=$CI_LOOP
+ FUNCTEST_MODE=$FUNCTEST_MODE
+ FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
+ kill-phase-on: '{kill-phase-on}'
+ abort-all-job: '{abort-all-job}'
publishers:
- postbuildscript:
@@ -308,6 +346,9 @@
name: DISTRO
default: 'ubuntu'
- string:
+ name: CI_LOOP
+ default: 'merge'
+ - string:
name: FUNCTEST_MODE
default: 'tier'
- string:
@@ -358,6 +399,15 @@
name: PROJECT
default: $GERRIT_PROJECT
- string:
+ name: CI_LOOP
+ default: 'merge'
+ - string:
+ name: FUNCTEST_MODE
+ default: 'tier'
+ - string:
+ name: FUNCTEST_SUITE_NAME
+ default: 'healthcheck'
+ - string:
name: DISTRO
default: 'all'
- string:
diff --git a/jjb/xci/xci-verify-jobs.yml b/jjb/xci/xci-verify-jobs.yml
index d78dc82d9..e5c1a9394 100644
--- a/jjb/xci/xci-verify-jobs.yml
+++ b/jjb/xci/xci-verify-jobs.yml
@@ -147,6 +147,15 @@
name: CLEAN_DIB_IMAGES
default: 'true'
- string:
+ name: CI_LOOP
+ default: 'verify'
+ - string:
+ name: FUNCTEST_MODE
+ default: 'tier'
+ - string:
+ name: FUNCTEST_SUITE_NAME
+ default: 'healthcheck'
+ - string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: 'Git URL to use on this Jenkins Slave'
@@ -171,6 +180,7 @@
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ CI_LOOP=$CI_LOOP
node-parameters: true
kill-phase-on: FAILURE
abort-all-job: true
@@ -188,8 +198,9 @@
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- FUNCTEST_MODE=tier
- FUNCTEST_TIER=healthcheck
+ CI_LOOP=$CI_LOOP
+ FUNCTEST_MODE=$FUNCTEST_MODE
+ FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
node-parameters: true
kill-phase-on: NEVER
abort-all-job: true
@@ -229,6 +240,9 @@
name: DISTRO
default: 'ubuntu'
- string:
+ name: CI_LOOP
+ default: 'verify'
+ - string:
name: FUNCTEST_MODE
default: 'tier'
- string: