Please note that the combination of a Packer definitions from `vars`, `templates`
and the `provision` scripts is what defines a given minion. For instance, a minion
-may be defined as `centos7-java-builder` which is a combination of Packer OS image
+may be defined as `centos7-builder` which is a combination of Packer OS image
definitions from `vars/centos.json`, Packer template definitions from
-`templates/java-buidler.json` and spinup scripts from `provision/java-builder.sh`.
+`templates/builder.json` and spinup scripts from `provision/builder.sh`.
This combination provides the full definition of the realized minion.
Jenkins starts a minion using the latest image which is built and linked into the
accounts in the cloud so should ensure consistent performance.
.. list-table:: Flavors
- :widths: auto"
- :header-rows: 1"
+ :widths: auto
+ :header-rows: 1
* - Instance Type
- CPUs
<table class="table table-bordered">
<tr class="warning">
- <td><b>Jenkins Labels</b><br/> centos7-java-builder-2c-4g,
- centos7-java-builder-2c-8g, centos7-java-builder-4c-8g,
- centos7-java-builder-8c-8g, centos7-java-builder-4c-16g</td>
- <td><b>Minion Template names</b><br/> centos7-java-builder-2c-4g,
- centos7-java-builder-2c-4g, centos7-java-builder-2c-8g,
- centos7-java-builder-4c-8g, centos7-java-builder-8c-8g,
- centos7-java-builder-4c-16g</td>
+ <td><b>Jenkins Labels</b><br/> centos7-builder-2c-4g,
+ centos7-builder-2c-8g, centos7-java-builder-4c-8g,
+ centos7-builder-8c-8g, centos7-java-builder-4c-16g</td>
+ <td><b>Minion Template names</b><br/> centos7-builder-2c-4g,
+ centos7-builder-2c-4g, centos7-java-builder-2c-8g,
+ centos7-builder-4c-8g, centos7-java-builder-8c-8g,
+ centos7-builder-4c-16g</td>
<td><b>Packer Template</b><br/>
- releng/builder/packer/templates/java-builder.json</td>
+ releng/builder/packer/templates/builder.json</td>
<td><b>Spinup Script</b><br/>
releng/builder/jenkins-scripts/builder.sh</td>
</tr>
- 'autorelease-update-validate-jobs-{stream}'
- 'autorelease-version-bump-{stream}'
- '{project-name}-validate-autorelease-{stream}':
- build-node: centos7-java-builder-2c-8g
+ build-node: centos7-builder-2c-8g
- gerrit-tox-verify
# todo: After Carbon EOL remove next-release-tag and directy pass
project: releng/autorelease
project-name: autorelease
- build-node: centos7-java-builder-2c-8g
+ build-node: centos7-builder-2c-8g
# Before adding more here, beware of https://jira.linuxfoundation.org/browse/RELENG-280
archive-artifacts: >
**/*.prop
#####################
project-type: freestyle
- node: centos7-java-builder-4c-16g
+ node: centos7-builder-4c-16g
jdk: '{java-version}'
cron: 'H 0 * * *'
- job-template:
name: autorelease-update-validate-jobs-{stream}
project-type: freestyle
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
properties:
- lf-infra-properties:
- job-template:
name: autorelease-version-bump-{stream}
project-type: freestyle
- node: centos7-java-builder-4c-16g
+ node: centos7-builder-4c-16g
properties:
- opendaylight-infra-properties:
#####################
project-type: freestyle
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
properties:
- lf-infra-properties:
project-name: autorelease-version-management
tox-dir: scripts/version_management
- build-node: centos7-java-builder-2c-8g
+ build-node: centos7-builder-2c-8g
stream:
- oxygen:
stream:
- oxygen:
branch: 'master'
+ install-features: >
+ odl-restconf,
+ odl-bgpcep-bgp,
+ odl-bgpcep-bgp-config-example,
+ odl-bgpcep-bmp,
+ odl-bgpcep-bmp-config-example,
+ odl-bgpcep-pcep
+
- nitrogen:
branch: 'stable/nitrogen'
+ install-features: >
+ odl-restconf,
+ odl-bgpcep-bgp,
+ odl-bgpcep-bgp-config-example
- carbon:
branch: 'stable/carbon'
karaf-version: karaf3
+ install-features: >
+ odl-restconf,
+ odl-bgpcep-bgp,
+ odl-bgpcep-bgp-config-example
install:
- only:
scope: 'only'
- # Features to install
- install-features: >
- odl-restconf,
- odl-bgpcep-bgp,
- odl-bgpcep-bgp-config-example
-
# Robot custom options:
robot-options: '-v USE_NETCONF_CONNECTOR:False'
stream: oxygen
project: 'bgpcep'
project-name: 'bgpcep'
- build-node: centos7-java-builder-2c-8g
+ build-node: centos7-builder-2c-8g
build-timeout: 120
branch: 'master'
jdks:
stream: nitrogen
project: 'bgpcep'
project-name: 'bgpcep'
- build-node: centos7-java-builder-2c-8g
+ build-node: centos7-builder-2c-8g
build-timeout: 120
branch: 'stable/nitrogen'
jdks:
stream: carbon
project: 'bgpcep'
project-name: 'bgpcep'
- build-node: centos7-java-builder-2c-8g
+ build-node: centos7-builder-2c-8g
build-timeout: 120
branch: 'stable/carbon'
karaf-version: karaf3
project: 'bgpcep'
project-name: 'bgpcep'
- build-node: centos7-java-builder-2c-8g
+ build-node: centos7-builder-2c-8g
branch: 'master'
mvn-settings: 'bgpcep-settings'
mvn-goals: 'clean -DrepoBuild install javadoc:aggregate'
project: docs
project-name: docs
- build-node: centos7-java-builder-2c-8g
+ build-node: centos7-builder-2c-8g
build-timeout: 30
rtd-project: opendaylight
archive-artifacts: ''
dependencies: ''
email-upstream: '[eman]'
archive-artifacts: ''
- build-node: centos7-java-builder-4c-16g
+ build-node: centos7-builder-4c-16g
# Used by the release job
staging-profile-id: 96e9352979521
dependencies: ''
email-upstream: '[eman]'
archive-artifacts: ''
- build-node: centos7-java-builder-4c-16g
+ build-node: centos7-builder-4c-16g
# Used by the release job
staging-profile-id: 96e9352979521
dependencies: ''
email-upstream: '[eman]'
archive-artifacts: ''
- build-node: centos7-java-builder-4c-16g
+ build-node: centos7-builder-4c-16g
# Used by the release job
staging-profile-id: 96e9352979521
name: 'distribution-verify-{stream}'
project-type: freestyle
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
concurrent: true
jdk: '{jre}'
# FIXME: List required variables.
project-type: freestyle
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
concurrent: false
properties:
# FIXME: List required variables.
project-type: freestyle
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
concurrent: false
properties:
name: '{project}-patch-test-{feature}-{stream}'
project-type: freestyle
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
concurrent: true
jdk: '{jdk}'
name: 'integration-patch-test-{stream}'
project-type: freestyle
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
properties:
- opendaylight-infra-properties:
# 13. Currently, the .zip lasts 24 hours (?) so you may need to jump to step 2 (or 0) after some time.
project-type: freestyle
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
jdk: '{jdk}'
properties:
#####################
project-type: freestyle
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
properties:
- lf-infra-properties:
project-name: lf-infra-ci-workshop
project: releng/ci-workshop
- build-node: centos7-java-builder-2c-8g
+ build-node: centos7-builder-2c-8g
stream: any
branch: '*'
project-name: lf-infra-common-packer
project: releng/common-packer
- build-node: centos7-java-builder-2c-8g
+ build-node: centos7-builder-2c-8g
stream: any
branch: '*'
project-name: lf-infra-docs
project: releng/docs
project-pattern: releng/docs
- build-node: centos7-java-builder-2c-8g
+ build-node: centos7-builder-2c-8g
rtd-project: lf-releng-docs
stream: any
branch: '*'
project-name: lf-infra-docs-conf
project: releng/docs-conf
project-pattern: releng/docs-conf
- build-node: centos7-java-builder-2c-8g
+ build-node: centos7-builder-2c-8g
stream: any
branch: '*'
project-name: lf-infra-global-jjb
project: releng/global-jjb
project-pattern: releng/global-jjb
- build-node: centos7-java-builder-2c-8g
+ build-node: centos7-builder-2c-8g
rtd-project: lf-releng-global-jjb
stream: any
branch: '*'
project-name: lf-infra-lf-ansible
project: releng/lf-ansible
project-pattern: releng/lf-ansible
- build-node: centos7-java-builder-2c-8g
+ build-node: centos7-builder-2c-8g
stream: any
branch: '*'
project-name: lf-infra-lftools
project: releng/lftools
project-pattern: releng/lftools
- build-node: centos7-java-builder-2c-8g
+ build-node: centos7-builder-2c-8g
rtd-project: lf-releng-tools
stream: any
branch: '*'
**/*.log
**/target/surefire-reports/*-output.txt
- build-node: centos7-java-builder-4c-16g
+ build-node: centos7-builder-4c-16g
# Used by the release job
staging-profile-id: 96fff2503b766
dependencies: 'controller-merge-{stream},odlparent-merge-{stream},yangtools-merge-{stream},neutron-merge-{stream}'
email-upstream: '[lispflowmapping] [controller] [odlparent] [yangtools] [neutron]'
archive-artifacts: ''
- build-node: centos7-java-builder-4c-16g
+ build-node: centos7-builder-4c-16g
# Used by the release job
staging-profile-id: 96fff2503b766
dependencies: 'controller-merge-{stream},odlparent-merge-{stream},yangtools-merge-{stream},neutron-merge-{stream}'
email-upstream: '[lispflowmapping] [controller] [odlparent] [yangtools] [neutron]'
archive-artifacts: ''
- build-node: centos7-java-builder-4c-16g
+ build-node: centos7-builder-4c-16g
# Used by the release job
staging-profile-id: 96fff2503b766
name: 'opflex-verify-{stream}'
project-type: freestyle
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
concurrent: true
jdk: '{jdk}'
- job-template:
name: 'opflex-merge-{stream}'
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
jdk: '{jdk}'
properties:
name: 'opflex-libuv-{stream}'
project-type: freestyle
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
concurrent: true
group-id: 'libuv'
name: 'opflex-rapidjson-{stream}'
project-type: freestyle
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
concurrent: true
group-id: 'rapidjson'
name: 'opflex-openvswitch-{stream}'
project-type: freestyle
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
concurrent: true
group-id: 'openvswitch'
- job-template:
name: 'opflex-release-{stream}'
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
jdk: '{jdk}'
######################
- job-template:
name: '{project-name}-test-rpm-{stream}'
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
project-type: freestyle
- job-template:
name: 'packaging-build-rpm-{stream}'
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
project-type: freestyle
- job-template:
name: 'packaging-build-rpm-snap-{stream}'
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
project-type: freestyle
- job-template:
name: 'packaging-verify-rpm-master'
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
project-type: freestyle
- job-template:
name: 'packaging-verify-full-rpm-master'
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
project-type: freestyle
- job-template:
name: 'packaging-test-rpm-master'
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
parameters:
- opendaylight-infra-parameters:
- job-template:
name: 'packaging-test-rpm-upgrade-master'
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
parameters:
- opendaylight-infra-parameters:
# Timeout in minutes
build-timeout: 360
- build-node: centos7-java-builder-2c-8g
+ build-node: centos7-builder-2c-8g
schedule: ''
schedule-saturday: 'H H * * 6'
schedule-weekly: 'H 23 * * 6'
docker_system_image: ZZCI - CentOS 7 - docker - 20171209-0317
odl_system_count: 1
odl_system_flavor: v1-performance-2
- odl_system_image: ZZCI - CentOS 7 - java-builder - 20171209-0032
+ odl_system_image: ZZCI - CentOS 7 - builder - 20180109-0417
openstack_system_count: 1
openstack_system_flavor: v1-performance-4
openstack_system_image: ZZCI - CentOS 7 - devstack - 20171208-1648
name: 'sfc-verify-python-{stream}'
project-type: freestyle
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
concurrent: true
properties:
dependencies: 'openflowplugin-merge-{stream},ovsdb-merge-{stream},lispflowmapping-merge-{stream}'
email-upstream: '[sfc] [openflowplugin] [ovsdb] [lispflowmapping]'
archive-artifacts: ''
- build-node: centos7-java-builder-4c-16g
+ build-node: centos7-builder-4c-16g
# Used by the release job
staging-profile-id: a68eb361ca48a
dependencies: 'openflowplugin-merge-{stream},ovsdb-merge-{stream},lispflowmapping-merge-{stream}'
email-upstream: '[sfc] [openflowplugin] [ovsdb] [lispflowmapping]'
archive-artifacts: ''
- build-node: centos7-java-builder-4c-16g
+ build-node: centos7-builder-4c-16g
# Used by the release job
staging-profile-id: a68eb361ca48a
dependencies: 'openflowplugin-merge-{stream},ovsdb-merge-{stream},lispflowmapping-merge-{stream}'
email-upstream: '[sfc] [openflowplugin] [ovsdb] [lispflowmapping]'
archive-artifacts: ''
- build-node: centos7-java-builder-4c-16g
+ build-node: centos7-builder-4c-16g
# Used by the release job
staging-profile-id: a68eb361ca48a
name: 'spectrometer-deploy-webapp-master'
project-type: freestyle
- node: centos7-java-builder-2c-8g
+ node: centos7-builder-2c-8g
concurrent: false
properties:
dependencies: 'ovsdb-merge-{stream}'
email-upstream: '[unimgr] [ovsdb]'
archive-artifacts: ''
- build-node: centos7-java-builder-4c-16g
+ build-node: centos7-builder-4c-16g
# Used by the release job
staging-profile-id: a695d0a0b8d51
dependencies: 'ovsdb-merge-{stream}'
email-upstream: '[unimgr] [ovsdb]'
archive-artifacts: ''
- build-node: centos7-java-builder-4c-16g
+ build-node: centos7-builder-4c-16g
# Used by the release job
staging-profile-id: a695d0a0b8d51
dependencies: 'ovsdb-merge-{stream}'
email-upstream: '[unimgr] [ovsdb]'
archive-artifacts: ''
- build-node: centos7-java-builder-4c-16g
+ build-node: centos7-builder-4c-16g
# Used by the release job
staging-profile-id: a695d0a0b8d51
+++ /dev/null
-#!/bin/bash
-
-# vim: sw=4 ts=4 sts=4 et tw=72 :
-
-# Force any errors to cause the script and job to end in failure
-set -xeu -o pipefail
-
-# The following packages are not needed by all projects, but they are
-# needed by enough to make them useful everywhere
-yum install -y @development perl-{Digest-SHA,ExtUtils-MakeMaker} \
- ant {boost,gtest,json-c,libcurl,libxml2,libvirt,openssl}-devel \
- {readline,unixODBC}-devel yum-utils fedora-packager \
- libxslt-devel crudini
-
-# Needed by autorelease scripts
-yum install -y xmlstarlet
-
-# Needed by docs project
-yum install -y graphviz
-
-# Needed by deploy test
-yum install -y sshpass
-
-#########################
-# Integration/Packaging #
-#########################
-
-# Install software for building RPMs
-yum install -y fedora-packager
-
-# Needed for vsemprovider build in vtn project to enable C# compilation.
-rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
-# Add the mono tools repository
-yum-config-manager -y --add-repo http://download.mono-project.com/repo/centos/
-# Install the mono toolchain and nuget
-yum -y install mono-complete nuget
-
-# Needed by TSDR
-echo "---> Installing the Hbase Server..."
-mkdir /tmp/Hbase
-cd /tmp/Hbase
-wget -nv https://archive.apache.org/dist/hbase/hbase-0.94.27/hbase-0.94.27.tar.gz
-tar -xvf hbase-0.94.27.tar.gz
-
-# Needed by TSDR
-echo "---> Installing the Cassandra Server..."
-mkdir /tmp/cassandra
-cd /tmp/cassandra
-wget -nv https://archive.apache.org/dist/cassandra/2.1.16/apache-cassandra-2.1.16-bin.tar.gz
-tar -xvf apache-cassandra-2.1.16-bin.tar.gz
-
-# Generally useful for all projects
-echo "---> Installing the Elasticsearch node..."
-mkdir /tmp/elasticsearch
-cd /tmp/elasticsearch
-wget -nv https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz
-tar -xvzf elasticsearch-1.7.5.tar.gz
-
-# Installs Hashicorp's Packer binary, required for {verify,merge}-packer jobs
-mkdir /tmp/packer
-cd /tmp/packer
-wget -nv https://releases.hashicorp.com/packer/1.1.3/packer_1.1.3_linux_amd64.zip
-unzip packer_1.1.3_linux_amd64.zip -d /usr/local/bin/
-# rename packer to avoid conflict with binary in cracklib
-mv /usr/local/bin/packer /usr/local/bin/packer.io
-
-# Check out quagga , compile and install for router functionalities
-echo "Installing the Quagga..."
-mkdir -p /tmp/build_quagga
-cd /tmp/build_quagga
-git clone https://github.com/6WIND/zrpcd.git
-cd zrpcd
-git checkout 20170731
-chmod a+x /tmp/build_quagga/zrpcd/pkgsrc/dev_compile_script.sh
-/tmp/build_quagga/zrpcd/pkgsrc/dev_compile_script.sh -d -b -t
-
-# Removing the build_quagga folder
-rm -rf /tmp/build_quagga/
+++ /dev/null
-{
- "variables": {
- "public_base_image": null,
- "public_network": null,
- "public_cloud_user": null,
- "public_auth_url": null,
- "public_tenant": null,
- "public_user": null,
- "public_pass": null,
- "distro": null,
- "cloud_user_data": null,
- "ssh_proxy_host": ""
- },
- "builders": [
- {
- "type": "openstack",
- "identity_endpoint": "{{user `public_auth_url`}}",
- "domain_name": "Default",
- "tenant_name": "{{user `public_tenant`}}",
- "username": "{{user `public_user`}}",
- "password": "{{user `public_pass`}}",
- "region": "ca-ymq-1",
- "availability_zone": "ca-ymq-2",
- "ssh_username": "{{user `public_cloud_user`}}",
- "ssh_proxy_host": "{{user `ssh_proxy_host`}}",
- "image_name": "ZZCI - {{user `distro`}} - autorelease - {{isotime \"20060102-1504\"}}",
- "source_image_name": "{{user `public_base_image`}}",
- "flavor": "v1-standard-4",
- "networks": [
- "{{user `public_network`}}"
- ],
- "user_data_file": "{{user `cloud_user_data`}}",
- "metadata": {
- "ci_managed": "yes"
- }
- }
- ],
- "provisioners": [
- {
- "type": "shell",
- "scripts": [
- "provision/baseline.sh",
- "provision/java-builder.sh",
- "provision/system_reseal_local_env.sh",
- "provision/system_reseal.sh"
- ],
- "execute_command": "chmod +x {{ .Path }}; if [ \"$UID\" == \"0\" ]; then {{ .Vars }} '{{ .Path }}'; else {{ .Vars }} sudo -E '{{ .Path }}'; fi"
- }
- ]
-}
+++ /dev/null
-{
- "variables": {
- "public_base_image": null,
- "public_network": null,
- "public_cloud_user": null,
- "public_auth_url": null,
- "public_tenant": null,
- "public_user": null,
- "public_pass": null,
- "distro": null,
- "cloud_user_data": null,
- "ssh_proxy_host": ""
- },
- "builders": [
- {
- "type": "openstack",
- "identity_endpoint": "{{user `public_auth_url`}}",
- "domain_name": "Default",
- "tenant_name": "{{user `public_tenant`}}",
- "username": "{{user `public_user`}}",
- "password": "{{user `public_pass`}}",
- "region": "ca-ymq-1",
- "availability_zone": "ca-ymq-2",
- "ssh_username": "{{user `public_cloud_user`}}",
- "ssh_proxy_host": "{{user `ssh_proxy_host`}}",
- "image_name": "ZZCI - {{user `distro`}} - java-builder - {{isotime \"20060102-1504\"}}",
- "source_image_name": "{{user `public_base_image`}}",
- "flavor": "v1-standard-1",
- "networks": [
- "{{user `public_network`}}"
- ],
- "user_data_file": "{{user `cloud_user_data`}}",
- "metadata": {
- "ci_managed": "yes"
- }
- }
- ],
- "provisioners": [
- {
- "type": "shell",
- "scripts": [
- "provision/baseline.sh",
- "provision/java-builder.sh",
- "provision/system_reseal_local_env.sh",
- "provision/system_reseal.sh"
- ],
- "execute_command": "chmod +x {{ .Path }}; if [ \"$UID\" == \"0\" ]; then {{ .Vars }} '{{ .Path }}'; else {{ .Vars }} sudo -E '{{ .Path }}'; fi"
- }
- ]
-}