--- /dev/null
+#!/bin/bash
+# SPDX-License-Identifier: EPL-1.0
+##############################################################################
+# Copyright (c) 2018 The Linux Foundation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+##############################################################################
+# Ensures that the prefix MUST be set to blank
+#
+# The production prefix MUST always be a blank string.
+
+if grep 'prefix:' jjb/releng-defaults.yaml | grep -v "''"; then
+ echo "ERROR: A non-blank prefix is defined in jjb/releng-defaults.yaml"
+ echo "The prefix MUST be set to blank '' in production!"
+ exit 1
+fi
- project:
name: aaa-csit-authn
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'aaa'
- project:
name: aaa-csit-keystone
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'aaa'
- project:
name: aaa-csit-tls
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'aaa'
- project:
name: aaa-patch-test
jobs:
- - '{project}-patch-test-{feature}-{stream}'
+ - inttest-patch-test
# The project name
project: 'aaa'
- project:
name: alto-csit-setup
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'alto'
- shell: !include-raw:
- generate-release-notes.sh
+- builder:
+ name: autorelease-update-validate-projects
+ builders:
+ - shell: !include-raw-escape: update-validate-autorelease-projects.sh
+
- publisher:
# Search console log for failures and email status to the release mailing list.
name: opendaylight-infra-notify-status
jobs:
- 'autorelease-generate-release-notes-{stream}'
- 'autorelease-release-{stream}':
- build-node: centos7-autorelease-8c-16g
+ build-node: centos7-autorelease-4c-16g
- 'autorelease-update-validate-jobs-{stream}'
- 'autorelease-version-bump-{stream}'
- '{project-name}-validate-autorelease-{stream}'
# Defaults #
############
- build-node: centos7-autorelease-8c-16g
+ build-node: '{build-node}'
java-version: openjdk8
mvn-version: mvn33
extra-mvn-opts: ''
jenkins-ssh-credential: opendaylight-jenkins-ssh
builders:
- - shell: !include-raw-escape:
- - update-validate-autorelease-projects.sh
+ - autorelease-update-validate-projects
- opendaylight-infra-push-gerrit-patch:
project: 'releng/builder'
gerrit-topic: 'autorelease-update-validate-jobs-{stream}'
#!/bin/bash
# SPDX-License-Identifier: EPL-1.0
##############################################################################
-# Copyright (c) 2017 The Linux Foundation and others.
+# Copyright (c) 2017 - 2018 The Linux Foundation and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# The current development release will not have a stable branch defined so if
# branch does not exist assume master
-wget -nv -O /tmp/ar-branches.json https://git.opendaylight.org/gerrit/projects/releng%2Fautorelease/branches/
-if ! grep "$BRANCH" /tmp/ar-branches.json; then
- BRANCH=master
+url="https://git.opendaylight.org/gerrit/projects/releng%2Fautorelease/branches/"
+resp=$(curl -s -w "\\n\\n%{http_code}" --globoff -H "Content-Type:application/json" "$url")
+if [[ ! "$resp" =~ $BRANCH ]]; then
+ BRANCH="master"
fi
wget -nv -O /tmp/pom.xml "https://git.opendaylight.org/gerrit/gitweb?p=releng/autorelease.git;a=blob_plain;f=pom.xml;hb=$GERRIT_BRANCH"
- project:
name: bgpcep-csit-gate-bgp-ingest-mixed
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'bgpcep'
- project:
name: bgpcep-csit-bgp-ingest-mixed
jobs:
- - '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
+ - inttest-csit-1node-periodic
# FIXME: Rename job to drop -periodic- and unify job definition with -gate- functionality.
# The project name
- project:
name: bgpcep-csit-bgp-ingest
jobs:
- - '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
+ - inttest-csit-1node-periodic
# FIXME: Dicument differences from -mixed- and unify into single (matrix) definition.
# The project name
- project:
name: bgpcep-csit-bgpclustering-ha
jobs:
- - '{project}-csit-3node-periodic-{functionality}-{install}-{stream}'
+ - inttest-csit-3node-periodic
# The project name
project: 'bgpcep'
- project:
name: bgpcep-csit-bgpclustering-longevity
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
+ - inttest-csit-3node
# The project name
project: 'bgpcep'
- project:
name: bgpcep-csit-bgpclustering
jobs:
- - '{project}-csit-3node-periodic-{functionality}-{install}-{stream}'
+ - inttest-csit-3node-periodic
# The project name
project: 'bgpcep'
- project:
name: bgpcep-csit-gate-throughpcep
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'bgpcep'
- project:
name: bgpcep-csit-throughpcep
jobs:
- - '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
+ - inttest-csit-1node-periodic
# FIXME: Rename job to drop -periodic- and unify job definition with -gate- functionality.
# The project name
- project:
name: bgpcep-csit-userfeatures
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'bgpcep'
- project:
name: bgpcep-patch-test
jobs:
- - '{project}-patch-test-{feature}-{stream}'
+ - inttest-patch-test
# The project name
project: 'bgpcep'
- project:
name: bier-csit-basic
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'bier'
project: 'bier'
project-name: 'bier'
branch: 'master'
+ build-timeout: 90
jdks:
- openjdk8
maven:
- project:
name: capwap-csit-ac
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'capwap'
- project:
name: centinel-csit-basic
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'centinel'
- project:
name: controller-csit-akka1
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'controller'
- project:
name: controller-csit-clustering
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-3node-{functionality}'
+ - inttest-csit-3node
+ - inttest-csit-verify-3node
# The project name
project: 'controller'
- project:
name: mdsal-csit-cluster-singleton-chasing-the-leader-longevity
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
+ - inttest-csit-3node
# The project name
project: 'controller'
- project:
name: mdsal-csit-cluster-singleton-partition-and-heal-longevity
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
+ - inttest-csit-3node
# The project name
project: 'controller'
- project:
name: mdsal-csit-dom-data-broker-explicit-leader-movement-longevity
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
+ - inttest-csit-3node
# The project name
project: 'controller'
- project:
name: mdsal-csit-dom-notification-broker-no-loss-longevity
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'controller'
- project:
name: mdsal-csit-dom-rpc-broker-partition-and-heal-longevity
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
+ - inttest-csit-3node
# The project name
project: 'controller'
- project:
name: mdsal-csit-dom-rpc-broker-precedence-longevity
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
+ - inttest-csit-3node
# The project name
project: 'controller'
- project:
name: mdsal-csit-periodic-dsbenchmark-cluster
jobs:
- - '{project}-csit-3node-periodic-{functionality}-{install}-{stream}'
+ - inttest-csit-3node-periodic
# The project name
project: 'controller'
- project:
name: mdsal-csit-periodic-dsbenchmark
jobs:
- - '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
+ - inttest-csit-1node-periodic
# The project name
project: 'controller'
- project:
name: controller-csit-rest-cars-perf
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'controller'
- project:
name: controller-csit-rest-clust-cars-perf
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
+ - inttest-csit-3node
# The project name
project: 'controller'
- project:
name: daexim-csit-basic
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'daexim'
- project:
name: daexim-csit-clustering-basic
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
+ - inttest-csit-3node
# The project name
project: 'daexim'
- project:
name: didm-csit-discovery
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'didm'
- project:
name: dluxapps-csit-yangman
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'dluxapps'
- project:
name: genius-csit-genius
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
- - '{project}-csit-verify-3node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-3node
+ - inttest-csit-verify-1node
+ - inttest-csit-verify-3node
# The project name
- project:
name: genius-patch-test
jobs:
- - '{project}-patch-test-{feature}-{stream}'
+ - inttest-patch-test
# The project name
project: 'genius'
- project:
name: groupbasedpolicy-csit-openstack-integration
jobs:
- - '{project}-csit-{topology}-openstack-{openstack}-{functionality}-{stream}'
+ - inttest-csit-openstack
# The project name
project: 'groupbasedpolicy'
- project:
name: groupbasedpolicy-csit-3node
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'groupbasedpolicy'
- project:
name: groupbasedpolicy-csit-6node
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
- project:
name: groupbasedpolicy-csit-clustering
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
+ - inttest-csit-3node
# The project name
- project:
name: groupbasedpolicy-csit-sxp
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'groupbasedpolicy'
- project:
name: infrautils-patch-test
jobs:
- - '{project}-patch-test-{feature}-{stream}'
+ - inttest-patch-test
project: 'infrautils'
- project:
name: distribution-csit-userfeatures
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'distribution'
ODL_MODE=manual
ODL_MGR_IP=${MGRIP}
-ODL_PORT=8080
+ODL_PORT=${ODL_PORT}
ODL_PORT_BINDING_CONTROLLER=${ODL_ML2_PORT_BINDING}
ODL_OVS_MANAGERS=${ODL_OVS_MANAGERS}
physical_network_mtus = ${PUBLIC_PHYSICAL_NETWORK}:1400
path_mtu = 1458
-# workaround for port-status not working due to https://bugs.opendaylight.org/show_bug.cgi?id=9092
-[ml2_odl]
-odl_features=nothing
-
[[post-config|/etc/neutron/dhcp_agent.ini]]
[DEFAULT]
force_metadata = True
ODL_MODE=manual
ODL_MGR_IP=${MGRIP}
-ODL_PORT=8080
+ODL_PORT=${ODL_PORT}
ODL_PORT_BINDING_CONTROLLER=${ODL_ML2_PORT_BINDING}
ODL_OVS_MANAGERS=${ODL_OVS_MANAGERS}
fi
RECLONE=False
+ODL_PORT=8181
# Always compare the lists below against the devstack upstream ENABLED_SERVICES in
# https://github.com/openstack-dev/devstack/blob/master/stackrc#L52
for i in `seq 1 ${NUM_OPENSTACK_CONTROL_NODES}`; do
CONTROLIP=OPENSTACK_CONTROL_NODE_${i}_IP
- echo "Configure the stack of the control node ${i} of ${NUM_OPENSTACK_CONTROL_NODES}: ${CONTROLIP}"
+ echo "Configure the stack of the control node ${i} of ${NUM_OPENSTACK_CONTROL_NODES}: ${!CONTROLIP}"
scp ${WORKSPACE}/disable_firewall.sh ${!CONTROLIP}:/tmp
${SSH} ${!CONTROLIP} "sudo bash /tmp/disable_firewall.sh"
create_etc_hosts ${!CONTROLIP}
SITE_INDEX=$((((i - 1) / NUM_COMPUTES_PER_SITE) + 1)) # We need the site index to infer the control node IP for this compute
COMPUTEIP=OPENSTACK_COMPUTE_NODE_${i}_IP
CONTROLIP=OPENSTACK_CONTROL_NODE_${SITE_INDEX}_IP
- echo "Configure the stack of the compute node ${i} of ${NUM_OPENSTACK_COMPUTE_NODES}: ${COMPUTEIP}"
+ echo "Configure the stack of the compute node ${i} of ${NUM_OPENSTACK_COMPUTE_NODES}: ${!COMPUTEIP}"
scp ${WORKSPACE}/disable_firewall.sh "${!COMPUTEIP}:/tmp"
${SSH} "${!COMPUTEIP}" "sudo bash /tmp/disable_firewall.sh"
create_etc_hosts ${!COMPUTEIP} ${!CONTROLIP}
# New templates
- job-template:
- name: '{project}-csit-verify-1node-{functionality}'
+ name: '{prefix}{project}-csit-verify-1node-{functionality}'
+ id: inttest-csit-verify-1node
disabled: false
project-type: freestyle
- lf-infra-publish
- job-template:
- name: '{project}-csit-1node-{functionality}-{install}-{stream}'
+ name: '{prefix}{project}-csit-1node-{functionality}-{install}-{stream}'
+ id: inttest-csit-1node
# Keep synchronized with *-csit4-*-carbon please.
disabled: false
- lf-infra-publish
- job-template:
- name: '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
+ name: '{prefix}{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
+ id: inttest-csit-1node-periodic
disabled: false
project-type: freestyle
- lf-infra-publish
- job-template:
- name: '{project}-csit-verify-3node-{functionality}'
+ name: '{prefix}{project}-csit-verify-3node-{functionality}'
+ id: inttest-csit-verify-3node
disabled: false
project-type: freestyle
- lf-infra-publish
- job-template:
- name: '{project}-csit-3node-{functionality}-{install}-{stream}'
+ name: '{prefix}{project}-csit-3node-{functionality}-{install}-{stream}'
+ id: inttest-csit-3node
disabled: false
project-type: freestyle
- lf-infra-publish
- job-template:
- name: '{project}-csit-3node-docker-{functionality}-{install}-{stream}'
+ name: '{prefix}{project}-csit-3node-docker-{functionality}-{install}-{stream}'
+ id: inttest-csit-3node-docker
disabled: false
project-type: freestyle
- lf-infra-publish
- job-template:
- name: '{project}-csit-3node-periodic-{functionality}-{install}-{stream}'
+ name: '{prefix}{project}-csit-3node-periodic-{functionality}-{install}-{stream}'
+ id: inttest-csit-3node-periodic
disabled: false
project-type: freestyle
- lf-infra-publish
- job-template:
- name: '{project}-csit-hwvtep-{topology}-openstack-{openstack}-{functionality}-{stream}'
+ name: '{prefix}{project}-csit-hwvtep-{topology}-openstack-{openstack}-{functionality}-{stream}'
+ id: inttest-csit-hwvtep-openstack
disabled: false
project-type: freestyle
- lf-infra-publish
- job-template:
- name: '{project}-csit-{topology}-openstack-{openstack}-{functionality}-{stream}'
+ name: '{prefix}{project}-csit-{topology}-openstack-{openstack}-{functionality}-{stream}'
+ id: inttest-csit-openstack
disabled: false
project-type: freestyle
# triggers the project system test defined in {csit-list} when gerrit receives test-{project} keyword
- job-template:
- name: '{project}-patch-test-{feature}-{stream}'
+ name: '{prefix}{project}-patch-test-{feature}-{stream}'
+ id: inttest-patch-test
project-type: freestyle
node: centos7-builder-2c-8g
- project:
name: iotdm-csit-basic
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'iotdm'
- project:
name: jsonrpc-csit-basic
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'jsonrpc'
- project:
name: l2switch-csit-host-scalability-daily
jobs:
- - '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
+ - inttest-csit-1node-periodic
# The project name
project: 'l2switch'
- project:
name: l2switch-csit-scalability
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'l2switch'
- project:
name: l2switch-csit-switch
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'l2switch'
- project:
name: l2switch-patch-test
jobs:
- - '{project}-patch-test-{feature}-{stream}'
+ - inttest-patch-test
# The project name
project: 'l2switch'
- project:
name: lacp-csit-lacp
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'lacp'
project-name: lf-infra-docs
project: releng/docs
project-pattern: releng/docs
- build-node: centos7-builder-2c-8g
+ build-node: centos7-builder-2c-1g
rtd-project: lf-releng-docs
stream: any
branch: '*'
- project:
name: lf-infra-docs-conf
jobs:
+ - '{project-name}-rtd-jobs'
- gerrit-tox-verify
project-name: lf-infra-docs-conf
project: releng/docs-conf
project-pattern: releng/docs-conf
- build-node: centos7-builder-2c-8g
+ build-node: centos7-builder-2c-1g
+ rtd-project: lfdocs-conf
stream: any
branch: '*'
- project:
name: lispflowmapping-csit-msmr
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-3node
+ - inttest-csit-verify-1node
# The project name
project: 'lispflowmapping'
- project:
name: lispflowmapping-csit-performance
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'lispflowmapping'
scope: 'only'
# Job instance type
- odl_system_flavor: 'v1-performance-4'
+ odl_system_flavor: 'v2-highcpu-8'
# Features to install
install-features: 'odl-lispflowmapping-msmr'
- project:
name: mdsal-csit-bindingv1
jobs:
- - '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
+ - inttest-csit-1node-periodic
# The project name
project: 'mdsal'
- project:
name: messaging4transport-csit-basic
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'messaging4transport'
- project:
name: natapp-csit-basic
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'natapp'
- project:
name: nemo-csit-engine
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'nemo'
- project:
name: netconf-csit-cluster-stress
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
+ - inttest-csit-3node
# The project name
project: 'netconf'
- project:
name: netconf-csit-clustering-scale
jobs:
- - '{project}-csit-3node-periodic-{functionality}-{install}-{stream}'
+ - inttest-csit-3node-periodic
# The project name
project: 'netconf'
- project:
name: netconf-csit-clustering
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
+ - inttest-csit-3node
# The project name
project: 'netconf'
- project:
name: netconf-csit-callhome
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'netconf'
- project:
name: netconf-patch-test
jobs:
- - '{project}-patch-test-{feature}-{stream}'
+ - inttest-patch-test
# The project name
project: 'netconf'
- project:
name: netconf-csit-scale
jobs:
- - '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
+ - inttest-csit-1node-periodic
# The project name
project: 'netconf'
- project:
name: netconf-csit-userfeatures
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'netconf'
- project:
name: netide-csit-basic
jobs:
- - '{project}-csit-verify-1node-{functionality}'
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-verify-1node
+ - inttest-csit-1node
# The project name
project: 'netide'
- project:
name: netvirt-csit-hwvtep-openstack-integration-oxygen
jobs:
- - '{project}-csit-hwvtep-{topology}-openstack-{openstack}-{functionality}-{stream}'
+ - inttest-csit-hwvtep-openstack
project: 'netvirt'
stream: 'oxygen'
- project:
name: netvirt-csit-hwvtep-openstack-integration-nitrogen
jobs:
- - '{project}-csit-hwvtep-{topology}-openstack-{openstack}-{functionality}-{stream}'
+ - inttest-csit-hwvtep-openstack
project: 'netvirt'
stream: 'nitrogen'
- project:
name: netvirt-csit-hwvtep-openstack-integration-carbon
jobs:
- - '{project}-csit-hwvtep-{topology}-openstack-{openstack}-{functionality}-{stream}'
+ - inttest-csit-hwvtep-openstack
project: 'netvirt'
- project:
name: netvirt-csit-openstack-integration-oxygen
jobs:
- - '{project}-csit-{topology}-openstack-{openstack}-{functionality}-{stream}'
+ - inttest-csit-openstack
project: 'netvirt'
stream: 'oxygen'
- project:
name: netvirt-csit-openstack-integration-nitrogen
jobs:
- - '{project}-csit-{topology}-openstack-{openstack}-{functionality}-{stream}'
+ - inttest-csit-openstack
project: 'netvirt'
stream: 'nitrogen'
- project:
name: netvirt-csit-openstack-integration-carbon
jobs:
- - '{project}-csit-{topology}-openstack-{openstack}-{functionality}-{stream}'
+ - inttest-csit-openstack
project: 'netvirt'
stream: 'carbon'
- project:
name: netvirt-csit-sfc-openstack-integration
jobs:
- - '{project}-csit-{topology}-openstack-{openstack}-{functionality}-{stream}'
+ - inttest-csit-openstack
project: 'netvirt'
security-group-mode: 'stateful'
- project:
name: netvirt-patch-test
jobs:
- - '{project}-patch-test-{feature}-{stream}'
+ - inttest-patch-test
# The project name
project: 'netvirt'
- project:
name: nic-csit-basic
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'nic'
- project:
name: ocpplugin-csit-basic
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'ocpplugin'
- project:
name: ocpplugin-csit-scalability
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'ocpplugin'
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
##############################################################################
-
# Checks the image "protected" value and set "True" marker
#
# The script is involked by 'builder-verify-image-protection', searches
# setting. If the image protect setting is not "True", sets the
# image protect setting to "True" to prevent the image from getting purged
# by the cleanup old images job.
+echo "---> Check image protection"
-virtualenv "/tmp/v/openstack"
# shellcheck source=/tmp/v/openstack/bin/activate disable=SC1091
source "/tmp/v/openstack/bin/activate"
-pip install --upgrade pip
-pip install --upgrade python-openstackclient
-pip install --upgrade pipdeptree
-pipdeptree
declare -a images
readarray -t images <<< "$(grep -r _system_image: --include \*.yaml \
#!/bin/bash
# SPDX-License-Identifier: EPL-1.0
##############################################################################
-# Copyright (c) 2017 The Linux Foundation and others.
+# Copyright (c) 2017 - 2018 The Linux Foundation and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
##############################################################################
+# Removes openstack images older than 30 days in the cloud
+echo "---> Cleanup old images"
-lftools openstack --os-cloud vex \
- image cleanup --days=30
+# shellcheck source=/tmp/v/lftools/bin/activate disable=SC1091
+source "/tmp/v/lftools/bin/activate"
+lftools openstack --os-cloud vex image cleanup --days=30
#!/bin/bash
# SPDX-License-Identifier: EPL-1.0
##############################################################################
-# Copyright (c) 2017 The Linux Foundation and others.
+# Copyright (c) 2017 - 2018 The Linux Foundation and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
##############################################################################
echo "---> Cleanup orphaned servers"
-virtualenv "/tmp/v/openstack"
# shellcheck source=/tmp/v/openstack/bin/activate disable=SC1091
source "/tmp/v/openstack/bin/activate"
-pip install --upgrade pip
-pip install --upgrade python-openstackclient python-heatclient
-pip install --upgrade pipdeptree
-pipdeptree
minion_in_jenkins() {
# Usage: check_stack_in_jenkins STACK_NAME JENKINS_URL [JENKINS_URL...]
#!/bin/bash
# SPDX-License-Identifier: EPL-1.0
##############################################################################
-# Copyright (c) 2017 The Linux Foundation and others.
+# Copyright (c) 2017 - 2018 The Linux Foundation and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
##############################################################################
+echo "---> Cleanup stale nodes"
# Todo: As a safe check we could obtain the list of active jobs from Jenkins and
# compute the checksum from $JOB_NAME to check if any active nodes exist and
# 24H timeout in place for all jobs therefore all jobs are expected to complete
# within the timeout.
-lftools openstack --os-cloud vex \
- server list --days=1
-lftools openstack --os-cloud vex \
- server cleanup --days=1
+# shellcheck source=/tmp/v/lftools/bin/activate disable=SC1091
+source "/tmp/v/lftools/bin/activate"
+lftools openstack --os-cloud vex server list --days=1
+lftools openstack --os-cloud vex server cleanup --days=1
# Cleanup stale stacks in the cloud
# Requires the variable JENKINS_URLS declared in the job as a space separated
# list of Jenkins instances to check for active builds.
+echo "---> Cleanup stale stacks"
-virtualenv "/tmp/v/openstack"
# shellcheck source=/tmp/v/openstack/bin/activate disable=SC1091
source "/tmp/v/openstack/bin/activate"
-pip install --upgrade pip
-pip install --upgrade python-openstackclient python-heatclient
-pip install --upgrade pipdeptree
-pipdeptree
stack_in_jenkins() {
# Usage: check_stack_in_jenkins STACK_NAME JENKINS_URL [JENKINS_URL...]
--- /dev/null
+#!/bin/bash
+# SPDX-License-Identifier: EPL-1.0
+##############################################################################
+# Copyright (c) 2017, 2018 The Linux Foundation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+##############################################################################
+# Installs the openstack cli to /tmp/v/openstack
+echo "---> Install openstack cli into /tmp/v/openstack"
+
+virtualenv "/tmp/v/openstack"
+# shellcheck source=/tmp/v/openstack/bin/activate disable=SC1091
+source "/tmp/v/openstack/bin/activate"
+pip install --upgrade pip
+pip install --upgrade python-openstackclient python-heatclient
+pip install --upgrade pipdeptree
+pipdeptree
branch: master
distribution_branch: master
+ jdks:
+ - openjdk8
+ maven:
+ - mvn35:
+ mvn-version: mvn35
+ mvn-settings: odlparent-settings
+ mvn-goals: clean install
+ mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+ mvn-version: mvn35
+
+ dependencies: ''
+ email-upstream: '[odlparent]'
+ archive-artifacts: >
+ **/*.prop
+ **/*.log
+ **/target/surefire-reports/*-output.txt
+ **/target/failsafe-reports/failsafe-summary.xml
+ **/hs_err_*.log
+ **/target/feature/feature.xml
+
+ # Used by the release job
+ staging-profile-id: 880d5ac25eaa
+
+- project:
+ name: odlparent-3.1.x
+ jobs:
+ - '{project-name}-maven-javadoc-jobs'
+ - odl-maven-jobs
+ - gerrit-tox-verify
+
+ project: odlparent
+ project-name: odlparent
+ stream: 3.1.x
+ branch: 3.1.x
+ distribution_branch: master
+
jdks:
- openjdk8
maven:
**/target/feature/feature.xml
# Used by the release job
+ javadoc-path: org.opendaylight.$PROJECT/$STREAM
+ staging-profile-id: 880d5ac25eaa
+
+- project:
+ name: odlparent-3.0.x
+ jobs:
+ - '{project-name}-maven-javadoc-jobs'
+ - odl-maven-jobs
+ - gerrit-tox-verify
+
+ project: odlparent
+ project-name: odlparent
+ stream: 3.0.x
+ branch: 3.0.x
+ distribution_branch: master
+
+ jdks:
+ - openjdk8
+ maven:
+ - mvn33:
+ mvn-version: mvn33
+ mvn-settings: odlparent-settings
+ mvn-goals: clean install
+ mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+ mvn-version: mvn33
+
+ dependencies: ''
+ email-upstream: '[odlparent]'
+ archive-artifacts: >
+ **/*.prop
+ **/*.log
+ **/target/surefire-reports/*-output.txt
+ **/target/failsafe-reports/failsafe-summary.xml
+ **/hs_err_*.log
+ **/target/feature/feature.xml
+
+ # Used by the release job
+ javadoc-path: org.opendaylight.$PROJECT/$STREAM
staging-profile-id: 880d5ac25eaa
- project:
- project:
name: of-config-csit-basic
jobs:
- - '{project}-csit-verify-1node-{functionality}'
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-verify-1node
+ - inttest-csit-1node
# The project name
project: 'of-config'
- project:
name: openflowplugin-csit-cbench
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'openflowplugin'
- project:
name: openflowplugin-csit-clustering-bulkomatic
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
+ - inttest-csit-3node
# The project name
project: 'openflowplugin'
- project:
name: openflowplugin-csit-clustering-perf-bulkomatic
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
+ - inttest-csit-3node
# The project name
project: 'openflowplugin'
- project:
name: openflowplugin-csit-clustering
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
+ - inttest-csit-3node
# The project name
project: 'openflowplugin'
- project:
name: openflowplugin-csit-flow-services
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'openflowplugin'
- project:
name: openflowplugin-csit-longevity
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'openflowplugin'
- project:
name: openflowplugin-csit-perf-bulkomatic
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'openflowplugin'
- project:
name: openflowplugin-csit-perf-stats-collection
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'openflowplugin'
- project:
name: openflowplugin-csit-sanity
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'openflowplugin'
- project:
name: openflowplugin-csit-scale-link
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'openflowplugin'
- project:
name: openflowplugin-csit-scale-switch
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'openflowplugin'
- project:
name: openflowplugin-csit-scale
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'openflowplugin'
- project:
name: openflowplugin-patch-test
jobs:
- - '{project}-patch-test-{feature}-{stream}'
+ - inttest-patch-test
# The project name
project: 'openflowplugin'
- project:
name: ovsdb-csit-clustering
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-3node-{functionality}'
+ - inttest-csit-3node
+ - inttest-csit-verify-3node
# The project name
project: 'ovsdb'
- project:
name: ovsdb-csit-southbound
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'ovsdb'
- project:
name: ovsdb-patch-test
jobs:
- - '{project}-patch-test-{feature}-{stream}'
+ - inttest-patch-test
# The project name
project: 'ovsdb'
- project:
name: p4plugin-csit-basic
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'p4plugin'
# If URL is to zip, check if there's a tar.gz available to avoid repackaging.
if [[ $DOWNLOAD_URL = *.zip ]]; then
# shellcheck disable=SC2154
- candidate_tarball_url="${{DOWNLOAD_URL//zip/tar.gz}}"
+ candidate_tarball_url="${DOWNLOAD_URL//zip/tar.gz}"
# shellcheck disable=SC2154
url_status=$(curl --silent --head --location --output /dev/null --write-out \
- '%{{http_code}}' "$candidate_tarball_url")
+ '%{http_code}' "$candidate_tarball_url")
if [[ $url_status = 2* ]]; then
DOWNLOAD_URL="$candidate_tarball_url"
fi
sudo yum install -y "$URL"
elif [[ $URL == *.repo ]]; then
# shellcheck disable=SC2154
- repo_file="${{URL##*/}}"
+ repo_file="${URL##*/}"
sudo curl --silent -o /etc/yum.repos.d/"$repo_file" "$URL"
sudo yum install -y opendaylight
else
--- /dev/null
+# Integration/Packaging macros
+---
+- builder:
+ name: install-test-uninstall-rpm
+ builders:
+ - inject:
+ properties-content: 'URL=/home/$USER/rpmbuild/RPMS/noarch/*.rpm'
+ # Use *-escape to make double brace expansion work. JJB strangeness.
+ - shell: !include-raw: test-rpm-deps.sh
+ - shell: !include-raw-escape: install-rpm.sh
+ - shell: !include-raw: start-odl.sh
+ # Install deps needed interactive Karaf shell tests
+ - shell: |
+ # Install expect to interact with Karaf shell
+ # Install nmap to check status of ODL's SSH port
+ sudo yum install -y expect nmap
+ - shell: !include-raw: test-karaf.expect
+ - shell: !include-raw: stop-odl.sh
+ - shell: !include-raw: uninstall-rpm.sh
+ - shell: |
+ # Remove old host key so future installs don't fail to SSH
+ rm /home/jenkins/.ssh/known_hosts
build-timeout: '{build-timeout}'
builders:
- - shell: !include-raw: build-rpm.sh
- - shell: !include-raw: test-rpm-deps.sh
- - inject:
- properties-content: 'URL=/home/$USER/rpmbuild/RPMS/noarch/*.rpm'
- - shell: !include-raw: install-rpm.sh
- - shell: !include-raw: start-odl.sh
- - shell: |
- # Install expect to interact with Karaf shell
- sudo yum install -y expect
- # Install nmap to check status of ODL's SSH port
- sudo yum install -y nmap
- - shell: !include-raw: test-karaf.expect
- - shell: !include-raw: stop-odl.sh
- - shell: !include-raw: uninstall-rpm.sh
+ - shell: !include-raw-escape: build-rpm.sh
+ - install-test-uninstall-rpm
- lf-infra-deploy-maven-file:
global-settings-file: 'global-settings'
settings-file: 'packaging-settings'
- inject:
properties-content: 'STREAM={stream}'
- shell: !include-raw: build-rpm-snap.sh
- - shell: !include-raw: test-rpm-deps.sh
+ - install-test-uninstall-rpm
- lf-infra-deploy-maven-file:
global-settings-file: 'global-settings'
settings-file: 'packaging-settings'
- inject:
# yamllint disable-line rule:line-length
properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.7.0/karaf-0.7.0.tar.gz'
- - shell: !include-raw: build-rpm.sh
+ - shell: !include-raw-escape: build-rpm.sh
# Test Oxygen pre-release autorelease tarball
- inject:
# yamllint disable-line rule:line-length
properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2052/org/opendaylight/integration/karaf/0.8.0/karaf-0.8.0.tar.gz'
- - shell: !include-raw: build-rpm.sh
+ - shell: !include-raw-escape: build-rpm.sh
# Test Oxygen multipatch zip (no parallel tarball available)
- inject:
# yamllint disable-line rule:line-length
properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20171128.175421-68.zip'
- - shell: !include-raw: build-rpm.sh
+ - shell: !include-raw-escape: build-rpm.sh
# Test latest Oxygen snapshot
- inject:
build-timeout: '{build-timeout}'
builders:
- # TODO: Install/test each RPM. Will require builder script changes.
# Test Carbon SR2 tarball
- inject:
# yamllint disable-line rule:line-length
properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.2-Carbon/distribution-karaf-0.6.2-Carbon.tar.gz'
- - shell: !include-raw: build-rpm.sh
+ - shell: !include-raw-escape: build-rpm.sh
+ - install-test-uninstall-rpm
# Test Carbon multipatch zip (no parallel tarball available)
# NB: This will need to be updated as old builds expire
- inject:
# yamllint disable-line rule:line-length
properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/distribution-karaf/0.6.3-SNAPSHOT/distribution-karaf-0.6.3-20180115.181738-1.zip'
- - shell: !include-raw: build-rpm.sh
+ - shell: !include-raw-escape: build-rpm.sh
+ - install-test-uninstall-rpm
# Test latest Carbon snapshot
- inject:
properties-content: 'STREAM=carbon'
- shell: !include-raw: build-rpm-snap.sh
+ - install-test-uninstall-rpm
# Test Nitrogen tarball
- inject:
# yamllint disable-line rule:line-length
properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.7.0/karaf-0.7.0.tar.gz'
- - shell: !include-raw: build-rpm.sh
+ - shell: !include-raw-escape: build-rpm.sh
+ - install-test-uninstall-rpm
# Test Nitrogen SR1 tarball
- inject:
# yamllint disable-line rule:line-length
properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.7.1/karaf-0.7.1.tar.gz'
- - shell: !include-raw: build-rpm.sh
+ - shell: !include-raw-escape: build-rpm.sh
+ - install-test-uninstall-rpm
# Test Nitrogen multipatch zip (no parallel tarball available)
# NB: This will need to be updated as old builds expire
- inject:
# yamllint disable-line rule:line-length
properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.7.2-SNAPSHOT/karaf-0.7.2-20180115.183312-2.zip'
- - shell: !include-raw: build-rpm.sh
+ - shell: !include-raw-escape: build-rpm.sh
+ - install-test-uninstall-rpm
# Test latest Nitrogen snapshot
- inject:
properties-content: 'STREAM=nitrogen'
- shell: !include-raw: build-rpm-snap.sh
+ - install-test-uninstall-rpm
# Test Oxygen pre-release autorelease tarball
# NB: This will need to be updated as old builds expire
- inject:
# yamllint disable-line rule:line-length
properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2052/org/opendaylight/integration/karaf/0.8.0/karaf-0.8.0.tar.gz'
- - shell: !include-raw: build-rpm.sh
+ - shell: !include-raw-escape: build-rpm.sh
+ - install-test-uninstall-rpm
# Test Oxygen multipatch zip (no parallel tarball available)
+ # FIXME: Something is wrong with current Oxygen multipatch builds
# NB: This will need to be updated as old builds expire
- - inject:
- # yamllint disable-line rule:line-length
- properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20180111.030942-90.zip'
- - shell: !include-raw: build-rpm.sh
+ # - inject:
+ # yamllint disable-line rule:line-length
+ # properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20180111.030942-90.zip'
+ # - shell: !include-raw: build-rpm.sh
+ # - install-test-uninstall-rpm
# Test latest Oxygen snapshot
- inject:
properties-content: 'STREAM=oxygen'
- shell: !include-raw: build-rpm-snap.sh
+ - install-test-uninstall-rpm
triggers:
- timed: '@daily'
build-timeout: '{build-timeout}'
builders:
- - shell: !include-raw: install-rpm.sh
+ - shell: !include-raw-escape: install-rpm.sh
- shell: !include-raw: start-odl.sh
- shell: |
# Install expect to interact with Karaf shell
- sudo yum install -y expect
# Install nmap to check status of ODL's SSH port
- sudo yum install -y nmap
+ sudo yum install -y expect nmap
- shell: !include-raw: test-karaf.expect
- shell: !include-raw: stop-odl.sh
- shell: !include-raw: uninstall-rpm.sh
build-timeout: '{build-timeout}'
builders:
- - shell: !include-raw: install-rpm.sh
+ - shell: !include-raw-escape: install-rpm.sh
- shell: !include-raw: start-odl.sh
- shell: |
# Install expect to interact with Karaf shell
# Verify exactly 1 RPM is in the path we expect
set -- /home/$USER/rpmbuild/RPMS/noarch/*.rpm
-# shellcheck disable=SC1054
-[ $# -eq 1 ] || {{ echo "Expected 1 RPM, found $#"; exit 1; }}
+if [ $# -eq 1 ]; then
+ echo "Found one RPM in build out dir, as expected"
+else
+ echo "Expected 1 RPM, found $#"
+ echo 1
+fi
# If path is globbed (/path/to/*.rpm), expand it
path=$(sudo find / -wholename /home/$USER/rpmbuild/RPMS/noarch/*.rpm)
# shellcheck disable=SC2034
mapfile -t actual_deps < <( rpm -qp /home/$USER/rpmbuild/RPMS/noarch/*.rpm --requires )
# shellcheck disable=SC2154 disable=SC2145
-printf 'Dependency found: %s\n' "${{actual_deps[@]}}"
+printf 'Dependency found: %s\n' "${actual_deps[@]}"
# shellcheck disable=SC2154,SC2145,SC2034,SC2207
-diff_deps=(`echo "${{expected_deps[@]}}" "${{actual_deps[@]}}" | tr ' ' '\n' | sort | uniq -u`)
+diff_deps=(`echo "${expected_deps[@]}" "${actual_deps[@]}" | tr ' ' '\n' | sort | uniq -u`)
# shellcheck disable=SC2154 disable=SC2145 disable=SC2068 disable=SC2170 disable=SC1083
-if [ ${{#diff_deps[*]}} -eq 0 ]; then
+if [ ${#diff_deps[*]} -eq 0 ]; then
echo "RPM requirements are as expected"
else
echo "RPM requirements don't match the expected requirements"
# shellcheck disable=SC2154 disable=SC2145
- printf 'Dependency mismatch: %s\n' ${{diff_deps[@]}}
+ printf 'Dependency mismatch: %s\n' ${diff_deps[@]}
exit 1
fi
- project:
name: packetcable-csit-pcmm
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'packetcable'
- defaults:
name: global
+ prefix: '' # A prefix for job names sandbox for example: user-
karaf-version: karaf4
build-days-to-keep: 30
jobs:
- '{project-name}-ci-jobs':
build-node: centos7-builder-2c-2g
+ build-timeout: 60
- builder-check-poms
- builder-copy-sandbox-logs
+ - builder-openstack-cron
- gerrit-tox-verify
- # OpenStack Related
- - 'builder-verify-image-protection'
- - 'builder-cleanup-old-images'
- - 'builder-delete-orphaned-nodes'
- - 'builder-delete-stale-nodes'
- - 'builder-delete-stale-stacks'
# Automation for docs and jobs
- 'builder-update-image-list'
archive-artifacts: '**/*.log'
build-timeout: 30
jjb-version: 2.0.0
+ jenkins-urls: >
+ https://jenkins.opendaylight.org/releng
+ https://jenkins.opendaylight.org/sandbox
- project:
name: packer-jobs
- job-template:
- name: 'builder-verify-image-protection'
+ name: builder-openstack-cron
project-type: freestyle
- node: centos7-builder-2c-1g
+ node: '{build-node}'
properties:
- - opendaylight-infra-properties:
+ - lf-infra-properties:
build-days-to-keep: 7
parameters:
- - opendaylight-infra-parameters:
- os-cloud: '{os-cloud}'
+ - lf-infra-parameters:
project: '{project}'
+ stream: '{stream}'
branch: '{branch}'
- refspec: 'refs/heads/{branch}'
- artifacts: '{archive-artifacts}'
-
- scm:
- - git-scm:
- branch: '{branch}'
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: '{build-timeout}'
- # Listed after to override openstack-infra-wrappers clouds.yaml definition
- - config-file-provider:
- files:
- - file-id: clouds-yaml
- target: '$HOME/.config/openstack/clouds.yaml'
-
- triggers:
- - timed: '@daily'
-
- builders:
- - shell: !include-raw-escape:
- - opendaylight-infra-check-image-protection.sh
-
- publishers:
- - email-notification:
- email-recipients: '{email-recipients}'
- email-prefix: '[releng]'
- - lf-infra-publish
-
-
-- job-template:
- name: 'builder-cleanup-old-images'
- project-type: freestyle
- node: centos7-builder-2c-1g
-
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: 7
-
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: '{os-cloud}'
- project: '{project}'
- branch: '{branch}'
- refspec: 'refs/heads/{branch}'
- artifacts: '{archive-artifacts}'
+ lftools-version: '{lftools-version}'
+ - string:
+ name: OS_CLOUD
+ default: '{os-cloud}'
+ description: Artifacts to archive to the logs server.
+ - string:
+ name: ARCHIVE_ARTIFACTS
+ default: '{archive-artifacts}'
+ description: Artifacts to archive to the logs server.
+ - string:
+ name: JENKINS_URLS
+ default: '{jenkins-urls}'
+ description: 'Space separated list of Jenkins URLs to check for active builds'
scm:
- git-scm:
branch: '{branch}'
wrappers:
- - opendaylight-infra-wrappers:
+ - lf-infra-wrappers:
build-timeout: '{build-timeout}'
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
# Listed after to override openstack-infra-wrappers clouds.yaml definition
- config-file-provider:
files:
target: '$HOME/.config/openstack/clouds.yaml'
triggers:
- # Cleanup images on a weekly schedule
- - timed: '@weekly'
-
- builders:
- - shell: !include-raw-escape:
- - global-jjb/shell/lftools-install.sh
- - opendaylight-infra-cleanup-old-images.sh
-
- publishers:
- - email-notification:
- email-recipients: '{email-recipients}'
- email-prefix: '[releng]'
- - lf-infra-publish
-
-
-- job-template:
- name: builder-delete-orphaned-nodes
- project-type: freestyle
- node: centos7-builder-2c-1g
-
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: 7
-
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: '{os-cloud}'
- project: '{project}'
- branch: '{branch}'
- refspec: 'refs/heads/{branch}'
- artifacts: '{archive-artifacts}'
- - string:
- name: JENKINS_URLS
- default: 'https://jenkins.opendaylight.org/releng https://jenkins.opendaylight.org/sandbox'
- description: 'Space separated list of Jenkins URLs to check for active builds'
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: '{build-timeout}'
-
- triggers:
- # Attempt to clear up servers every 30 mins in case we have orphaned servers
- timed: '0,30 * * * *'
builders:
- - shell: !include-raw-escape: opendaylight-infra-cleanup-orphaned-nodes.sh
+ - odl-openstack-install
+ - shell: !include-raw-escape: global-jjb/shell/lftools-install.sh
+ # Servers
+ - odl-openstack-cleanup-stale-stacks
+ - odl-openstack-cleanup-stale-nodes
+ - odl-openstack-cleanup-orphaned-nodes
+ # Images
+ - odl-openstack-check-image-protection
+ - odl-openstack-cleanup-old-images
publishers:
- - email-notification:
- email-recipients: '{email-recipients}'
- email-prefix: '[releng]'
- lf-infra-publish
-
-- job-template:
- name: 'builder-delete-stale-nodes'
- project-type: freestyle
- node: centos7-builder-2c-1g
-
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: 7
-
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: '{os-cloud}'
- project: '{project}'
- branch: '{branch}'
- refspec: 'refs/heads/{branch}'
- artifacts: '{archive-artifacts}'
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: '{build-timeout}'
-
- triggers:
- # Attempt to clear up stacks every 30 mins in case we have orphaned stacks
- - timed: '0,30 * * * *'
-
- builders:
- - shell: !include-raw-escape:
- - global-jjb/shell/lftools-install.sh
- - opendaylight-infra-cleanup-stale-nodes.sh
-
- publishers:
- - email-notification:
- email-recipients: '{email-recipients}'
- email-prefix: '[releng]'
- - lf-infra-publish
-
-
-- job-template:
- name: 'builder-delete-stale-stacks'
- project-type: freestyle
- node: centos7-builder-2c-1g
-
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: 7
-
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: '{os-cloud}'
- project: '{project}'
- branch: '{branch}'
- refspec: 'refs/heads/{branch}'
- artifacts: '{archive-artifacts}'
- - string:
- name: JENKINS_URLS
- default: 'https://jenkins.opendaylight.org/releng https://jenkins.opendaylight.org/sandbox'
- description: 'Space separated list of Jenkins URLs to check for active builds'
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: '{build-timeout}'
-
- triggers:
- # Attempt to clear up stacks every 30 mins in case we have orphaned stacks
- - timed: '0,30 * * * *'
-
- builders:
- - shell: !include-raw-escape: opendaylight-infra-cleanup-stale-stacks.sh
-
- publishers:
- - email-notification:
- email-recipients: '{email-recipients}'
- email-prefix: '[releng]'
- - lf-infra-publish
-
-
- job-template:
name: 'builder-update-image-list'
project-type: freestyle
send-to:
- recipients
+
+- builder:
+ # Installs the openstack cli into a virtualenv at /tmp/v/openstack
+ name: odl-openstack-install
+ builders:
+ - shell: !include-raw: odl-openstack-install.sh
+
+- builder:
+ name: odl-openstack-check-image-protection
+ builders:
+ - shell: !include-raw: odl-openstack-check-image-protection.sh
+
+- builder:
+ name: odl-openstack-cleanup-old-images
+ builders:
+ - shell: !include-raw: odl-openstack-cleanup-old-images.sh
+
+- builder:
+ name: odl-openstack-cleanup-orphaned-nodes
+ builders:
+ - shell: !include-raw: odl-openstack-cleanup-orphaned-nodes.sh
+
+- builder:
+ name: odl-openstack-cleanup-stale-nodes
+ builders:
+ - shell: !include-raw: odl-openstack-cleanup-stale-nodes.sh
+
+- builder:
+ name: odl-openstack-cleanup-stale-stacks
+ builders:
+ - shell: !include-raw: odl-openstack-cleanup-stale-stacks.sh
+
- builder:
# Deploys a maven site to Nexus using lftools nexus-zip command
name: opendaylight-infra-deploy-maven-site
- project:
name: sdninterfaceapp-csit-basic
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'sdninterfaceapp'
- project:
name: sfc-csit-full-deploy
jobs:
- - '{project}-csit-3node-docker-{functionality}-{install}-{stream}'
+ - inttest-csit-3node-docker
# The project name
project: 'sfc'
- project:
name: sfc-csit-rest-basic
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
+ - inttest-csit-3node
# The project name
- project:
name: sfc-patch-test
jobs:
- - '{project}-patch-test-{feature}-{stream}'
+ - inttest-patch-test
# The project name
project: 'sfc'
- project:
name: sxp-csit-basic
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'sxp'
- project:
name: sxp-csit-routing
jobs:
- - '{project}-csit-3node-periodic-{functionality}-{install}-{stream}'
+ - inttest-csit-3node-periodic
# The project name
project: 'sxp'
- project:
name: sxp-csit-clustering
jobs:
- - '{project}-csit-3node-periodic-{functionality}-{install}-{stream}'
+ - inttest-csit-3node-periodic
# The project name
project: 'sxp'
- project:
name: sxp-csit-filtering
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'sxp'
- project:
name: sxp-csit-performance
jobs:
- - '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
+ - inttest-csit-1node-periodic
# The project name
project: 'sxp'
- project:
name: sxp-csit-topology
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - inttest-csit-1node
# The project name
project: 'sxp'
- project:
name: topoprocessing-csit-topology-operations
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'topoprocessing'
- project:
name: tsdr-csit-cassandra
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'tsdr'
- project:
name: tsdr-csit-elasticsearch
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'tsdr'
- project:
name: tsdr-csit-hbase
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'tsdr'
- project:
name: tsdr-csit-hsqldb
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'tsdr'
- project:
name: unimgr-csit-basic
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'unimgr'
- project:
name: unimgr-csit-legato
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'unimgr'
- project:
name: usc-csit-channel
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'usc'
- project:
name: usc-csit-tcp
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'usc'
- project:
name: usecplugin-csit-basic
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'usecplugin'
- project:
name: vtn-csit-3node-manager
jobs:
- - '{project}-csit-3node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-3node-{functionality}'
+ - inttest-csit-3node
+ - inttest-csit-verify-3node
# The project name
project: 'vtn'
- project:
name: vtn-csit-vtn-coordinator
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'vtn'
- project:
name: vtn-csit-manager
jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - inttest-csit-1node
+ - inttest-csit-verify-1node
# The project name
project: 'vtn'
- project:
name: vtn-manager-csit-openstack-integration
jobs:
- - '{project}-csit-{topology}-openstack-{openstack}-{functionality}-{stream}'
+ - inttest-csit-openstack
# The project name
project: 'vtn'
- project:
name: vtn-patch-test
jobs:
- - '{project}-patch-test-{feature}-{stream}'
+ - inttest-patch-test
# The project name
project: 'vtn'
- project:
name: yangtools-csit-system
jobs:
- - '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
+ - inttest-csit-1node-periodic
# The project name
project: 'yangtools'
deps = flake8
commands = flake8 scripts/
+[testenv:prefix]
+commands = ./check_prefix.sh
+
[testenv:robot]
commands = ./check_robot.sh