- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
project: '<NEW_PROJECT>'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: carbon
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: boron
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: beryllium
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- shell: |
# TODO: Remove this condition once stable/beryllium is no longer
# officially maintained.
- if [ "$RELEASE_BRANCH" != "stable/beryllium" ]; then
+ if [ "$GERRIT_BRANCH" != "stable/beryllium" ]; then
virtualenv --system-site-packages $WORKSPACE/venv
source $WORKSPACE/venv/bin/activate
pip install --upgrade pip
- boron:
branch: 'stable/boron'
jre: 'openjdk8'
+ install-features: 'odl-restconf,odl-bgpcep-data-change-counter,odl-bgpcep-bgp-all,odl-bgpcep-bgp,odl-netconf-connector-all'
+ robot-options: '-v USE_NETCONF_CONNECTOR:True -v CHECK_PERIOD_PREFIX_COUNT_SINGLE:10 -v REPETITIONS_CHANGE_COUNT_SINGLE:3 -v CHECK_PERIOD_PREFIX_COUNT_MANY:10 -v TEST_DURATION_MULTIPLIER_PREFIX_COUNT_MANY:8.0 -v REPETITIONS_CHANGE_COUNT_MANY:10 -v MULTIPLICITY_CHANGE_COUNT_MANY:600 -v TEST_DURATION_MULTIPLIER_CHANGE_COUNT_MANY:8.0 '
- beryllium:
branch: 'stable/beryllium'
jre: 'openjdk7'
+ install-features: 'odl-restconf,odl-bgpcep-data-change-counter,odl-bgpcep-bgp-all,odl-bgpcep-bgp,odl-netconf-connector-all'
+ robot-options: '-v USE_NETCONF_CONNECTOR:True -v CHECK_PERIOD_PREFIX_COUNT_SINGLE:10 -v REPETITIONS_CHANGE_COUNT_SINGLE:3 -v CHECK_PERIOD_PREFIX_COUNT_MANY:10 -v TEST_DURATION_MULTIPLIER_PREFIX_COUNT_MANY:8.0 -v REPETITIONS_CHANGE_COUNT_MANY:10 -v MULTIPLICITY_CHANGE_COUNT_MANY:600 -v TEST_DURATION_MULTIPLIER_CHANGE_COUNT_MANY:8.0 '
install:
- only:
scope: 'all'
# Features to install
- install-features: 'odl-restconf,odl-bgpcep-data-change-counter,odl-bgpcep-bgp-all,odl-bgpcep-bgp,odl-netconf-connector-all'
+ install-features: 'odl-restconf,odl-bgpcep-data-change-counter,odl-bgpcep-bgp-all,odl-bgpcep-bgp,odl-netconf-topology'
# Robot custom options:
- robot-options: '-v USE_NETCONF_CONNECTOR:True -v CHECK_PERIOD_PREFIX_COUNT_SINGLE:10 -v REPETITIONS_CHANGE_COUNT_SINGLE:3 -v CHECK_PERIOD_PREFIX_COUNT_MANY:10 -v TEST_DURATION_MULTIPLIER_PREFIX_COUNT_MANY:8.0 -v REPETITIONS_CHANGE_COUNT_MANY:10 -v MULTIPLICITY_CHANGE_COUNT_MANY:600 -v TEST_DURATION_MULTIPLIER_CHANGE_COUNT_MANY:8.0 '
+ robot-options: '-v USE_NETCONF_CONNECTOR:False -v CHECK_PERIOD_PREFIX_COUNT_SINGLE:10 -v REPETITIONS_CHANGE_COUNT_SINGLE:3 -v CHECK_PERIOD_PREFIX_COUNT_MANY:10 -v TEST_DURATION_MULTIPLIER_PREFIX_COUNT_MANY:8.0 -v REPETITIONS_CHANGE_COUNT_MANY:10 -v MULTIPLICITY_CHANGE_COUNT_MANY:600 -v TEST_DURATION_MULTIPLIER_CHANGE_COUNT_MANY:8.0 '
# Trigger jobs: (daily)
schedule: 'H H * * *'
scope: 'all'
# Features to install
- install-features: 'odl-restconf,odl-bgpcep-pcep-all,odl-bgpcep-pcep,odl-netconf-connector-all'
+ install-features: 'odl-restconf,odl-bgpcep-pcep-all,odl-bgpcep-pcep'
# Readiness check timeout is lowered from the suite's high default value.
# The other options are workarounds for Sandbox not being as performant
# as the private lab where this suite was developed.
# Robot custom options:
- robot-options: '-v USE_NETCONF_CONNECTOR:True -v PCEP_READY_VERIFY_TIMEOUT:5 -v RESTCONF_REUSE:False -v UPDATER_TIMEOUT:600'
+ robot-options: '-v USE_NETCONF_CONNECTOR:False -v PCEP_READY_VERIFY_TIMEOUT:5 -v RESTCONF_REUSE:False -v UPDATER_TIMEOUT:600'
# This performance test can take up to one hour to finish,
# so the job is defined to run once a day.
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'\r
- '{project-name}-integration-{stream}'\r
- '{project-name}-merge-{stream}'\r
- - '{project-name}-periodic-{stream}'\r
- '{project-name}-validate-autorelease-{stream}'\r
- '{project-name}-verify-{stream}-{maven}-{jdks}'\r
\r
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: carbon
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: boron
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: beryllium
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
project: 'daexim'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: carbon
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: boron
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: beryllium
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: beryllium
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- boron:
branch: 'stable/boron'
jre: 'openjdk8'
+ install-features: 'odl-restconf,odl-distribution-version,odl-netconf-connector-all,odl-jolokia'
+ robot-options: '-v USE_NETCONF_CONNECTOR:True'
- beryllium:
branch: 'stable/beryllium'
jre: 'openjdk7'
+ install-features: 'odl-restconf,odl-distribution-version,odl-netconf-connector-all,odl-jolokia'
+ robot-options: '-v USE_NETCONF_CONNECTOR:True'
# TODO: Add Beryllium when everything is backported there.
scope: 'all'
# Features to install
- install-features: 'odl-restconf,odl-distribution-version,odl-netconf-connector-all,odl-jolokia'
+ install-features: 'odl-restconf,odl-distribution-version,odl-netconf-topology,odl-jolokia'
# Robot custom options
- robot-options: '-v USE_NETCONF_CONNECTOR:True'
+ robot-options: '-v USE_NETCONF_CONNECTOR:False'
# Trigger jobs (upstream dependencies)
trigger-jobs: >
echo "sleep for a minute and print hypervisor-list"
sleep 60
${SSH} ${OPENSTACK_CONTROL_NODE_IP} "cd /opt/stack/devstack; source openrc admin admin; nova hypervisor-list"
+expected_num_hypervisors=$((NUM_OPENSTACK_SYSTEM - 1))
+num_hypervisors=$(${SSH} ${OPENSTACK_CONTROL_NODE_IP} "cd /opt/stack/devstack; source openrc admin admin; openstack hypervisor list -f value | wc -l" | tail -1 | tr -d "\r")
+if ! [ "${num_hypervisors}" ] || ! [ ${num_hypervisors} -eq ${expected_num_hypervisors} ]; then
+ echo "Error: Only $num_hypervisors hypervisors detected, expected $expected_num_hypervisors"
+ collect_logs_and_exit
+ exit 1
+fi
#Need to disable firewalld and iptables in compute nodes as well
for i in `seq 1 $((NUM_OPENSTACK_SYSTEM - 1))`
pip install --upgrade docker-py importlib requests scapy netifaces netaddr ipaddr pyhocon
pip install --upgrade robotframework{,-{httplibrary,requests,sshlibrary,selenium2library}}
-pip install paramiko==2.0.2
# Module jsonpath is needed by current AAA idmlite suite.
pip install --upgrade jsonpath-rw
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
archive-artifacts: ''
- project:
- name: netvirt-routermanager
+ name: netvirt-vpp
jobs:
+ - '{project-name}-clm-{stream}'
- '{project-name}-distribution-{stream}'
- '{project-name}-distribution-check-{stream}'
+ - '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
+ - '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- stream: routermanager
+ stream: vpp
project: 'netvirt'
project-name: 'netvirt'
- branch: 'topic/routermanager'
+ branch: 'topic/vpp'
jdk: openjdk8
jdks:
- openjdk8
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: carbon
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: boron
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: beryllium
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
$WORKSPACE/packaging/rpm/build.py --build-latest-snap \
--major "$VERSION_MAJOR" \
--minor "$VERSION_MINOR" \
- --patch "$VERSION_PATCH" \
- --rpm "$RPM_RELEASE" \
--sysd_commit "$SYSD_COMMIT" \
--changelog_name "$CHANGELOG_NAME" \
--changelog_email "$CHANGELOG_EMAIL"
pip install -r $WORKSPACE/packaging/rpm/requirements.txt
# Build release specified by build params
-$WORKSPACE/packaging/rpm/build.py --major "$VERSION_MAJOR" \
- --minor "$VERSION_MINOR" \
- --patch "$VERSION_PATCH" \
- --rpm "$RPM_RELEASE" \
+$WORKSPACE/packaging/rpm/build.py --download_url "$DOWNLOAD_URL" \
--sysd_commit "$SYSD_COMMIT" \
- --codename "$CODENAME" \
- --download_url "$DOWNLOAD_URL" \
--changelog_date "$CHANGELOG_DATE" \
--changelog_name "$CHANGELOG_NAME" \
--changelog_email "$CHANGELOG_EMAIL"
--- /dev/null
+#!/usr/bin/expect
+# This script starts the karaf shell and sends the password for SSH auth.
+# Further tests in karaf shell can be done here
+
+# Default password
+set password "karaf"
+# Default prompt
+set prompt "opendaylight-user@root>"
+
+# OpenDaylight service requires some time after it starts for a successful
+# SSH connection
+sleep 10
+
+# SSH into Karaf shell
+spawn ssh -p 8101 -o StrictHostKeyChecking=no karaf@127.0.0.1
+expect "Password: "
+send "$password\r"
+
+# Verify expected features
+expect "$prompt"
+send "feature:list | grep netvirt-openstack\r"
+expect "$prompt"
+
+# TODO Add further tests here
--- /dev/null
+#!/bin/bash
+
+# Options:
+# -x: Echo commands
+# -e: Fail on errors
+# -o pipefail: Fail on errors in scripts this calls, give stacktrace
+set -ex -o pipefail
+
+# Remove opendaylight if already installed
+if rpm -q opendaylight > /dev/null;
+then
+ sudo yum remove -y opendaylight;
+fi
+
+# Install ODL from .rpm link or .repo url
+if [[ $URL == *.rpm ]]
+then
+ sudo yum install -y "$URL"
+elif [[ $URL == *.repo ]]
+then
+ sudo curl --silent -o "$REPO_FILE" "$URL"
+ sudo yum install -y opendaylight
+else
+ echo "URL is not a link to .rpm or .repo"
+fi
+
+# Install expect to interact with karaf shell
+sudo yum install -y expect
+
+# Start OpenDaylight
+sudo systemctl start opendaylight
+
+# Check status of OpenDaylight
+sudo systemctl status opendaylight
+
+# Get process id of Java
+pgrep java
- '{project-name}-verify-python-{stream}'
- '{project-name}-build-rpm-{stream}'
- '{project-name}-build-rpm-snap-{stream}'
+ - '{project-name}-test-rpm-{stream}'
- '{project-name}-build-deb-{stream}'
project: 'integration/packaging'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- string:
- name: VERSION_MAJOR
- default: '5'
- description: 'OpenDaylight major (element) version number to build'
- - string:
- name: VERSION_MINOR
- default: '0'
- description: 'OpenDaylight minor (SR) version number to build'
- - string:
- name: VERSION_PATCH
- default: '0'
- description: 'OpenDaylight patch version to build'
- - string:
- name: RPM_RELEASE
- default: '1'
- description: 'RPM version for the given ODL major.minor.patch'
+ name: DOWNLOAD_URL
+ default: 'https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/distribution-karaf/0.5.0-Boron/distribution-karaf-0.5.0-Boron.tar.gz'
+ description: 'URL to ODL tarball artifact to repackage into RPM'
- string:
name: SYSD_COMMIT
default: '07f7c83b0ef46ad3809e5be03e09a77fe554eeae'
description: 'Version of ODL systemd unitfile to download and package in ODL RPM'
- - string:
- name: CODENAME
- default: 'Boron'
- description: 'Elemental codename for the ODL release, including SR if applicable'
- - string:
- name: DOWNLOAD_URL
- default: 'https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/distribution-karaf/0.5.0-Boron/distribution-karaf-0.5.0-Boron.tar.gz'
- description: 'URL to ODL tarball artifact to repackage into RPM'
- string:
name: CHANGELOG_DATE
default: 'Sun Aug 25 1991'
name: VERSION_MINOR
default: '2'
description: 'OpenDaylight minor (SR) version number to build'
- - string:
- name: VERSION_PATCH
- default: '0'
- description: 'OpenDaylight patch version to build'
- - string:
- name: RPM_RELEASE
- default: '0.1.20161212snap531'
- description: 'RPM version for the given ODL major.minor.patch'
- string:
name: SYSD_COMMIT
default: '07f7c83b0ef46ad3809e5be03e09a77fe554eeae'
- archive-artifacts:
artifacts: '**/*.rpm'
+- job-template:
+ name: '{project-name}-test-rpm-{stream}'
+
+ node: dynamic_verify
+
+ parameters:
+ - opendaylight-infra-parameters:
+ project: '{project}'
+ branch: '{branch}'
+ refspec: 'refs/heads/{branch}'
+ artifacts: '{archive-artifacts}'
+ - string:
+ name: URL
+ default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/rpm/example_repo_configs/opendaylight-51-release.repo'
+ description: 'Link to .repo or .rpm file'
+ - string:
+ name: REPO_FILE
+ default: '/etc/yum.repos.d/opendaylight-51-release.repo'
+ description: 'Name of the .repo file'
+
+ scm:
+ - integration-gerrit-scm:
+ basedir: 'packaging'
+ refspec: '$GERRIT_REFSPEC'
+ branch: 'master'
+
+ wrappers:
+ - opendaylight-infra-wrappers:
+ build-timeout: '{build-timeout}'
+
+ builders:
+ - shell: !include-raw: include-raw-test-rpm.sh
+ - shell: !include-raw: include-raw-test-karaf.sh
+
+ publishers:
+ - archive-artifacts:
+ artifacts: '**'
+
- job-template:
name: '{project-name}-build-deb-{stream}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: carbon
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: boron
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: beryllium
name: global
build-days-to-keep: 30
- build-num-to-keep: 40
- build-artifact-days-to-keep: -1
- build-artifact-num-to-keep: 5
+
# Timeout in minutes
build-timeout: 360
build-node: centos7-java-builder-2c-8g
templates:
- devstack
+ - devstack-pre-pip-mitaka
+ - devstack-pre-pip-newton
- docker
- gbp
- java-builder
templates: mininet-ovs-2.5
- platforms: ubuntu-14.04
templates: java-builder
- - platforms: centos
- templates: gbp
- platforms: ubuntu-14.04
templates: robot
+ - platforms: ubuntu-14.04
+ templates: devstack-pre-pip-mitaka
+ - platforms: ubuntu-14.04
+ templates: devstack-pre-pip-newton
project-type: freestyle
archive-artifacts: '**/*.log'
- opendaylight-infra-shiplogs:
maven-version: 'mvn33'
-- job-template:
- name: '{project-name}-periodic-{stream}'
-
- # Job template for periodic builders
- #
- # The purpose of this job template is to setup a periodic
- # builder.
- #
- # Required Variables:
- # stream: release stream (eg. boron or carbon)
- # branch: git branch (eg. stable/boron or master)
-
- project-type: freestyle
- node: '{build-node}'
- jdk: '{jdk}'
-
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: 14
-
- parameters:
- - opendaylight-infra-parameters:
- project: '{project}'
- branch: '{branch}'
- refspec: 'refs/heads/{branch}'
- artifacts: '{archive-artifacts}'
-
- scm:
- - git-scm:
- refspec: ''
- branch: '{branch}'
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: '{build-timeout}'
-
- triggers:
- - timed: '@daily'
-
- builders:
- - jacoco-nojava-workaround
- - provide-maven-settings:
- global-settings-file: 'odl-global-settings'
- settings-file: '{mvn-settings}'
- - maven-target:
- maven-version: 'mvn33'
- goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
- java-opts:
- - '{mvn-opts}'
- settings: '{mvn-settings}'
- settings-type: cfp
- global-settings: 'odl-global-settings'
- global-settings-type: cfp
-
- publishers:
- - email-notification:
- email-recipients: '{email-recipients}'
- email-prefix: '[{project-name}]'
- - jacoco-report
- - findbugs
- - opendaylight-infra-shiplogs:
- maven-version: 'mvn33'
-
- job-template:
name: '{project-name}-sonar'
disabled: false
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: carbon
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: boron
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: beryllium
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
node -v
npm -v
- echo "---> Ensure mongo is running"
- ps -A | grep -q '[m]ongod'
- if [ ! "$?" -eq "0" ]; then
- echo "The mongod server DOWN", restarting...
- if [ ! -d mongo ]; then
- mkdir mongo
- fi
- echo "---> Starting mongo"
- mongod --dbpath ~/mongo &
- fi
-
echo "---> Restart spectrometer-api"
pkill gunicorn
sleep 5 # Sleep 5 seconds for cooldown
nohup gunicorn -b 0.0.0.0:5000 'spectrometer:run_app()' --timeout 600 -k gevent >> ~/gunicorn.out &
+ sleep 120 # Sleep 2 minutes to allow Spectrometer to initialize
echo "---> Restart spectrometer-web"
pkill node
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
--- /dev/null
+- project:
+ name: systemmetrics-carbon
+ jobs:
+ - '{project-name}-clm-{stream}'
+ - '{project-name}-distribution-{stream}'
+ - '{project-name}-integration-{stream}'
+ - '{project-name}-merge-{stream}'
+ - '{project-name}-verify-{stream}-{maven}-{jdks}'
+
+ project: 'systemmetrics'
+ project-name: 'systemmetrics'
+ stream: carbon
+ branch: 'master'
+ jdk: openjdk8
+ jdks:
+ - openjdk8
+ maven:
+ - mvn33:
+ mvn-version: 'mvn33'
+ mvn-settings: 'systemmetrics-settings'
+ mvn-goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
+ mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+ dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
+ email-upstream: '[systemmetrics] [odlparent] [yangtools] [controller]'
+ archive-artifacts: ''
+
+- project:
+ name: systemmetrics-sonar
+ jobs:
+ - '{project-name}-sonar'
+
+ project: 'systemmetrics'
+ project-name: 'systemmetrics'
+ branch: 'master'
+ mvn-settings: 'systemmetrics-settings'
+ mvn-goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
+ mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
\ No newline at end of file
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: carbon
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: boron
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
project: 'transportpce'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: carbon
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: boron
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: carbon
- '{project-name}-distribution-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
stream: boron
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
- '{project-name}-distribution-check-{stream}'
- '{project-name}-integration-{stream}'
- '{project-name}-merge-{stream}'
- - '{project-name}-periodic-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
--- /dev/null
+#!/bin/bash
+
+echo '---> Installing non-baseline requirements'
+yum install -y deltarpm nc python{,-{crypto,devel,lxml,setuptools}} \
+ @development {lib{xml2,xslt,ffi},openssl}-devel git wget
+
+echo '---> Updating net link setup'
+if [ ! -f /etc/udev/rules.d/80-net-setup-link.rules ]; then
+ ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
+fi
+
+echo '---> Pre-installing yum and pip packages'
+projs="requirements keystone glance cinder neutron nova horizon"
+branch=${os_branch}
+
+wget https://bootstrap.pypa.io/get-pip.py
+python get-pip.py
+
+mkdir tmp
+cd tmp
+
+git clone https://github.com/openstack-dev/devstack.git
+(cd devstack && git checkout ${branch})
+sed -e 's/#.*//' devstack/files/rpms/general | xargs yum install -y
+
+base_url=https://github.com/openstack/
+for proj in $projs
+do
+ git clone ${base_url}${proj}
+ (cd ${proj} && git checkout ${branch})
+ pip install -c requirements/upper-constraints.txt -e ${proj}
+ pip install -c requirements/upper-constraints.txt -r ${proj}/test-requirements.txt
+done
+
+cd $OLDPWD
+rm -fr tmp
+
+# vim: sw=4 ts=4 sts=4 et :
--- /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,
+
+ "private_base_image": null,
+ "private_network": null,
+ "private_cloud_user": null,
+ "private_auth_url": null,
+ "private_tenant": null,
+ "private_user": null,
+ "private_pass": null,
+
+ "distro": null,
+ "cloud_user_data": null
+ },
+ "builders": [
+ {
+ "type": "openstack",
+ "name": "public_cloud",
+ "identity_endpoint": "{{user `public_auth_url`}}",
+ "tenant_name": "{{user `public_tenant`}}",
+ "username": "{{user `public_user`}}",
+ "password": "{{user `public_pass`}}",
+ "region": "DFW",
+ "ssh_username": "{{user `public_cloud_user`}}",
+ "image_name": "{{user `distro`}} - devstack - mitaka - {{isotime \"20060102-1504\"}}",
+ "source_image_name": "{{user `public_base_image`}}",
+ "flavor": "general1-1",
+ "networks": [
+ "{{user `public_network`}}"
+ ],
+ "user_data_file": "{{user `cloud_user_data`}}"
+ },
+ {
+ "type": "openstack",
+ "name": "private_cloud",
+ "identity_endpoint": "{{user `private_auth_url`}}",
+ "tenant_name": "{{user `private_tenant`}}",
+ "username": "{{user `private_user`}}",
+ "password": "{{user `private_pass`}}",
+ "ssh_username": "{{user `private_cloud_user`}}",
+ "image_name": "{{user `distro`}} - devstack - mitaka - {{isotime \"20060102-1504\"}}",
+ "source_image_name": "{{user `private_base_image`}}",
+ "flavor": "general1-1",
+ "networks": [
+ "{{user `private_network`}}"
+ ],
+ "user_data_file": "{{user `cloud_user_data`}}"
+ }
+ ],
+ "provisioners": [
+ {
+ "type": "shell",
+ "environment_vars": [
+ "os_branch=stable/mitaka"
+ ],
+ "scripts": [
+ "provision/baseline.sh",
+ "provision/devstack-pre-pip.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,
+
+ "private_base_image": null,
+ "private_network": null,
+ "private_cloud_user": null,
+ "private_auth_url": null,
+ "private_tenant": null,
+ "private_user": null,
+ "private_pass": null,
+
+ "distro": null,
+ "cloud_user_data": null
+ },
+ "builders": [
+ {
+ "type": "openstack",
+ "name": "public_cloud",
+ "identity_endpoint": "{{user `public_auth_url`}}",
+ "tenant_name": "{{user `public_tenant`}}",
+ "username": "{{user `public_user`}}",
+ "password": "{{user `public_pass`}}",
+ "region": "DFW",
+ "ssh_username": "{{user `public_cloud_user`}}",
+ "image_name": "{{user `distro`}} - devstack - newton - {{isotime \"20060102-1504\"}}",
+ "source_image_name": "{{user `public_base_image`}}",
+ "flavor": "general1-1",
+ "networks": [
+ "{{user `public_network`}}"
+ ],
+ "user_data_file": "{{user `cloud_user_data`}}"
+ },
+ {
+ "type": "openstack",
+ "name": "private_cloud",
+ "identity_endpoint": "{{user `private_auth_url`}}",
+ "tenant_name": "{{user `private_tenant`}}",
+ "username": "{{user `private_user`}}",
+ "password": "{{user `private_pass`}}",
+ "ssh_username": "{{user `private_cloud_user`}}",
+ "image_name": "{{user `distro`}} - devstack - newton - {{isotime \"20060102-1504\"}}",
+ "source_image_name": "{{user `private_base_image`}}",
+ "flavor": "general1-1",
+ "networks": [
+ "{{user `private_network`}}"
+ ],
+ "user_data_file": "{{user `cloud_user_data`}}"
+ }
+ ],
+ "provisioners": [
+ {
+ "type": "shell",
+ "environment_vars": [
+ "os_branch=stable/newton"
+ ],
+ "scripts": [
+ "provision/baseline.sh",
+ "provision/devstack-pre-pip.sh",
+ "provision/system_reseal.sh"
+ ],
+ "execute_command": "chmod +x {{ .Path }}; if [ \"$UID\" == \"0\" ]; then {{ .Vars }} '{{ .Path }}'; else {{ .Vars }} sudo -E '{{ .Path }}'; fi"
+ }
+ ]
+}