Merge "Increment Tools System Count - coe"
authorJamo Luhrsen <jluhrsen@redhat.com>
Tue, 6 Nov 2018 01:00:55 +0000 (01:00 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Tue, 6 Nov 2018 01:00:55 +0000 (01:00 +0000)
318 files changed:
.gitmodules
docs/cloud-images.rst
global-jjb [new submodule]
jenkins-config/clouds/openstack/odlvex/centos7-apex-2c-2g.cfg [new file with mode: 0644]
jenkins-config/clouds/openstack/odlvex/centos7-autorelease-4c-16g.cfg
jenkins-config/clouds/openstack/odlvex/centos7-autorelease-8c-32g.cfg
jenkins-config/clouds/openstack/odlvex/centos7-autorelease-8c-8g.cfg
jenkins-config/clouds/openstack/odlvex/centos7-builder-2c-1g.cfg
jenkins-config/clouds/openstack/odlvex/centos7-builder-2c-2g.cfg
jenkins-config/clouds/openstack/odlvex/centos7-builder-2c-8g.cfg
jenkins-config/clouds/openstack/odlvex/centos7-builder-4c-16g.cfg
jenkins-config/clouds/openstack/odlvex/centos7-builder-4c-4g.cfg
jenkins-config/clouds/openstack/odlvex/centos7-builder-8c-8g.cfg
jenkins-config/clouds/openstack/odlvex/cloud.cfg
jenkins-config/clouds/openstack/odlvex/ubuntu1604-mininet-ovs-25-1c-4g.cfg
jenkins-config/global-vars-releng.sh
jenkins-config/global-vars-sandbox.sh
jenkins-scripts/README [deleted file]
jenkins-scripts/basic_settings.sh [deleted file]
jenkins-scripts/builder.sh [deleted file]
jenkins-scripts/create_jenkins_user.sh [deleted file]
jenkins-scripts/devstack.sh [deleted file]
jenkins-scripts/disable_firewall.sh [deleted file]
jenkins-scripts/docker.sh [deleted file]
jenkins-scripts/jenkins-init-script-local-env.sh [deleted file]
jenkins-scripts/jenkins-init-script.sh [deleted file]
jenkins-scripts/mininet-ubuntu.sh [deleted file]
jenkins-scripts/robot.sh [deleted file]
jenkins-scripts/system_type.sh [deleted file]
jenkins-scripts/ubuntu-docker-ovs.sh [deleted file]
jjb/aaa/aaa-csit-authn.yaml
jjb/aaa/aaa-csit-keystone.yaml
jjb/aaa/aaa-csit-tls.yaml
jjb/aaa/aaa-patch-test.yaml
jjb/aaa/aaa.yaml
jjb/alto/alto-csit-setup.yaml
jjb/alto/alto.yaml
jjb/archetypes/archetypes.yaml
jjb/atrium/atrium.yaml [deleted file]
jjb/autorelease/autorelease-macros.yaml
jjb/autorelease/autorelease-maven-deploy.sh
jjb/autorelease/autorelease-projects.yaml
jjb/autorelease/autorelease-templates.yaml
jjb/autorelease/autorelease-version-management.yaml
jjb/autorelease/branch-cut.sh
jjb/autorelease/compare-autorelease-projects.sh
jjb/autorelease/generate-release-notes.sh
jjb/autorelease/notify-build-failure.sh
jjb/autorelease/prepare-release.sh
jjb/autorelease/update-autorelease-projects-views.sh
jjb/autorelease/update-validate-autorelease-projects.sh
jjb/autorelease/validate-autorelease-fluorine.yaml
jjb/autorelease/validate-autorelease-neon.yaml [new file with mode: 0644]
jjb/autorelease/version-bump.sh
jjb/autorelease/view-autorelease-neon.yaml [new file with mode: 0644]
jjb/bgpcep/bgpcep-csit-bgp-ingest-mixed.yaml
jjb/bgpcep/bgpcep-csit-bgp-ingest.yaml
jjb/bgpcep/bgpcep-csit-bgpclustering-ha.yaml
jjb/bgpcep/bgpcep-csit-bgpclustering-longevity.yaml
jjb/bgpcep/bgpcep-csit-bgpclustering.yaml
jjb/bgpcep/bgpcep-csit-throughpcep.yaml
jjb/bgpcep/bgpcep-csit-userfeatures.yaml
jjb/bgpcep/bgpcep-patch-test.yaml
jjb/bgpcep/bgpcep.yaml
jjb/bier/bier-csit-basic.yaml
jjb/bier/bier.yaml
jjb/capwap/capwap-csit-ac.yaml
jjb/capwap/capwap.yaml
jjb/cardinal/cardinal.yaml
jjb/centinel/centinel-csit-basic.yaml
jjb/centinel/centinel.yaml
jjb/coe/coe-csit.yaml
jjb/coe/coe-patch-test.yaml
jjb/coe/coe.yaml
jjb/controller/controller-csit-akka1.yaml
jjb/controller/controller-csit-clustering.yaml
jjb/controller/controller-csit-cs-chasing-leader.yaml
jjb/controller/controller-csit-cs-partnheal.yaml
jjb/controller/controller-csit-ddb-expl-lead-movement.yaml
jjb/controller/controller-csit-dnb-noloss.yaml
jjb/controller/controller-csit-drb-partnheal.yaml
jjb/controller/controller-csit-drb-precedence.yaml
jjb/controller/controller-csit-dsbenchmark-cluster.yaml
jjb/controller/controller-csit-dsbenchmark.yaml
jjb/controller/controller-csit-rest-cars-perf.yaml
jjb/controller/controller-csit-rest-clust-cars-perf.yaml
jjb/controller/controller-patch-test.yaml
jjb/controller/controller.yaml
jjb/coretutorials/coretutorials.yaml
jjb/daexim/daexim-csit-basic.yaml
jjb/daexim/daexim-csit-clustering-basic.yaml
jjb/daexim/daexim.yaml
jjb/defaults.yaml
jjb/didm/didm-csit-discovery.yaml
jjb/didm/didm.yaml
jjb/dlux/dlux.yaml
jjb/dluxapps/dluxapps-csit-yangman.yaml
jjb/dluxapps/dluxapps.yaml
jjb/docs/docs-rtd.yaml
jjb/eman/eman.yaml
jjb/faas/faas.yaml
jjb/federation/federation.yaml
jjb/genius/genius-csit-genius.yaml
jjb/genius/genius-patch-test.yaml
jjb/genius/genius.yaml
jjb/global-jjb [deleted submodule]
jjb/global-jjb/jenkins-admin [new symlink]
jjb/global-jjb/jenkins-init-scripts [new symlink]
jjb/global-jjb/jjb [new symlink]
jjb/global-jjb/shell [new symlink]
jjb/groupbasedpolicy/groupbasedpolicy-csit-1node-openstack.yaml
jjb/groupbasedpolicy/groupbasedpolicy-csit-3node.yaml
jjb/groupbasedpolicy/groupbasedpolicy-csit-6node.yaml
jjb/groupbasedpolicy/groupbasedpolicy-csit-clustering.yaml
jjb/groupbasedpolicy/groupbasedpolicy-csit-sxp.yaml
jjb/groupbasedpolicy/groupbasedpolicy.yaml
jjb/honeycomb/vbd/vbd.yaml
jjb/infrautils/infrautils-patch-test.yaml
jjb/infrautils/infrautils.yaml
jjb/integration/common-functions.sh
jjb/integration/copy-common-functions.sh
jjb/integration/csit-jobs-fluorine.lst
jjb/integration/csit-jobs-neon.lst [new file with mode: 0644]
jjb/integration/csit-jobs-oxygen.lst
jjb/integration/distribution/distribution-check-bootup.sh
jjb/integration/distribution/distribution-csit-userfeatures.yaml
jjb/integration/distribution/distribution-jobs.yaml
jjb/integration/distribution/distribution-templates.yaml
jjb/integration/integration-apex-run-tests.sh [new file with mode: 0644]
jjb/integration/integration-compare-distributions.sh
jjb/integration/integration-configure-clustering.sh
jjb/integration/integration-deploy-controller-run-test.sh
jjb/integration/integration-deploy-openstack-run-test.sh
jjb/integration/integration-detect-variables.sh
jjb/integration/integration-get-apex-addresses.sh [new file with mode: 0644]
jjb/integration/integration-get-slave-addresses.sh
jjb/integration/integration-install-robotframework.sh
jjb/integration/integration-macros.yaml
jjb/integration/integration-templates.yaml
jjb/integration/integration-test-jobs.yaml
jjb/integration/multipatch-distribution.sh
jjb/integration/update-csit-tests.sh
jjb/iotdm/iotdm-csit-basic.yaml
jjb/iotdm/iotdm.yaml
jjb/jsonrpc/jsonrpc-csit-basic.yaml
jjb/jsonrpc/jsonrpc.yaml
jjb/l2switch/l2switch-csit-host-scalability-daily.yaml
jjb/l2switch/l2switch-csit-scalability.yaml
jjb/l2switch/l2switch-csit-switch.yaml
jjb/l2switch/l2switch-patch-test.yaml
jjb/l2switch/l2switch.yaml
jjb/lacp/lacp-csit-lacp.yaml
jjb/lacp/lacp.yaml
jjb/lf-infra/lf-infra-jobs.yaml
jjb/lfn/lfn.yaml
jjb/lispflowmapping/lispflowmapping-csit-msmr.yaml
jjb/lispflowmapping/lispflowmapping-csit-performance.yaml
jjb/lispflowmapping/lispflowmapping.yaml
jjb/mdsal/mdsal-csit-bindingv1.yaml
jjb/mdsal/mdsal-patch-test.yaml
jjb/mdsal/mdsal.yaml
jjb/messaging4transport/messaging4transport-csit-basic.yaml [deleted file]
jjb/messaging4transport/messaging4transport.yaml [deleted file]
jjb/natapp/natapp.yaml
jjb/nemo/nemo-csit-engine.yaml
jjb/nemo/nemo.yaml
jjb/netconf/netconf-cluster-stress.yaml
jjb/netconf/netconf-clustering-scale.yaml
jjb/netconf/netconf-clustering.yaml
jjb/netconf/netconf-csit-callhome.yaml
jjb/netconf/netconf-patch-test.yaml
jjb/netconf/netconf-scale.yaml
jjb/netconf/netconf-userfeatures.yaml
jjb/netconf/netconf.yaml
jjb/netide/netide-csit-basic.yaml [deleted file]
jjb/netide/netide.yaml
jjb/netvirt/cleanup-docker.sh [deleted file]
jjb/netvirt/include-setup-hwvtep-docker.sh [deleted file]
jjb/netvirt/include-setup-misc.sh [deleted file]
jjb/netvirt/netvirt-apex-images.yaml [new file with mode: 0644]
jjb/netvirt/netvirt-csit-hwvtep-openstack.yaml
jjb/netvirt/netvirt-csit-multi-apex.yaml [new file with mode: 0644]
jjb/netvirt/netvirt-csit-multi-openstack-upgrade.yaml
jjb/netvirt/netvirt-csit-multi-openstack.yaml
jjb/netvirt/netvirt-dependencies.yaml [new file with mode: 0644]
jjb/netvirt/netvirt-full-integration.yaml [deleted file]
jjb/netvirt/netvirt-job-reports.yaml [new file with mode: 0644]
jjb/netvirt/netvirt-patch-test.yaml
jjb/netvirt/netvirt.yaml
jjb/netvirt/openstack-ci.sh [deleted file]
jjb/netvirt/quagga-build.sh [new file with mode: 0644]
jjb/netvirt/run-reports.sh [new file with mode: 0644]
jjb/netvirt/setup-docker.sh [deleted file]
jjb/neutron/neutron-patch-test.yaml
jjb/neutron/neutron.yaml
jjb/neutron/openstack-ci.sh [deleted file]
jjb/next/next.yaml
jjb/nic/nic.yaml
jjb/ocpplugin/ocpplugin.yaml
jjb/odl-openstack-check-image-protection.sh
jjb/odl-openstack-cleanup-old-images.sh
jjb/odl-openstack-cleanup-orphaned-nodes.sh
jjb/odl-openstack-cleanup-stale-nodes.sh
jjb/odl-openstack-cleanup-stale-stacks.sh
jjb/odl-openstack-cleanup-stale-volumes.sh
jjb/odlparent/odlparent-patch-test.yaml
jjb/odlparent/odlparent.yaml
jjb/odltools/odltools-csit.yaml [new file with mode: 0644]
jjb/odltools/odltools-patch-test.yaml [new file with mode: 0644]
jjb/odltools/odltools.yaml
jjb/of-config/of-config-csit-basic.yaml [deleted file]
jjb/of-config/of-config.yaml
jjb/ofextensions/circuitsw/circuitsw.yaml [deleted file]
jjb/openci/create-ape.sh
jjb/openci/openci-odl-daily-jobs.yaml
jjb/opendaylight-infra-apex-image-management.sh [new file with mode: 0644]
jjb/opendaylight-infra-copy-ssh-keys.sh
jjb/opendaylight-infra-stack.sh
jjb/openflowplugin/openflowplugin-csit-bundle-based-reconciliation.yaml
jjb/openflowplugin/openflowplugin-csit-cbench.yaml
jjb/openflowplugin/openflowplugin-csit-clustering-bulkomatic.yaml
jjb/openflowplugin/openflowplugin-csit-clustering-perf-bulkomatic.yaml
jjb/openflowplugin/openflowplugin-csit-clustering.yaml
jjb/openflowplugin/openflowplugin-csit-flow-services.yaml
jjb/openflowplugin/openflowplugin-csit-longevity.yaml
jjb/openflowplugin/openflowplugin-csit-perf-bulkomatic.yaml
jjb/openflowplugin/openflowplugin-csit-perf-stats-collection.yaml
jjb/openflowplugin/openflowplugin-csit-sanity.yaml
jjb/openflowplugin/openflowplugin-csit-scale-link.yaml
jjb/openflowplugin/openflowplugin-csit-scale-switch.yaml
jjb/openflowplugin/openflowplugin-csit-scale.yaml
jjb/openflowplugin/openflowplugin-patch-test.yaml
jjb/openflowplugin/openflowplugin.yaml
jjb/opflex/opflex-custom.yaml
jjb/opflex/opflex.yaml
jjb/ovil/ovil.yaml
jjb/ovsdb/ovsdb-csit-clustering.yaml
jjb/ovsdb/ovsdb-csit-southbound.yaml
jjb/ovsdb/ovsdb-full-integration.yaml
jjb/ovsdb/ovsdb-patch-test.yaml
jjb/ovsdb/ovsdb-sonar.yaml
jjb/ovsdb/ovsdb.yaml
jjb/p4plugin/p4plugin-csit-basic.yaml [deleted file]
jjb/p4plugin/p4plugin.yaml
jjb/packaging/ansible.yaml
jjb/packaging/build-rpm-snap.sh
jjb/packaging/build-rpm.sh
jjb/packaging/packaging-macros.yaml
jjb/packaging/packaging.yaml
jjb/packaging/puppet.yaml
jjb/packaging/setup-ansible-deb.sh [moved from jjb/packaging/test-ansible-deb.sh with 86% similarity]
jjb/packaging/setup-ansible-rpm.sh [moved from jjb/packaging/test-ansible-rpm.sh with 82% similarity]
jjb/packaging/test-ansible-deb-custom-config.sh [new file with mode: 0644]
jjb/packaging/test-ansible-deb-default-config.sh [new file with mode: 0644]
jjb/packaging/test-ansible-odl-user.sh
jjb/packaging/test-ansible-rpm-custom-config.sh [new file with mode: 0644]
jjb/packaging/test-ansible-rpm-default-config.sh [new file with mode: 0644]
jjb/packaging/test-karaf-oxygensafe.expect
jjb/packaging/test-odl-logs.sh [new file with mode: 0644]
jjb/packaging/test-rpm-docker.sh
jjb/packetcable/packetcable-csit-pcmm.yaml
jjb/packetcable/packetcable.yaml
jjb/persistence/persistence.yaml [deleted file]
jjb/releng-jobs.yaml
jjb/releng-macros.yaml
jjb/releng-packer-jobs.yaml
jjb/releng-templates-java.yaml
jjb/releng-views.yaml
jjb/reservation/reservation.yaml [deleted file]
jjb/sdninterfaceapp/sdninterfaceapp-csit-basic.yaml [deleted file]
jjb/sdninterfaceapp/sdninterfaceapp.yaml
jjb/serviceutils/serviceutils-patch-test.yaml
jjb/serviceutils/serviceutils.yaml
jjb/sfc/sfc-csit-full-deploy.yaml
jjb/sfc/sfc-csit-rest-basic.yaml
jjb/sfc/sfc-patch-test.yaml
jjb/sfc/sfc-python.yaml
jjb/sfc/sfc.yaml
jjb/snbi/snbi.yaml
jjb/snmp/snmp.yaml
jjb/snmp4sdn/snmp4sdn.yaml
jjb/sxp/sxp-csit-basic.yaml
jjb/sxp/sxp-csit-binding-origin.yaml [new file with mode: 0644]
jjb/sxp/sxp-csit-cluster-routing.yaml
jjb/sxp/sxp-csit-clustering.yaml
jjb/sxp/sxp-csit-filtering.yaml
jjb/sxp/sxp-csit-performance.yaml
jjb/sxp/sxp-csit-topology.yaml
jjb/sxp/sxp.yaml
jjb/systemmetrics/systemmetrics.yaml
jjb/telemetry/telemetry.yaml
jjb/topoprocessing/topoprocessing.yaml [deleted file]
jjb/transportpce/transportpce.yaml
jjb/tsdr/tsdr-csit-cassandra.yaml
jjb/tsdr/tsdr-csit-elasticsearch.yaml
jjb/tsdr/tsdr-csit-hbase.yaml
jjb/tsdr/tsdr-csit-hsqldb.yaml
jjb/tsdr/tsdr.yaml
jjb/ttp/ttp.yaml
jjb/unimgr/unimgr.yaml
jjb/usc/usc-csit-channel.yaml [deleted file]
jjb/usc/usc-csit-tcp.yaml
jjb/usc/usc.yaml
jjb/usecplugin/usecplugin-csit-basic.yaml [deleted file]
jjb/usecplugin/usecplugin.yaml
jjb/yang-push/yang-push.yaml [deleted file]
jjb/yangide/yangide-releng.yaml [deleted file]
jjb/yangide/yangide.yaml [deleted file]
jjb/yangtools/yangtools-csit-system.yaml
jjb/yangtools/yangtools-patch-test.yaml
jjb/yangtools/yangtools.yaml
openstack-hot/apex-server.yaml [new file with mode: 0644]
openstack-hot/csit-apex-3-instance-type.yaml [new file with mode: 0644]
openstack-hot/generic-server.yaml
packer/common-packer
packer/provision/devstack-pre-pip.sh
packer/provision/devstack.sh
packer/provision/local-builder.yaml

index 721507894789e094e340ca8a999249717a42ea29..8618a923e2b3a3b29ced99edc3a1288bd0ebe26f 100644 (file)
@@ -1,6 +1,6 @@
-[submodule "jjb/global-jjb"]
-       path = jjb/global-jjb
+[submodule "global-jjb"]
+       path = global-jjb
        url = https://github.com/lfit/releng-global-jjb
 [submodule "packer/common-packer"]
        path = packer/common-packer
-       url = https://gerrit.linuxfoundation.org/infra/releng/common-packer.git
+       url = https://github.com/lfit/releng-common-packer.git
index 3afbee1be73122b5b6365b92d8a4cd250b46a0bd..d59f9299fd19a51f890a28fbb96ca80e9810d695 100644 (file)
@@ -4,8 +4,12 @@ Following are the list of published images available to be used with Jenkins job
 * ZZCI - CentOS 7 - builder - 20180201-2139
 * ZZCI - CentOS 7 - builder - 20180611-1830
 * ZZCI - CentOS 7 - builder - 20180723-235310.638
+* ZZCI - CentOS 7 - builder - 20180802-220823.782
+* ZZCI - CentOS 7 - builder - x86_64 - 20180823-152917.621
+* ZZCI - CentOS 7 - builder - x86_64 - 20181010-215635.956
 * ZZCI - CentOS 7 - devstack - 20171208-1648
 * ZZCI - CentOS 7 - devstack - 20180723-235345.727
+* ZZCI - CentOS 7 - devstack - 20180911-204116.460
 * ZZCI - CentOS 7 - devstack-ocata - 20171208-1649
 * ZZCI - CentOS 7 - devstack-pike - 20171208-1649
 * ZZCI - CentOS 7 - docker - 20171209-0317
diff --git a/global-jjb b/global-jjb
new file mode 160000 (submodule)
index 0000000..5d1ddb5
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit 5d1ddb578a5253fc360a73be6ceea89d65af043e
diff --git a/jenkins-config/clouds/openstack/odlvex/centos7-apex-2c-2g.cfg b/jenkins-config/clouds/openstack/odlvex/centos7-apex-2c-2g.cfg
new file mode 100644 (file)
index 0000000..3a1cdc1
--- /dev/null
@@ -0,0 +1,3 @@
+IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20181010-215635.956
+VOLUME_SIZE=100
+HARDWARE_ID=odl-highcpu-2
index eef00fc3c027341eb48e00b734daa9c264a13a2b..d916173943abe3431d9a8b9e67b97712ae35b2e9 100644 (file)
@@ -1,3 +1,3 @@
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180802-220823.782
+IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20181010-215635.956
 VOLUME_SIZE=150
 HARDWARE_ID=odl-standard-4
index 6b6e7950188f04bfd04831705fea2b2be376cdbd..9f43575070f0c1d4df80cf100750d988e58275dd 100644 (file)
@@ -1,3 +1,3 @@
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180802-220823.782
+IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20181010-215635.956
 VOLUME_SIZE=150
 HARDWARE_ID=odl-standard-8
index bfba06ad33c02639f6584de80773a7d4f14fe561..b1fdbea47424a66274143544958dd5fff6e97378 100644 (file)
@@ -1,3 +1,3 @@
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180802-220823.782
+IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20181010-215635.956
 VOLUME_SIZE=150
 HARDWARE_ID=odl-highcpu-8
index 801537908cfa0ff2095215d769dfddbfee7d4c7f..bcad551f9467344f92413c67c2c61ba9814de1e9 100644 (file)
@@ -1,2 +1,2 @@
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180802-220823.782
+IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20181010-215635.956
 HARDWARE_ID=v1-standard-1
index b427a79085b6dc494caf2d4648f3c38445a34023..2957d7bdb77ad67b70c1dda16cbf5e593e81fb71 100644 (file)
@@ -1,2 +1,2 @@
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180802-220823.782
+IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20181010-215635.956
 HARDWARE_ID=odl-highcpu-2
index 98c246af22cabf503c3fe7c49095d15e2bd84eb2..4f6a55303ca1641f72687343cff413d215991cbc 100644 (file)
@@ -1,2 +1,2 @@
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180802-220823.782
+IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20181010-215635.956
 HARDWARE_ID=odl-standard-2
index f40f2d88bb9e18a7742fc9af43097ae00f190b0b..b2dbd987f842b6a61b0de534905bac07166092f9 100644 (file)
@@ -1,2 +1,2 @@
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180802-220823.782
+IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20181010-215635.956
 HARDWARE_ID=odl-standard-4
index e943f33b7be367a56bd2ac255884ca0be45a1d61..9833ce6f666ae9b7b91e3887588ef7a9446941c6 100644 (file)
@@ -1,2 +1,2 @@
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180802-220823.782
+IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20181010-215635.956
 HARDWARE_ID=odl-highcpu-4
index 4ffea7f22443fd0b2aedad05c64554805860cc03..03a1a5d931e708e791102af404b88d10771f02dc 100644 (file)
@@ -1,2 +1,2 @@
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180802-220823.782
+IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20181010-215635.956
 HARDWARE_ID=odl-highcpu-8
index 93e04006a655703069816693dc326c92bf0120e9..3b2dfb250b15239cba5d4c3f70b0323f21113fce 100644 (file)
@@ -5,7 +5,7 @@ CLOUD_IGNORE_SSL=false
 CLOUD_ZONE=ca-ymq-1
 
 # Default Template Configuration
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180802-220823.782
+IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20181010-215635.956
 HARDWARE_ID=v1-standard-1
 NETWORK_ID=b5fcd86e-efac-4997-b8bc-dbe0d35bc229
 USER_DATA_ID=jenkins-init-script
index 12c0534fbd463fe7f1152209cf54a5c4b71caae7..c3eab9e1eafbffdadf437f4eb7eda992b9ffa103 100644 (file)
@@ -1,2 +1,2 @@
-IMAGE_NAME=ZZCI - Ubuntu 16.04 - mininet-ovs-25 - 20180723-235543.682
+IMAGE_NAME=ZZCI - Ubuntu 16.04 - mininet-ovs-25 - 20181029-223449.514
 HARDWARE_ID=odl-standard-1
index 83b3cb51ff5bda34b10ca014bf2b5e9b3b338d3f..d05b8531c13e82025aaf64788b718577f0699cb1 100644 (file)
@@ -5,5 +5,7 @@ JENKINS_HOSTNAME=vex-yul-odl-jenkins-1
 LOGS_SERVER=https://logs.opendaylight.org
 NEXUS_URL=https://nexus.opendaylight.org
 ODLNEXUSPROXY=https://nexus.opendaylight.org
+SIGUL_BRIDGE_IP=10.30.168.3
+SIGUL_KEY=odl-release-2018
 SILO=releng
 SONAR_URL=https://sonar.opendaylight.org
index 62de193e3a21c5ab19cd026c399986a76329ec17..e34e0fb48e9f147477be8e2489de0460839303a8 100644 (file)
@@ -5,5 +5,7 @@ JENKINS_HOSTNAME=vex-yul-odl-jenkins-2
 LOGS_SERVER=https://logs.opendaylight.org
 NEXUS_URL=https://nexus.opendaylight.org
 ODLNEXUSPROXY=https://nexus.opendaylight.org
+SIGUL_BRIDGE_IP=10.30.168.3
+SIGUL_KEY=odl-sandbox
 SILO=sandbox
 SONAR_URL=https://sonar.opendaylight.org
diff --git a/jenkins-scripts/README b/jenkins-scripts/README
deleted file mode 100644 (file)
index 3095daa..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-The scripts in this directory are used by the Jenkins spin-up component
-for dynamic slaves.
-
-The spinup script will be as follows (${system_type} will be replaced
-with the appropriate system_type script)
-
-git clone https://git.opendaylight.org/gerrit/p/releng/builder.git
-cd builder/jenkins-scripts
-./basic_settings.sh
-./${system_type}.sh
diff --git a/jenkins-scripts/basic_settings.sh b/jenkins-scripts/basic_settings.sh
deleted file mode 100755 (executable)
index a80b9ff..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/bash
-
-#Increase limits
-cat <<EOF > /etc/security/limits.d/jenkins.conf
-jenkins         soft    nofile          16000
-jenkins         hard    nofile          16000
-EOF
-
-cat <<EOSSH >> /etc/ssh/ssh_config
-Host *
-  ServerAliveInterval 60
-
-# we don't want to do SSH host key checking on Rackspace spin-up systems
-# Dallas (ODL)
-Host 10.29.12.* 10.29.13.* 10.29.14.* 10.29.15.*
-  StrictHostKeyChecking no
-  UserKnownHostsFile /dev/null
-
-# Private Cloud (ODL)
-Host 10.29.8.* 10.29.9.* 10.29.10.* 10.29.11.*
-  StrictHostKeyChecking no
-  UserKnownHostsFile /dev/null
-
-# Vexxhost (ODL)
-Host 10.30.170.* 10.30.171.*
-  StrictHostKeyChecking no
-  UserKnownHostsFile /dev/null
-EOSSH
-
-cat <<EOKNOWN >  /etc/ssh/ssh_known_hosts
-[140.211.169.26]:29418,[git.opendaylight.org]:29418 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyRXyHEw/P1iZr/fFFzbodT5orVV/ftnNRW59Zh9rnSY5Rmbc9aygsZHdtiWBERVVv8atrJSdZool75AglPDDYtPICUGWLR91YBSDcZwReh5S9es1dlQ6fyWTnv9QggSZ98KTQEuE3t/b5SfH0T6tXWmrNydv4J2/mejKRRLU2+oumbeVN1yB+8Uau/3w9/K5F5LgsDDzLkW35djLhPV8r0OfmxV/cAnLl7AaZlaqcJMA+2rGKqM3m3Yu+pQw4pxOfCSpejlAwL6c8tA9naOvBkuJk+hYpg5tDEq2QFGRX5y1F9xQpwpdzZROc5hdGYntM79VMMXTj+95dwVv/8yTsw==
-EOKNOWN
-
-# To handle the prompt style that is expected all over the environment
-# with how use use robotframework we need to make sure that it is
-# consistent for any of the users that are created during dynamic spin
-# ups
-echo 'PS1="[\u@\h \W]> "' >> /etc/skel/.bashrc
-
-# vim: sw=2 ts=2 sts=2 et :
diff --git a/jenkins-scripts/builder.sh b/jenkins-scripts/builder.sh
deleted file mode 100755 (executable)
index 367451f..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/bash
-# vim: sw=2 ts=2 sts=2 et :
-
-yum clean all
-
-# disable the firewall
-/bin/bash ./disable_firewall.sh
-
-cat <<EOF >/etc/sudoers.d/89-jenkins-user-defaults
-Defaults:jenkins !requiretty
-jenkins     ALL = NOPASSWD: ALL
-EOF
diff --git a/jenkins-scripts/create_jenkins_user.sh b/jenkins-scripts/create_jenkins_user.sh
deleted file mode 100755 (executable)
index 6af25df..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/bash
-
-#######################
-# Create Jenkins User #
-#######################
-
-OS=$(facter operatingsystem | tr '[:upper:]' '[:lower:]')
-
-useradd -m -s /bin/bash jenkins
-
-# Check if docker group exists
-if grep -q docker /etc/group
-then
-    # Add jenkins user to docker group
-    usermod -a -G docker jenkins
-fi
-
-# Check if mock group exists
-if grep -q mock /etc/group
-then
-    # Add jenkins user to mock group so they can build Int/Pack's RPMs
-    usermod -a -G mock jenkins
-fi
-
-mkdir /home/jenkins/.ssh
-mkdir /w
-cp -r "/home/${OS}/.ssh/authorized_keys" /home/jenkins/.ssh/authorized_keys
-# Generate ssh key for use by Robot jobs
-echo -e 'y\n' | ssh-keygen -N "" -f /home/jenkins/.ssh/id_rsa -t rsa
-chown -R jenkins:jenkins /home/jenkins/.ssh /w
-chmod 700 /home/jenkins/.ssh
diff --git a/jenkins-scripts/devstack.sh b/jenkins-scripts/devstack.sh
deleted file mode 100755 (executable)
index d8a8732..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-
-# It looks like the devstack gate is stomping on our dnsmasq setup which
-# therefore kills our ability to do proper lookups of some resources.
-# Let's capture the 3 nexus IPs into /etc/hosts
-cat <<EOHOSTS >> /etc/hosts
-# the internal address for nexus
-$(dig +short nexus.opendaylight.org) nexus.opendaylight.org
-# all the nexus proxies
-$(dig +short nexus01.dfw.opendaylight.org) nexus01.dfw.opendaylight.org
-$(dig +short nexus02.dfw.opendaylight.org) nexus02.dfw.opendaylight.org
-$(dig +short nexus03.ord.opendaylight.org) nexus03.ord.opendaylight.org
-EOHOSTS
-
-# make sure we don't require tty for sudo operations
-cat <<EOF >/etc/sudoers.d/89-jenkins-user-defaults
-Defaults:jenkins !requiretty
-jenkins     ALL = NOPASSWD: ALL
-EOF
-
-# vim: sw=2 ts=2 sts=2 et :
diff --git a/jenkins-scripts/disable_firewall.sh b/jenkins-scripts/disable_firewall.sh
deleted file mode 100755 (executable)
index f779122..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-
-OS=$(facter operatingsystem)
-
-case "$OS" in
-    Fedora)
-        systemctl stop firewalld
-    ;;
-    CentOS|RedHat)
-        if [ "$(facter operatingsystemrelease | cut -d '.' -f1)" -lt "7" ]; then
-            service iptables stop
-        else
-            systemctl stop firewalld
-        fi
-    ;;
-    *)
-        # nothing to do
-    ;;
-esac
-
-# vim: ts=4 ts=4 sts=4 et :
diff --git a/jenkins-scripts/docker.sh b/jenkins-scripts/docker.sh
deleted file mode 100755 (executable)
index d896318..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash
-
-# make sure we don't require tty for sudo operations
-cat <<EOF >/etc/sudoers.d/89-jenkins-user-defaults
-Defaults:jenkins !requiretty
-jenkins     ALL = NOPASSWD: ALL
-EOF
-
-# make sure jenkins is part of the docker only if jenkins has already been
-# created
-
-if grep -q jenkins /etc/passwd
-then
-  /usr/sbin/usermod -a -G docker jenkins
-fi
-
-# vim: sw=2 ts=2 sts=2 et :
diff --git a/jenkins-scripts/jenkins-init-script-local-env.sh b/jenkins-scripts/jenkins-init-script-local-env.sh
deleted file mode 100755 (executable)
index 0e490f4..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-
-## will be added in local environment
diff --git a/jenkins-scripts/jenkins-init-script.sh b/jenkins-scripts/jenkins-init-script.sh
deleted file mode 100755 (executable)
index 3309b00..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-# SPDX-License-Identifier: EPL-1.0
-##############################################################################
-# Copyright (c) 2016 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
-##############################################################################
-
-cd /builder/jenkins-scripts || exit 1
-chmod +x -- *.sh
-./system_type.sh
-
-# shellcheck disable=SC1091
-source /tmp/system_type.sh
-./basic_settings.sh
-"./${SYSTEM_TYPE}.sh"
-
-# Create the jenkins user last so that hopefully we don't have to deal with
-# guard files
-./create_jenkins_user.sh
-
-## add local environment changes post scripts
-./jenkins-init-script-local-env.sh
-
-# Create a swap file
-dd if=/dev/zero of=/swap count=1024 bs=1MiB
-chmod 600 /swap
-mkswap /swap
-swapon /swap
diff --git a/jenkins-scripts/mininet-ubuntu.sh b/jenkins-scripts/mininet-ubuntu.sh
deleted file mode 100755 (executable)
index 7f0cd56..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash
-
-# make sure we don't require tty for sudo operations
-cat <<EOF >/etc/sudoers.d/89-jenkins-user-defaults
-Defaults:jenkins !requiretty
-jenkins     ALL = NOPASSWD: ALL
-EOF
-
-# disable the firewall
-/bin/bash ./disable_firewall.sh
-
-# Add 'hostname' into /etc/hosts during node spinup time to avoid sudo returning
-# an 'unable to resolve host' message or some Java API's returning an unknown
-# host exception. The workaround on adding "myhostname" into /etc/nss-switch.conf
-# does not work on Ubuntu flavours.
-sed -i "/127.0.0.1/s/$/\t$(hostname)/" /etc/hosts
diff --git a/jenkins-scripts/robot.sh b/jenkins-scripts/robot.sh
deleted file mode 100755 (executable)
index 5fc0579..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/bash
-
-# make sure we don't require tty for sudo operations
-cat <<EOF >/etc/sudoers.d/89-jenkins-user-defaults
-Defaults:jenkins !requiretty
-jenkins     ALL = NOPASSWD: ALL
-EOF
-
-# make sure the firewall is stopped
-service iptables stop
-
-# vim: sw=2 ts=2 sts=2 et :
diff --git a/jenkins-scripts/system_type.sh b/jenkins-scripts/system_type.sh
deleted file mode 100755 (executable)
index c5b141a..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/bash
-# SPDX-License-Identifier: EPL-1.0
-##############################################################################
-# Copyright (c) 2016 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
-##############################################################################
-
-HOST=$(/bin/hostname)
-SYSTEM_TYPE=''
-
-IFS=','
-for i in "java-builder,builder" \
-         "builder,builder" \
-         "devstack,devstack" \
-         "docker,docker" \
-         "gbp,ubuntu-docker-ovs" \
-         "kubernetes,mininet-ubuntu" \
-         "robot,robot" \
-         "mininet,mininet-ubuntu"
-do set -- $i
-    if [[ $HOST == *"$1"* ]]; then
-        SYSTEM_TYPE="$2"
-        break
-    fi
-done
-
-# Write out the system type to an environment file to then be sourced
-echo "SYSTEM_TYPE=${SYSTEM_TYPE}" > /tmp/system_type.sh
-
-# vim: sw=4 ts=4 sts=4 et :
diff --git a/jenkins-scripts/ubuntu-docker-ovs.sh b/jenkins-scripts/ubuntu-docker-ovs.sh
deleted file mode 100755 (executable)
index 743255b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-
-# make sure we don't require tty for sudo operations
-cat <<EOF >/etc/sudoers.d/89-jenkins-user-defaults
-Defaults:jenkins !requiretty
-jenkins     ALL = NOPASSWD: ALL
-EOF
-
-# Add 'hostname' into /etc/hosts during node spinup time to avoid sudo returning
-# an 'unable to resolve host' message or some Java API's returning an unknown
-# host exception. The workaround on adding "myhostname" into /etc/nss-switch.conf
-# does not work on Ubuntu flavours.
-sed -i "/127.0.0.1/s/$/\t$(hostname)/" /etc/hosts
-
-# Do the final install of OVS that the has to be done at boot time for
-# some reason due to how the snapshots keep behaving.
-dpkg --install /root/openvswitch-datapath-dkms* && \
-dpkg --install /root/openvswitch-{common,switch}*
-
-# add user jenkins to docker group
-/usr/sbin/usermod -a -G docker jenkins
-
-# pull docker images
-docker pull alagalah/odlpoc_ovs230
-
-# vim: sw=2 ts=2 sts=2 et :
index 36bdb6040e1291e60e926f79b2881a5dbfad8fee..8d328842cf906a2be04e5f9c5acb88bcd482e58d 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index b50de45b9cc87f4caf603e00192378425d70f231..614ef0465451b27d8ca82e308706f47f569e9106 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 2936489dfd2449ec9103d63d108d3a287ddeb60d..fc0c7a97b0ddc833ba460e01d4021dc38368d09b 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
@@ -28,4 +30,4 @@
     robot-options: ''
 
     # mininet image
-    tools_system_image: ZZCI - Ubuntu 16.04 - mininet-ovs-25 - 20180723-235543.682
+    tools_system_image: ZZCI - Ubuntu 16.04 - mininet-ovs-25 - 20181029-223449.514
index 15dfe5b32b13ec35e26b83e22215fd767f6de8bb..06f0b3224df15dd51f7c1d47612e15c92775a53e 100644 (file)
@@ -7,9 +7,12 @@
     project: 'aaa'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           os-branch: 'queens'
+      - fluorine:
+          branch: 'stable/fluorine'
+          os-branch: 'queens'
       - oxygen:
           branch: 'stable/oxygen'
           os-branch: 'queens'
@@ -33,4 +36,4 @@
 
       - genius:
           csit-list: >
-              genius-csit-1node-gate-all-{stream}
+              genius-csit-1node-gate-only-{stream}
index 10bcf36044f9897140cb90c2b31b9c160bb86365..01390c0781c228430f59c6b0d86ee19350b17cbf 100644 (file)
@@ -1,14 +1,42 @@
 ---
+- project:
+    name: aaa-neon
+    jobs:
+      - '{project-name}-distribution-check-{stream}'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: aaa
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-aaa/47615/
+          rtd-token: 621132230e1307d38f4aaf27e669d7dfdf98532f
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'aaa'
+    project-name: 'aaa'
+    branch: 'master'
+    mvn-settings: 'aaa-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
+    email-upstream: '[aaa] [odlparent] [yangtools] [controller]'
+
+    # Used by the release job
+    staging-profile-id: 9318cf3c82c33
+
 - project:
     name: aaa-fluorine
     jobs:
       - '{project-name}-distribution-check-{stream}'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: aaa
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-aaa/47615/
+          rtd-token: 621132230e1307d38f4aaf27e669d7dfdf98532f
       - odl-maven-jobs
 
     stream: fluorine
     project: 'aaa'
     project-name: 'aaa'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'aaa-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
index c0c1c0434eb3f498b07c7bd86945878f583da388..ef5c322acfaa0ffa1d0913ce7f5d02ec8bce5d94 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 52ace6034d55997b2f6d6f1a7e999aec08975dc2..2c06d8482bd62e28db47c0d8ca0926129f0665a7 100644 (file)
@@ -1,4 +1,22 @@
 ---
+- project:
+    name: alto-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'alto'
+    project-name: 'alto'
+    branch: 'master'
+    build-node: centos7-builder-2c-8g
+    mvn-settings: 'alto-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'l2switch-merge-{stream}'
+    email-upstream: '[alto] [l2switch]'
+
+    # Used by the release job
+    staging-profile-id: 931eabae9693c
+
 - project:
     name: alto-fluorine
     jobs:
@@ -7,7 +25,7 @@
     stream: fluorine
     project: 'alto'
     project-name: 'alto'
-    branch: 'master'
+    branch: 'stable/fluorine'
     build-node: centos7-builder-2c-8g
     mvn-settings: 'alto-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
index 111686ce4eede3328c6fbd326c994031494c67e5..2f7052779831a133e8d8f4165b2c71e820222f76 100644 (file)
@@ -1,4 +1,28 @@
 ---
+- project:
+    name: archetypes-neon
+    jobs:
+      - gerrit-maven-clm
+      - '{project-name}-merge-{stream}':
+          build-timeout: 180
+          cron: '@daily'
+          mvn-goals: clean install -V -Dmaven.compile.fork=true
+      - gerrit-maven-stage
+      - gerrit-maven-verify
+      - gerrit-maven-verify-dependencies:
+          build-timeout: 180
+
+    stream: neon
+    project: 'archetypes'
+    project-name: 'archetypes'
+    branch: 'master'
+    mvn-settings: 'archetypes-settings'
+    dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream},mdsal-merge-{stream}'
+    email-upstream: '[archetypes] [odlparent] [yangtools] [controller] [mdsal]'
+
+    # Used by the release job
+    staging-profile-id: d88dcfe6ce48d
+
 - project:
     name: archetypes-fluorine
     jobs:
@@ -7,7 +31,7 @@
           build-timeout: 180
           cron: '@daily'
           mvn-goals: clean install -V -Dmaven.compile.fork=true
-      - gerrit-maven-release
+      - gerrit-maven-stage
       - gerrit-maven-verify
       - gerrit-maven-verify-dependencies:
           build-timeout: 180
@@ -15,7 +39,7 @@
     stream: fluorine
     project: 'archetypes'
     project-name: 'archetypes'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'archetypes-settings'
     dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream},mdsal-merge-{stream}'
     email-upstream: '[archetypes] [odlparent] [yangtools] [controller] [mdsal]'
diff --git a/jjb/atrium/atrium.yaml b/jjb/atrium/atrium.yaml
deleted file mode 100644 (file)
index be3daed..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
----
-- project:
-    name: atrium-fluorine
-    jobs:
-      - odl-maven-jobs
-
-    stream: fluorine
-    project: 'atrium'
-    project-name: 'atrium'
-    branch: 'master'
-    mvn-settings: 'atrium-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-    dependencies: ''
-    email-upstream: '[atrium]'
-
-    # Used by the release job
-    staging-profile-id: 9324f12310e6a
-
-- project:
-    name: atrium-oxygen
-    jobs:
-      - '{project-name}-distribution-check-{stream}'
-      - odl-maven-jobs
-
-    stream: oxygen
-    project: 'atrium'
-    project-name: 'atrium'
-    branch: 'stable/oxygen'
-    mvn-settings: 'atrium-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-    dependencies: ''
-    email-upstream: '[atrium]'
-
-    # Used by the release job
-    staging-profile-id: 9324f12310e6a
-
-- project:
-    name: atrium-sonar
-    jobs:
-      - gerrit-maven-sonar
-    project: 'atrium'
-    project-name: 'atrium'
-    branch: 'master'
-    mvn-settings: 'atrium-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-
-- view:
-    name: atrium
-    description: 'List of atrium jobs'
-    regex: '^atrium-.*'
-    <<: *releng_view_common
index e6bf110b6c3e1a3a3fc09929e84bfb4f878135af..60e3cfd9da0e5137d6161e0c56528d5d6f61beed 100644 (file)
@@ -20,7 +20,7 @@
     name: autorelease-checkout-gerrit-patch
     builders:
       - shell: |
-          #!/bin/bash
+          #!/bin/bash -l
           set -eu -o pipefail
 
           # If the project is autorelease then we do not need to cd
     name: autorelease-determine-merge-order
     builders:
       - shell: |
+          #!/bin/bash -l
           virtualenv --system-site-packages $WORKSPACE/venv
           source $WORKSPACE/venv/bin/activate
           PYTHON="$WORKSPACE/venv/bin/python"
-          $PYTHON -m pip install --upgrade "pip<10.0.0" setuptools
           $PYTHON -m pip install --upgrade networkx
           $PYTHON -m pip freeze
           ./scripts/determine-merge-order.py
@@ -98,7 +98,7 @@
     builders:
       - integration-set-variables
       - shell: |
-          #!/bin/bash
+          #!/bin/bash -l
           set +e  # DO NOT fail build if copying fails.
 
           cp -vf "$WORKSPACE/archives/patches/taglist.log" \
     # Generate versions.csv containing version of all mvn artifacts in this build.
     builders:
       - shell: |
-          #!/bin/bash
+          #!/bin/bash -l
           set -eu -o pipefail
           ./scripts/generate-artifact-versions.sh
           mkdir -p "$WORKSPACE/archives"
     name: autorelease-generate-release-patches
     builders:
       - shell: !include-raw:
-          - ../global-jjb/shell/lftools-install.sh
           - prepare-release.sh
 
 - builder:
index a55cf6d5ae779186882149d9b1e067f6a469d345..82e52fe8b58145bbb5ce1d6848d37dea210d9113 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2015 The Linux Foundation and others.
index 79d679cc10bfb683bab1ddf7b1879336c8173bc4..7818f8045d759551a6b5cb73e8667c8a73c21e2a 100644 (file)
@@ -6,6 +6,7 @@
       - 'autorelease-generate-release-notes-{stream}'
       - 'autorelease-release-{stream}':
           build-node: centos7-autorelease-8c-32g
+      - 'autorelease-update-submodules-{stream}'
       - 'autorelease-update-validate-jobs-{stream}'
       - 'autorelease-version-bump-{stream}':
           build-node: centos7-autorelease-8c-32g
       - gerrit-tox-verify
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+          integration-test: neon
+          extra-mvn-opts: -P!karaf -Pignore-lispflowmapping-integrationtest -Dsft.heap.max=4g
+              -Dskip.karaf.featureTest=true
+      - fluorine:
+          branch: 'stable/fluorine'
           integration-test: fluorine
           extra-mvn-opts: -P!karaf -Pignore-lispflowmapping-integrationtest -Dsft.heap.max=4g
               -Dskip.karaf.featureTest=true
index 64383697f16539d99839d1ac151df5891af76733..3d5bd1d66ee4feb1d9153d7f1aa3747d81b93a1d 100644 (file)
       - timed: '{cron}'
 
     builders:
+      - lf-infra-pre-build
       # force jenkins install of maven version before any shell scripts use it
       - lf-maven-install:
           mvn-version: '{mvn-version}'
           mark-unstable-if-failed: false
       - lf-infra-publish
 
+- job-template:
+    name: 'autorelease-update-submodules-{stream}'
+
+    ######################
+    # Default parameters #
+    ######################
+
+    cron: 'H 0 * * *'
+
+    #####################
+    # Job configuration #
+    #####################
+
+    project-type: freestyle
+    node: centos7-builder-2c-2g
+
+    properties:
+      - lf-infra-properties:
+          build-days-to-keep: 7
+
+    parameters:
+      - lf-infra-parameters:
+          project: releng/autorelease
+          branch: '{branch}'
+          stream: '{stream}'
+          refspec: 'refs/heads/{branch}'
+          lftools-version: '{lftools-version}'
+
+    scm:
+      - lf-infra-gerrit-scm:
+          git-url: '$GIT_URL/$GERRIT_PROJECT'
+          branch: '{branch}'
+          refspec: 'refs/heads/{branch}'
+          jenkins-ssh-credential: opendaylight-jenkins-ssh
+          submodule-recursive: true
+          choosing-strategy: default
+
+    wrappers:
+      - lf-infra-wrappers:
+          build-timeout: 10
+          jenkins-ssh-credential: opendaylight-jenkins-ssh
+
+    triggers:
+      - timed: '{obj:cron}'
+
+    builders:
+      - lf-infra-pre-build
+      # Fetch latest head of branch
+      - shell: |
+          git checkout $GERRIT_BRANCH
+          git submodule update --remote
+          git add .
+      - lf-infra-push-gerrit-patch:
+          project: '{project}'
+          gerrit-user: 'jenkins-$SILO'
+          gerrit-host: 'git.opendaylight.org'
+          gerrit-topic: 'autorelease-update-submodules'
+          gerrit-commit-message: 'Update submodules to latest HEAD of branch'
+          reviewers-email: ''
+
+    publishers:
+      - lf-infra-publish
+
 - job-template:
     name: autorelease-update-validate-jobs-{stream}
 
           jenkins-ssh-credential: opendaylight-jenkins-ssh
 
     builders:
+      - lf-infra-pre-build
       - autorelease-update-project-views
       - autorelease-update-validate-projects
       - lf-infra-push-gerrit-patch:
           jenkins-ssh-credential: opendaylight-jenkins-ssh
 
     builders:
+      - lf-infra-pre-build
       # force jenkins install of maven version before any shell scripts use it
       - maven-target:
           maven-version: mvn35
           global-settings-type: cfp
       - autorelease-cfp
       - shell: !include-raw-escape:
-          - ../global-jjb/shell/lftools-install.sh
           - version-bump.sh
 
     publishers:
                   branch-pattern: '**/{branch}'
 
     builders:
+      - lf-infra-pre-build
       - autorelease-generate-release-notes
 
     publishers:
           forbidden-files: ''
 
     builders:
+      - lf-infra-pre-build
       - autorelease-checkout-gerrit-patch
       - autorelease-compare-projects
       - jacoco-nojava-workaround
           settings-type: cfp
           global-settings: global-settings
           global-settings-type: cfp
-      # Hack to workaround the duplicate-finder plugin in odlparent breaking validate-autorelease
-      - shell: sed -i 's/validate/none/' /tmp/r/org/opendaylight/odlparent/odlparent/3.0.2/odlparent-3.0.2.pom || true
       - maven-target:
           maven-version: mvn35
           pom: pom.xml
index 5c5df61e99e2de20b08eafde6c6d7eaab4dc36bd..20b96a4343088dbd7a0f8d9f72cd903956116f68 100644 (file)
@@ -11,7 +11,9 @@
     build-node: centos7-builder-2c-8g
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
index 3ae2d2a58c90c39639f7d963f2673eca676063de..6d74e78cf3b683e29244b9769e9cecae9d5fa7b7 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # @License EPL-1.0 <http://spdx.org/licenses/EPL-1.0>
 ##############################################################################
 # Copyright (c) 2017 The Linux Foundation and others.
@@ -34,6 +34,10 @@ if [ -z "$RELEASE" ]; then
     exit 1
 fi
 
+git config gitreview.username jenkins-releng
+git submodule foreach git review -s
+git review -s
+
 # --- Start create new maintenance branch
 echo "---> Creating new mainenance branch"
 git submodule foreach git fetch origin
index 0984d01f7d5a1ca4e9af9af8e3242d253338a67b..6f63a660cbf7e36e6149cd768ed5792eca5e9cc7 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2018 The Linux Foundation and others.
@@ -32,7 +32,6 @@ for project in "${PROJECTS_INT_DIST[@]}"; do
     fi
 done
 
-project_int_dist+=("mdsal")
 project_int_dist+=("integration/distribution")
 
 # Get a list of all the projects from releng/autorelease repo
index 08773f77fdb075e3fe2b22fc79c686b8c7878aed..a3b3c9c3071861786bbd46fd221f040772d45929 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash -x
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2017 The Linux Foundation and others.
@@ -11,6 +11,8 @@
 # This script generates Service Release notes and appends them to the release
 # notes in the docs project and submits a patch.
 
+set -x
+
 RELEASE=${RELEASE:-$(echo "$GERRIT_EVENT_COMMENT_TEXT" | grep generate-release-notes | awk '{print $2}')}
 if [ -z "$RELEASE" ]; then
     echo "ERROR: The RELEASE variable is not set."
index 7eefa4043a0322fca793e253466cd4796ea4fe88..a5c5c82bbe10b2678f94d9b70747fe009793ffa1 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2017 The Linux Foundation and others.
index b20b845fefea3cc401e5eca5f911dd26ccc85d99..59c0a94eeacf5b5492d44aa9994e84749d0f37c7 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2015, 2017 The Linux Foundation and others.
@@ -39,6 +39,10 @@ git submodule foreach "echo \$path \$(git rev-parse --verify HEAD) ${RELEASE_TAG
 echo "$RELEASE_TAG"
 find . -name "*.xml" -print0 | xargs -0 sed -i 's/-SNAPSHOT//'
 
+# Ignore changes to Final distribution since that will be released separately
+pushd integration/distribution || exit 1
+    git checkout -f opendaylight/pom.xml
+popd || exit 1
 git submodule foreach "git commit -am \"Release $RELEASE_TAG\" || true"
 git commit -am "Release $RELEASE_TAG"
 
index fa610a96b2d27313705facf0b2ed42891dcf1e2d..8e8cf21471dafaf628033ec144ec431409492074 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2018 The Linux Foundation and others.
index 327fb1abfd45925cb390f4c7a85b7c7a2d066c20..a6663752f38ef21ee239d4ca7ab7f146e7e84a14 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2017 - 2018 The Linux Foundation and others.
index 7f2d8dab45565473b982b3496481022facd70634..7a399b56fc9423c310fb4785864794dfb93a82e3 100644 (file)
@@ -5,7 +5,7 @@
     jobs:
       - '{project-name}-validate-autorelease-{stream}'
     stream: fluorine
-    branch: master
+    branch: stable/fluorine
     project-name:
       - aaa:
           project: aaa
diff --git a/jjb/autorelease/validate-autorelease-neon.yaml b/jjb/autorelease/validate-autorelease-neon.yaml
new file mode 100644 (file)
index 0000000..9a31828
--- /dev/null
@@ -0,0 +1,41 @@
+---
+# Autogenerated by autorelease autorelease-update-validate-autorelease-jobs-{stream} Jenkins job
+- project:
+    name: autorelease-validate-neon
+    jobs:
+      - '{project-name}-validate-autorelease-{stream}'
+    stream: neon
+    branch: master
+    project-name:
+      - aaa:
+          project: aaa
+      - bgpcep:
+          project: bgpcep
+      - controller:
+          project: controller
+      - coe:
+          project: coe
+      - daexim:
+          project: daexim
+      - genius:
+          project: genius
+      - infrautils:
+          project: infrautils
+      - integration-distribution:
+          project: integration/distribution
+      - lispflowmapping:
+          project: lispflowmapping
+      - netconf:
+          project: netconf
+      - netvirt:
+          project: netvirt
+      - neutron:
+          project: neutron
+      - openflowplugin:
+          project: openflowplugin
+      - ovsdb:
+          project: ovsdb
+      - serviceutils:
+          project: serviceutils
+      - sfc:
+          project: sfc
index d48b49070ed71a29109f688d0d8818a442577320..682d0fb6d292886e61ed343885b92a0f024ca417 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2017 The Linux Foundation and others.
diff --git a/jjb/autorelease/view-autorelease-neon.yaml b/jjb/autorelease/view-autorelease-neon.yaml
new file mode 100644 (file)
index 0000000..98e800a
--- /dev/null
@@ -0,0 +1,41 @@
+---
+# Autogenerated view by autorelease autorelease-update-validate-jobs-{stream} Jenkins job
+- releng_view: &releng_autorelease_view_common_neon
+    name: releng-view-autorelease-neon
+    view-type: list
+    filter-executors: false
+    filter-queue: false
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+      - build-button
+      - jacoco
+      - find-bugs
+      - robot-list
+    recurse: false
+
+- view:
+    name: Merge-Neon
+    description: 'List of Neon Merge jobs for Autorelease'
+    job-name:
+      - 'aaa-maven-merge-neon'
+      - 'bgpcep-maven-merge-neon'
+      - 'controller-maven-merge-neon'
+      - 'coe-maven-merge-neon'
+      - 'daexim-maven-merge-neon'
+      - 'genius-maven-merge-neon'
+      - 'infrautils-maven-merge-neon'
+      - 'integration/distribution-maven-merge-neon'
+      - 'lispflowmapping-maven-merge-neon'
+      - 'netconf-maven-merge-neon'
+      - 'netvirt-maven-merge-neon'
+      - 'neutron-maven-merge-neon'
+      - 'openflowplugin-maven-merge-neon'
+      - 'ovsdb-maven-merge-neon'
+      - 'serviceutils-maven-merge-neon'
+      - 'sfc-maven-merge-neon'
+    <<: *releng_autorelease_view_common_neon
index 846e07ad0c4825e4aadff15aff71aee8fad5c274..7347ea018976bc677bfc8c29c26ec5ce788d2608 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index ca9fa8ce9af901641f68f34ee6aebe933fad7f81..31794be641cde9ee810b5f90d6f4d1983315f139 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 248aeec6ebe5dfc808e000838e3bac2e1d0a15a0..b6f0ca61dab511d6dc0a12ff224c8cfe4c59f9cb 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 4c19390a4afe49f2a7d3e01bff06f198be6ae771..84e5bb2a603d317f20b132e4b25d06ac362a8b69 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index dd72b0f53c63692705838e7f07793a9bda7c73f1..c8902b46ba191342973358e3423a74453e2948b1 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 986e53e2964a7e8eb74bc636d805c3c6ea713aa7..534b08f25b4e6a101d88d25b967590e5cbff00f0 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 98542632cce26e47bd6e08809bbdeb0dda319e6e..40e58d612ae23af1fc2febc2b8297b20128b7692 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index f1e2b7a4a2cd6286bc3f7e56242521862eb8247a..2405fe4bd5969eb25aa03658aad74e543d2fe089 100644 (file)
@@ -9,8 +9,10 @@
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 11f560f5b32a590554391dec3c8928aad298b499..2018d4e0752927dee689aad7419b2be443280ae4 100644 (file)
@@ -1,9 +1,45 @@
 ---
+- project:
+    name: bgpcep-neon
+    jobs:
+      - '{project-name}-distribution-check-{stream}'
+      - '{project-name}-maven-javadoc-jobs'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: bgpcep
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-bgpcep/47576/
+          rtd-token: dbe9d1aabbe8812a26b428908f6613c28e3191fc
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'bgpcep'
+    project-name: 'bgpcep'
+    build-node: centos7-builder-8c-8g
+    build-timeout: 120
+    branch: 'master'
+    mvn-settings: 'bgpcep-settings'
+    mvn-opts: '-Xmx2048m -XX:MaxPermSize=256m'
+    dependencies: >
+        odlparent-merge-{stream},
+        yangtools-merge-{stream},
+        controller-merge-{stream},
+        mdsal-merge-{stream},
+        tcpmd5-merge-{stream}
+    email-upstream: '[bgpcep] [odlparent] [yangtools] [controller] [mdsal] [tcpmd5]'
+
+    # Used by the release job
+    staging-profile-id: 9427a05049030
+
 - project:
     name: bgpcep-fluorine
     jobs:
       - '{project-name}-distribution-check-{stream}'
       - '{project-name}-maven-javadoc-jobs'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: bgpcep
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-bgpcep/47576/
+          rtd-token: dbe9d1aabbe8812a26b428908f6613c28e3191fc
       - odl-maven-jobs
 
     stream: fluorine
@@ -11,7 +47,7 @@
     project-name: 'bgpcep'
     build-node: centos7-builder-8c-8g
     build-timeout: 120
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'bgpcep-settings'
     mvn-opts: '-Xmx2048m -XX:MaxPermSize=256m'
     dependencies: >
index 67dcb5c018458403ead684230a222ba0f3d60d43..dc38606699874d43a08207f3bb817b1db153001f 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 943205bdfb3ba6d24c1a432502976bf6f4e91f66..953bfee2def412af6c2c00779c20d090e075c5a5 100644 (file)
@@ -1,4 +1,23 @@
 ---
+- project:
+    name: bier-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'bier'
+    project-name: 'bier'
+    branch: 'master'
+    build-node: centos7-builder-2c-8g
+    build-timeout: 90
+    mvn-settings: 'bier-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: ''
+    email-upstream: '[bier]'
+
+    # Used by the release job
+    staging-profile-id: 942a8075b1f2a
+
 - project:
     name: bier-fluorine
     jobs:
@@ -7,7 +26,7 @@
     stream: fluorine
     project: 'bier'
     project-name: 'bier'
-    branch: 'master'
+    branch: 'stable/fluorine'
     build-node: centos7-builder-2c-8g
     build-timeout: 90
     mvn-settings: 'bier-settings'
index 1ed2c5d6ccac3bebf7821aeaaed35dcbcc58652f..1e2c783a5ce79cf185de9f169d82f76afd7a5ae4 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 95c26f5048430817793a0bd6b52ab23070cecd5a..3ecfeb5f1d20b904ce10d75ee8cf67494200764c 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: capwap-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'capwap'
+    project-name: 'capwap'
+    branch: 'master'
+    mvn-settings: 'capwap-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: ''
+    email-upstream: '[capwap]'
+
+    # Used by the release job
+    staging-profile-id: 96bd6b5bf86e3
+
 - project:
     name: capwap-fluorine
     jobs:
@@ -7,7 +24,7 @@
     stream: fluorine
     project: 'capwap'
     project-name: 'capwap'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'capwap-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: ''
index ba42c4da8822306b345e327768a313f9b2ddb344..e13cf73b3ee6c38babbe7cf70a22a4e86d01bd0a 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: cardinal-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'cardinal'
+    project-name: 'cardinal'
+    branch: 'master'
+    mvn-settings: 'cardinal-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'openflowplugin-merge-{stream},iotdm-merge-{stream},sfc-merge-{stream}'
+    email-upstream: '[cardinal] [openflowplugin] [iotdm] [sfc]'
+
+    # Used by the release job
+    staging-profile-id: 96be20348f0f2
+
 - project:
     name: cardinal-fluorine
     jobs:
@@ -7,7 +24,7 @@
     stream: fluorine
     project: 'cardinal'
     project-name: 'cardinal'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'cardinal-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'openflowplugin-merge-{stream},iotdm-merge-{stream},sfc-merge-{stream}'
index 47ba93e7713b46b4eb703eaa65bccb6d64cf5398..71988d3ae93d538acd51951d01d9f4aed5a48a1e 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index efc2054ff5528ceb9d0a4cc92f8fc876e199fd6e..ac2a045fb4051adf13953806a62cbd54e8361ae9 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: centinel-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'centinel'
+    project-name: 'centinel'
+    branch: 'master'
+    mvn-settings: 'centinel-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: ''
+    email-upstream: '[centinel]'
+
+    # Used by the release job
+    staging-profile-id: 96bf9b3fefd8a
+
 - project:
     name: centinel-fluorine
     jobs:
@@ -7,7 +24,7 @@
     stream: fluorine
     project: 'centinel'
     project-name: 'centinel'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'centinel-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: ''
index 9b4de8f975c6321b5ff8627c6bd0e3b591d4fc91..2acda6eb014512dd691e81b8d153e0ea9b7b0e37 100644 (file)
     install-features: 'odl-netvirt-coe'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index e838bbab607e71496cfcaec46a24a74cee1f7251..e79ddf59b82ac8d2000d6d40c380cc0ef085b2b2 100644 (file)
@@ -7,8 +7,10 @@
     project: 'coe'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 5c0a5f5dbc9e6c1b186c30c3d9b81520d72daac7..e18132ae8b474fe008620c888a092e85f6433fc4 100644 (file)
@@ -1,4 +1,28 @@
 ---
+- project:
+    name: coe-neon
+    jobs:
+      - '{project-name}-distribution-check-{stream}'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: coe
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-coe/34924/
+          rtd-token: 95a5a8fed43b75c6be8432a2643f20a344ba5155
+      - odl-maven-jobs
+
+    project: 'coe'
+    project-name: 'coe'
+    stream: neon
+    branch: 'master'
+    mvn-settings: 'coe-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
+    email-upstream: '[coe] [odlparent] [yangtools] [controller]'
+    build-node: centos7-docker-2c-8g
+
+    # Used by the release job
+    staging-profile-id: 96c0be46aac33
+
 - project:
     name: coe-fluorine
     jobs:
@@ -13,7 +37,7 @@
     project: 'coe'
     project-name: 'coe'
     stream: fluorine
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'coe-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
index e3488469e024870ebd399510226791b1b297d638..2b655baa6582b70bd6912cca0b55da38bfdd7de7 100644 (file)
     functionality: 'akka1'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 36beac1219ae0e030beb5706778d4b79732d31b4..e0c41376e93c3d9b44697d2b8e0152a8a9f456cf 100644 (file)
@@ -6,11 +6,15 @@
       - inttest-csit-verify-3node
 
     project: 'controller'
-    functionality: 'clustering'
+    functionality:
+      - 'clustering-ask'
+      - 'clustering-tell'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index b8cc17ed8b0e66c6382248aa5f102eae9161ab3c..7397512ac038a9d542e7a00139c4caf456176a8c 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 14b1725da8cd7152e54bafab962a4bb8e760601a..db10859a7bd9748b58d3084dcc977a41832646f5 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 33c84f63280265cda7f4074b73ed97331baeca2f..250ce7da19cc298d378ab615a5592c326ecfe6f9 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index f0b6362b97eca9bcd66b398d7a8ac19f5c223bd2..0aefef94dd6d8eb48f184c6fd5e9eb8044a3abcd 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 8cad5fe09dfab2cf6ac2226fd4760ce7e787a3bf..1239d74f6667f80c6e320cf37a7a065172072a58 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 742d2b90fb19e41f7c03ff80ce8b412a6a7979b2..6f95f90c47b96fb2948bb08d4483d1fe1b3344b2 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 472c2fa7517aee370f2228f1301d0b8d2f39695c..9f14470e84f77e6d69956dc4f4582182aca12f2d 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 3c8973cb107bb4fbefe1c66ceb89b6fec3d05749..b54e60c4ae0c3491e7d7c7c967172c385d89f6d4 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 82196035cb2932b2b7c4a4733a4e201980938aef..a631e6282d62aa4fef3e040c35a9241d158c0ddf 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 0c8043371e37e2e00c6a4240442a8a3b25cb9777..a1546a218aa08daacc23b88c97db1d725b2bd4b2 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index ef786c01c42d5d6dc0092babbe857704be4117a1..a0890e13056d2ec6fe9a62a63611ebca40fbcc39 100644 (file)
@@ -7,9 +7,12 @@
     project: 'controller'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           os-branch: 'queens'
+      - fluorine:
+          branch: 'stable/fluorine'
+          os-branch: 'queens'
       - oxygen:
           branch: 'stable/oxygen'
           os-branch: 'queens'
@@ -27,4 +30,4 @@
 
       - genius:
           csit-list: >
-              genius-csit-1node-gate-all-{stream}
+              genius-csit-1node-gate-only-{stream}
index c6b7b4c13c0e6b63b4d8c056ba7a94bbbaa88c94..0fe1d192014eac704d6256aa237525f86aef9b4e 100644 (file)
@@ -1,15 +1,47 @@
 ---
+- project:
+    name: controller-neon
+    jobs:
+      - '{project-name}-distribution-check-{stream}'
+      - '{project-name}-maven-javadoc-jobs'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: controller
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-controller/48288/
+          rtd-token: b8440116c823a80c0fb0479eb7448a9196e6932f
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'controller'
+    project-name: 'controller'
+    branch: 'master'
+    mvn-settings: 'controller-settings'
+    mvn-goals: 'clean deploy -Pintegrationtests,docs'
+    mvn-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
+    build-node: centos7-builder-8c-8g
+    build-timeout: 90
+    dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},aaa-merge-{stream}'
+    email-upstream: '[controller] [odlparent] [yangtools] [aaa]'
+
+    # Used by the release job
+    staging-profile-id: 96c1c9177efdd
+
 - project:
     name: controller-fluorine
     jobs:
       - '{project-name}-distribution-check-{stream}'
       - '{project-name}-maven-javadoc-jobs'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: controller
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-controller/48288/
+          rtd-token: b8440116c823a80c0fb0479eb7448a9196e6932f
       - odl-maven-jobs
 
     stream: fluorine
     project: 'controller'
     project-name: 'controller'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'controller-settings'
     mvn-goals: 'clean deploy -Pintegrationtests,docs'
     mvn-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
index 824580b2cdd63e571bfb4889910067735f10420f..c62b1b4079c3a609859d44bf968f34d4a3be1e53 100644 (file)
@@ -1,4 +1,22 @@
 ---
+- project:
+    name: coretutorials-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'coretutorials'
+    project-name: 'coretutorials'
+    branch: 'master'
+    mvn-settings: 'coretutorials-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: ''
+    email-upstream: '[coretutorials]'
+    build-timeout: 120
+
+    # Used by the release job
+    staging-profile-id: 96cd299563ec6
+
 - project:
     name: coretutorials-fluorine
     jobs:
@@ -7,7 +25,7 @@
     stream: fluorine
     project: 'coretutorials'
     project-name: 'coretutorials'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'coretutorials-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: ''
index 1324d4df2d9a97487e36edbcc48b28831719cf48..731844dea318efb09327c0648ef03025425f452e 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index b34bcd5c4f8697e894c5ad4e4b78db32257fd942..bf041892ca6dbe24596ac07db4fb0a74a85ac0ff 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index af0cb15599e7fa84650d99f678f14d2ca347f9fc..9852536a235b52a198035ea3c0dc4ef527ad7b77 100644 (file)
@@ -1,14 +1,42 @@
 ---
+- project:
+    name: daexim-neon
+    jobs:
+      - '{project-name}-distribution-check-{stream}'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: daexim
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-daexim/47611/
+          rtd-token: 76284f12638574f131cdccdf257d852d07c195fc
+      - odl-maven-jobs
+
+    project: 'daexim'
+    project-name: 'daexim'
+    stream: neon
+    branch: 'master'
+    mvn-settings: 'daexim-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
+    email-upstream: '[daexim] [odlparent] [yangtools] [controller]'
+
+    # Used by the release job
+    staging-profile-id: 96e4dade34bd7
+
 - project:
     name: daexim-fluorine
     jobs:
       - '{project-name}-distribution-check-{stream}'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: daexim
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-daexim/47611/
+          rtd-token: 76284f12638574f131cdccdf257d852d07c195fc
       - odl-maven-jobs
 
     project: 'daexim'
     project-name: 'daexim'
     stream: fluorine
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'daexim-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
index d63f8986bbbc2846c0776fee38e0222f5d27be64..9caf0f50a848c42eec7d39108c8fbfca82926323 100644 (file)
@@ -44,7 +44,6 @@
     nexus-snapshot-repo: opendaylight.snapshot
     git-url: 'ssh://jenkins-$SILO@git.opendaylight.org:29418'
     lftools-version: <1.0.0
-    packer-version: 1.2.4
 
     # defaults for parameters installing openstack for csit jobs
     devstack-hash: ''
@@ -56,6 +55,7 @@
     enable-openstack-services: ''
     enable-openstack-compute-services: ''
     enable-openstack-network-services: 'neutron,neutron-api,neutron-dhcp,neutron-metadata-agent'
+    enable-gre-type-driver: 'no'
     ipsec-vxlan-tunnels-enabled: 'no'
     lbaas-service-provider: ''
     num-openstack-sites: 1
@@ -73,6 +73,7 @@
     os-ctl-cnt: 0
     os-cmp-cnt: 0
     os-std-topo: '0cmb-1ctl-2cmp'
+    ovs-install: ''
 
     # openstack-infra-parameters defaults
     archive-artifacts: ''
@@ -88,7 +89,7 @@
     sm-features: ''
 
     # CSIT images configuration
-    openstack_system_image_queens: ZZCI - CentOS 7 - devstack-pike - 20171208-1649
+    openstack_system_image_queens: ZZCI - CentOS 7 - devstack-queens - 20180911-204058.666
     openstack_system_image_pike: ZZCI - CentOS 7 - devstack-pike - 20171208-1649
     stack-template: csit-2-instance-type.yaml
     docker_system_count: 1
     docker_system_image: ZZCI - CentOS 7 - docker - 20180723-235456.035
     odl_system_count: 1
     odl_system_flavor: odl-highcpu-4
-    odl_system_image: ZZCI - CentOS 7 - builder - 20180802-220823.782
+    odl_system_image: ZZCI - CentOS 7 - builder - x86_64 - 20181010-215635.956
     openstack_system_count: 1
     openstack_system_flavor: odl-standard-4
-    openstack_system_image: ZZCI - CentOS 7 - devstack - 20180723-235345.727
+    openstack_system_image: ZZCI - CentOS 7 - devstack - 20180911-204116.460
     openstack_system2_count: 0
     openstack_system2_flavor: odl-standard-1
-    openstack_system2_image: ZZCI - CentOS 7 - devstack - 20180723-235345.727
+    openstack_system2_image: ZZCI - CentOS 7 - devstack - 20180911-204116.460
     tools_system_count: 1
     tools_system_flavor: odl-highcpu-2
-    tools_system_image: ZZCI - Ubuntu 16.04 - mininet-ovs-25 - 20180723-235543.682
+    tools_system_image: ZZCI - Ubuntu 16.04 - mininet-ovs-25 - 20181029-223449.514
 
     # Default Robot framework options
     robot-options: ''
     trigger-jobs: ''
     debug-map: ''
     test-suites: ''
+    gate-job: 'False'
 
     # Data for csit-verify jobs
     # Branch for "last" version detection
     10-exclude-value: ''
 
     # Manual CSIT job lists used by sanity or periodic in nature.
+    csit-high-frequency-list-neon: >
+        netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-neon
     csit-high-frequency-list-fluorine: >
         netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine
     csit-high-frequency-list-oxygen: >
         netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-oxygen
+    csit-sanity-list-neon: >
+        openflowplugin-csit-1node-sanity-only-neon,
+        distribution-sanity-neon
     csit-sanity-list-fluorine: >
         openflowplugin-csit-1node-sanity-only-fluorine,
         distribution-sanity-fluorine
     csit-sanity-list-oxygen: >
         openflowplugin-csit-1node-sanity-only-oxygen,
         distribution-sanity-oxygen
+    csit-weekly-list-neon: >
+        controller-csit-1node-notifications-longevity-only-neon,
+        controller-csit-3node-drb-partnheal-longevity-only-neon,
+        controller-csit-3node-drb-precedence-longevity-only-neon,
+        controller-csit-3node-ddb-expl-lead-movement-longevity-only-neon,
+        bgpcep-csit-3node-bgpclustering-longevity-only-neon,
+        distribution-deploy-neon,
+        distribution-offline-neon,
+        openflowplugin-csit-1node-longevity-only-neon
     csit-weekly-list-fluorine: >
         controller-csit-1node-notifications-longevity-only-fluorine,
         controller-csit-3node-drb-partnheal-longevity-only-fluorine,
index b1e4b2014ae5d953a8fe442d3f7f775192e7ae19..2c630ac722928fe39be851ae3b756168b00a5b5b 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index b7a6e8704ac5d45cff68fe1b94e39cc6d5465174..11a7b2cd01a0128694173fb016f5536af94d9ba2 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: didm-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'didm'
+    project-name: 'didm'
+    branch: 'master'
+    mvn-settings: 'didm-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: ''
+    email-upstream: '[didm]'
+
+    # Used by the release job
+    staging-profile-id: 96e6338c870f5
+
 - project:
     name: didm-fluorine
     jobs:
@@ -7,7 +24,7 @@
     stream: fluorine
     project: 'didm'
     project-name: 'didm'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'didm-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: ''
index 5cf48822e7a6a3d2ca6cd89a7beaac3af7f755b3..4308da7d41a7a9ecec40f2e39d6ef81c4fcb9a1b 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: dlux-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'dlux'
+    project-name: 'dlux'
+    branch: 'master'
+    mvn-settings: 'dlux-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream}'
+    email-upstream: '[dlux] [odlparent]'
+
+    # Used by the release job
+    staging-profile-id: 96e6a0327484f
+
 - project:
     name: dlux-fluorine
     jobs:
@@ -7,7 +24,7 @@
     stream: fluorine
     project: 'dlux'
     project-name: 'dlux'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'dlux-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'odlparent-merge-{stream}'
index 46f7ae5037a5e757a1484c26b911150e69b632ff..65f5c6f85880dbb7566e835b4f51f6c450422316 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index d006b15402ca639645ace06a62c50346b18314b9..85aefe9de3fafb1b6dd2f4859b6ae895c812c598 100644 (file)
@@ -1,4 +1,22 @@
 ---
+- project:
+    name: dluxapps-neon
+    jobs:
+      - odl-maven-jobs
+
+    project: 'dluxapps'
+    project-name: 'dluxapps'
+    stream: neon
+    branch: 'master'
+    build-node: centos7-builder-2c-8g
+    mvn-settings: 'dluxapps-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
+    email-upstream: '[dluxapps] [odlparent] [yangtools] [controller]'
+
+    # Used by the release job
+    staging-profile-id: 96e6fb1e65bf9
+
 - project:
     name: dluxapps-fluorine
     jobs:
@@ -7,7 +25,7 @@
     project: 'dluxapps'
     project-name: 'dluxapps'
     stream: fluorine
-    branch: 'master'
+    branch: 'stable/fluorine'
     build-node: centos7-builder-2c-8g
     mvn-settings: 'dluxapps-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
index a3a9bea5b96850aa58df8dc45f85b915562c3609..7ce8b8cc3712bdcb1ada11df28be85e6afaaf248 100644 (file)
@@ -6,8 +6,10 @@
       - gerrit-tox-verify
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 82b6c628a5bb51c2e987099f22f8836466c6daa7..919c4719b1b4fcde7d78f5c6d302692cacea6f42 100644 (file)
@@ -1,4 +1,23 @@
 ---
+- project:
+    name: eman-neon
+    jobs:
+      - '{project-name}-maven-javadoc-jobs'
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'eman'
+    project-name: 'eman'
+    branch: 'master'
+    mvn-settings: 'eman-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: ''
+    email-upstream: '[eman]'
+    build-node: centos7-builder-4c-16g
+
+    # Used by the release job
+    staging-profile-id: 96e9352979521
+
 - project:
     name: eman-fluorine
     jobs:
@@ -8,7 +27,7 @@
     stream: fluorine
     project: 'eman'
     project-name: 'eman'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'eman-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: ''
index 9c6292c5a0d35e59f13855c527dbd61bf4e931b4..bf762128ab8c9aab115a1c2a6226952b06f254df 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: faas-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'faas'
+    project-name: 'faas'
+    branch: 'master'
+    mvn-settings: 'faas-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: ''
+    email-upstream: '[faas]'
+
+    # Used by the release job
+    staging-profile-id: 96f5ac591d858
+
 - project:
     name: faas-fluorine
     jobs:
@@ -7,7 +24,7 @@
     stream: fluorine
     project: 'faas'
     project-name: 'faas'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'faas-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: ''
index 1cb290d7650ce8f0445bc02137e6fde154a3af59..114719cb31352821c6ac40a033cc577a77fd74c6 100644 (file)
@@ -1,4 +1,22 @@
 ---
+- project:
+    name: federation-neon
+    jobs:
+      - '{project-name}-maven-javadoc-jobs'
+      - odl-maven-jobs
+
+    project: 'federation'
+    project-name: 'federation'
+    stream: neon
+    branch: 'master'
+    mvn-settings: 'federation-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
+    email-upstream: '[federation] [odlparent] [yangtools] [controller]'
+
+    # Used by the release job
+    staging-profile-id: 96f78c7a40a24
+
 - project:
     name: federation-fluorine
     jobs:
@@ -8,7 +26,7 @@
     project: 'federation'
     project-name: 'federation'
     stream: fluorine
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'federation-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
index 056e8a3c103177184603d51e344d2d3247e7769d..3986e83cc3720ed5767ec180629320bb263c2159 100644 (file)
           testplan: '{project}-tdd-wip.txt'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
     install:
-      - all:
-          scope: 'all'
+      - only:
+          scope: 'only'
 
     tools_system_count: 3
 
     install-features: 'odl-genius-rest'
+    robot-options: '-v FAIL_ON_EXCEPTIONS:False'
 
 - project:
     name: genius-csit-genius-verify
@@ -46,8 +49,8 @@
     verify-karaf-version: 'karaf4'
 
     install:
-      - all:
-          scope: 'all'
+      - only:
+          scope: 'only'
 
     tools_system_count: 3
 
index 354b441520103bfb5da521edad4e620a70151d12..77067e5cb78b551cdb949ffa7448bca760d84fa1 100644 (file)
@@ -7,9 +7,12 @@
     project: 'genius'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           os-branch: 'queens'
+      - fluorine:
+          branch: 'stable/fluorine'
+          os-branch: 'queens'
       - oxygen:
           branch: 'stable/oxygen'
           os-branch: 'queens'
 
       - genius:
           csit-list: >
-              genius-csit-1node-gate-all-{stream}
+              genius-csit-1node-gate-only-{stream}
 
       - cluster:
           csit-list: >
-              genius-csit-3node-gate-all-{stream}
+              genius-csit-3node-gate-only-{stream}
 
       - tdd-wip:
           csit-list: >
-              genius-csit-1node-tdd-wip-all-{stream}
+              genius-csit-1node-tdd-wip-only-{stream}
index ba9fcf5fe7c98600776c20ec8e01b269c4581353..6461944d360e8373e671587ac4907dedf51941e8 100644 (file)
@@ -1,4 +1,35 @@
 ---
+- project:
+    name: genius-neon
+    jobs:
+      - '{project-name}-distribution-check-{stream}'
+      - '{project-name}-maven-javadoc-jobs'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: genius
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-genius/34944/
+          rtd-token: 7ba691afb89bd53d19fd7d8585fdd8bd6620de7f
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'genius'
+    project-name: 'genius'
+    branch: 'master'
+    build-node: centos7-builder-2c-8g
+    mvn-settings: 'genius-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    build-timeout: 90
+    dependencies: >
+        controller-merge-{stream},
+        yangtools-merge-{stream},
+        odlparent-merge-{stream},
+        openflowplugin-merge-{stream},
+        neutron-merge-{stream}
+    email-upstream: '[genius] [controller] [yangtools] [odlparent] [openflowplugin] [neutron]'
+
+    # Used by the release job
+    staging-profile-id: 96fb4b6d9d1ee
+
 - project:
     name: genius-fluorine
     jobs:
@@ -14,7 +45,7 @@
     stream: fluorine
     project: 'genius'
     project-name: 'genius'
-    branch: 'master'
+    branch: 'stable/fluorine'
     build-node: centos7-builder-2c-8g
     mvn-settings: 'genius-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
diff --git a/jjb/global-jjb b/jjb/global-jjb
deleted file mode 160000 (submodule)
index 356637f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 356637f0d3d4091aecde9889c1bc9ec758a33336
diff --git a/jjb/global-jjb/jenkins-admin b/jjb/global-jjb/jenkins-admin
new file mode 120000 (symlink)
index 0000000..8e7fe05
--- /dev/null
@@ -0,0 +1 @@
+../../global-jjb/jenkins-admin
\ No newline at end of file
diff --git a/jjb/global-jjb/jenkins-init-scripts b/jjb/global-jjb/jenkins-init-scripts
new file mode 120000 (symlink)
index 0000000..c7c6a95
--- /dev/null
@@ -0,0 +1 @@
+../../global-jjb/jenkins-init-scripts
\ No newline at end of file
diff --git a/jjb/global-jjb/jjb b/jjb/global-jjb/jjb
new file mode 120000 (symlink)
index 0000000..23c884f
--- /dev/null
@@ -0,0 +1 @@
+../../global-jjb/jjb
\ No newline at end of file
diff --git a/jjb/global-jjb/shell b/jjb/global-jjb/shell
new file mode 120000 (symlink)
index 0000000..d37c43f
--- /dev/null
@@ -0,0 +1 @@
+../../global-jjb/shell
\ No newline at end of file
index 57d8b73a6ba6a0dea9985ec61a38a28f1e820b66..6b33561b93d8f4454f90d24cf641402fe58cd379 100644 (file)
     functionality: 'openstack'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           install-features: 'odl-groupbasedpolicy-neutron-and-ofoverlay,odl-restconf'
+      - fluorine:
+          branch: 'stable/fluorine'
+          install-features: 'odl-groupbasedpolicy-neutron-and-ofoverlay,odl-restconf'
       - oxygen:
           branch: 'stable/oxygen'
           install-features: 'odl-groupbasedpolicy-neutron-and-ofoverlay,odl-restconf'
index 4a3b08f98fb58a7fddbca619c00fcfa59c92c60c..5589adb53cc981946f1fd51c3888ebac10c95ae8 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 4397cb80f631e65fdd5c791991cb7462cbab5d51..5779e1a1dfc34ba75b1864d9ed73bc71b067ec50 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 6395c405255ff6d30cc160157e043296282d2539..10dbc33ad7b23f1340b857c0d09d888d60f4b681 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 3fa1a99c521aefcd31a1d7e624d4b90088513243..6a826d4746648029e82bda1b61eb9981c18b7d78 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index aff6ca8dae27ab7ecaa99ef2b0aec7f086cda13f..607b26b738692e0676e517b5a28c11fd54c85153 100644 (file)
@@ -1,4 +1,29 @@
 ---
+- project:
+    name: groupbasedpolicy-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'groupbasedpolicy'
+    project-name: 'groupbasedpolicy'
+    branch: 'master'
+    build-node: centos7-builder-2c-8g
+    mvn-settings: 'groupbasedpolicy-settings'
+    mvn-goals: '-U clean deploy findbugs:findbugs'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    build-timeout: 90
+    dependencies: >
+        openflowjava-merge-{stream},
+        openflowplugin-merge-{stream},
+        neutron-merge-{stream},
+        sfc-merge-{stream},
+        ovsdb-merge-{stream}
+    email-upstream: '[groupbasedpolicy] [openflowjava] [openflowplugin] [neutron] [sfc] [ovsdb]'
+
+    # Used by the release job
+    staging-profile-id: 96fbb93f95a76
+
 - project:
     name: groupbasedpolicy-fluorine
     jobs:
@@ -7,7 +32,7 @@
     stream: fluorine
     project: 'groupbasedpolicy'
     project-name: 'groupbasedpolicy'
-    branch: 'master'
+    branch: 'stable/fluorine'
     build-node: centos7-builder-2c-8g
     mvn-settings: 'groupbasedpolicy-settings'
     mvn-goals: '-U clean deploy findbugs:findbugs'
index ef481385fa9db2a3f56e903805c1a5cef837a340..ff6d95171693d78e337f3e82a6351e84818bdde8 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: vbd-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'honeycomb/vbd'
+    project-name: 'vbd'
+    branch: 'master'
+    mvn-settings: 'honeycomb-vbd-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: ''
+    email-upstream: '[vbd]'
+
+    # Used by the release job
+    staging-profile-id: 96fc362c36862
+
 - project:
     name: vbd-fluorine
     jobs:
@@ -7,7 +24,7 @@
     stream: fluorine
     project: 'honeycomb/vbd'
     project-name: 'vbd'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'honeycomb-vbd-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: ''
index 687f3b5d67d19091cbf18b662efdc6078ac532e2..9b7a01ac030a6010a93fa5b214659d676d01ae57 100644 (file)
@@ -7,9 +7,12 @@
     project: 'infrautils'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           os-branch: 'queens'
+      - fluorine:
+          branch: 'stable/fluorine'
+          os-branch: 'queens'
       - oxygen:
           branch: 'stable/oxygen'
           os-branch: 'queens'
@@ -27,4 +30,4 @@
 
       - genius:
           csit-list: >
-              genius-csit-1node-gate-all-{stream}
+              genius-csit-1node-gate-only-{stream}
index dc6294200695fa84e2b8d77d733f16ff93a5d162..6ccd941b0e96a5a5bfcfda659a26b1b0e2705381 100644 (file)
@@ -1,4 +1,29 @@
 ---
+- project:
+    name: infrautils-neon
+    jobs:
+      - '{project-name}-distribution-check-{stream}'
+      - '{project-name}-maven-javadoc-jobs'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          doc-dir: .tox/docs/tmp/html
+          project-pattern: infrautils
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-infrautils/38993/
+          rtd-token: 294c76173237e3a088365c31012cf4ddaa767dc9
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'infrautils'
+    project-name: 'infrautils'
+    branch: 'master'
+    mvn-settings: 'infrautils-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream}'
+    email-upstream: '[infrautils] [odlparent]'
+
+    # Used by the release job
+    staging-profile-id: 96fca0367756c
+
 - project:
     name: infrautils-fluorine
     jobs:
@@ -15,7 +40,7 @@
     stream: fluorine
     project: 'infrautils'
     project-name: 'infrautils'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'infrautils-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'odlparent-merge-{stream}'
index 4695ccdbe470bda2139c3739f16d12dbff356e58..53ed46ada9c6fa5a09ffda094bfca2c8095fa7a3 100644 (file)
@@ -256,7 +256,6 @@ PUBLIC_PHYSICAL_NETWORK: ${PUBLIC_PHYSICAL_NETWORK}
 ENABLE_NETWORKING_L2GW: ${ENABLE_NETWORKING_L2GW}
 CREATE_INITIAL_NETWORKS: ${CREATE_INITIAL_NETWORKS}
 LBAAS_SERVICE_PROVIDER: ${LBAAS_SERVICE_PROVIDER}
-NUM_OPENSTACK_SITES: ${NUM_OPENSTACK_SITES}
 ODL_SFC_DRIVER: ${ODL_SFC_DRIVER}
 ODL_SNAT_MODE: ${ODL_SNAT_MODE}
 
@@ -419,7 +418,11 @@ EOF
     mkdir -p ${WORKSPACE}/archives
 
     mv /tmp/changes.txt ${WORKSPACE}/archives
+    mv /tmp/validations.txt ${WORKSPACE}/archives
     mv ${WORKSPACE}/rabbit.txt ${WORKSPACE}/archives
+    mv ${WORKSPACE}/haproxy.cfg ${WORKSPACE}/archives
+    ssh ${OPENSTACK_HAPROXY_1_IP} "sudo journalctl -u haproxy > /tmp/haproxy.log"
+    scp ${OPENSTACK_HAPROXY_1_IP}:/tmp/haproxy.log ${WORKSPACE}/archives/
 
     sleep 5
     # FIXME: Do not create .tar and gzip before copying.
@@ -508,6 +511,7 @@ EOF
         scp ${!OSIP}:/tmp/dmesg.log ${NODE_FOLDER}
         scp ${!OSIP}:/tmp/extra_debug.log ${NODE_FOLDER}
         scp ${!OSIP}:/tmp/get_devstack.sh.txt ${NODE_FOLDER}
+        scp ${!OSIP}:/tmp/install_ovs.txt ${NODE_FOLDER}
         scp ${!OSIP}:/tmp/journalctl.log ${NODE_FOLDER}
         scp ${!OSIP}:/tmp/ovsdb-tool.log ${NODE_FOLDER}
         scp ${!OSIP}:/tmp/tcpdump_start.log ${NODE_FOLDER}
@@ -550,6 +554,7 @@ EOF
         scp ${!OSIP}:/tmp/dmesg.log ${NODE_FOLDER}
         scp ${!OSIP}:/tmp/extra_debug.log ${NODE_FOLDER}
         scp ${!OSIP}:/tmp/get_devstack.sh.txt ${NODE_FOLDER}
+        scp ${!OSIP}:/tmp/install_ovs.txt ${NODE_FOLDER}
         scp ${!OSIP}:/tmp/journalctl.log ${NODE_FOLDER}
         scp ${!OSIP}:/tmp/ovsdb-tool.log ${NODE_FOLDER}
         scp ${!OSIP}:/tmp/tcpdump_start.log ${NODE_FOLDER}
@@ -582,3 +587,396 @@ EOF
         echo "tempest results not found in ${DEVSTACK_TEMPEST_DIR}/${TESTREPO}/0"
     fi
 } # collect_netvirt_logs()
+
+# Utility function for joining strings.
+function join() {
+    delim=' '
+    final=$1; shift
+
+    for str in "$@" ; do
+        final=${final}${delim}${str}
+    done
+
+    echo ${final}
+}
+
+function get_nodes_list() {
+    # Create the string for nodes
+    for i in `seq 1 ${NUM_ODL_SYSTEM}` ; do
+        CONTROLLERIP=ODL_SYSTEM_${i}_IP
+        nodes[$i]=${!CONTROLLERIP}
+    done
+
+    nodes_list=$(join "${nodes[@]}")
+    echo ${nodes_list}
+}
+
+function get_features() {
+    if [ ${CONTROLLERSCOPE} == 'all' ]; then
+        ACTUALFEATURES="odl-integration-compatible-with-all,${CONTROLLERFEATURES}"
+        export CONTROLLERMEM="3072m"
+    else
+        ACTUALFEATURES="odl-infrautils-ready,${CONTROLLERFEATURES}"
+    fi
+
+    # Some versions of jenkins job builder result in feature list containing spaces
+    # and ending in newline. Remove all that.
+    ACTUALFEATURES=`echo "${ACTUALFEATURES}" | tr -d '\n \r'`
+    echo "ACTUALFEATURES: ${ACTUALFEATURES}"
+
+    # In the case that we want to install features via karaf shell, a space separated list of
+    # ACTUALFEATURES IS NEEDED
+    SPACE_SEPARATED_FEATURES=$(echo "${ACTUALFEATURES}" | tr ',' ' ')
+    echo "SPACE_SEPARATED_FEATURES: ${SPACE_SEPARATED_FEATURES}"
+
+    export ACTUALFEATURES
+    export SPACE_SEPARATED_FEATURES
+}
+
+# Create the configuration script to be run on controllers.
+function create_configuration_script() {
+    cat > ${WORKSPACE}/configuration-script.sh <<EOF
+set -x
+source /tmp/common-functions.sh ${BUNDLEFOLDER}
+
+echo "Changing to /tmp"
+cd /tmp
+
+echo "Downloading the distribution from ${ACTUAL_BUNDLE_URL}"
+wget --progress=dot:mega '${ACTUAL_BUNDLE_URL}'
+
+echo "Extracting the new controller..."
+unzip -q ${BUNDLE}
+
+echo "Adding external repositories..."
+sed -ie "s%org.ops4j.pax.url.mvn.repositories=%org.ops4j.pax.url.mvn.repositories=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot@id=opendaylight-snapshot@snapshots, https://nexus.opendaylight.org/content/repositories/public@id=opendaylight-mirror, http://repo1.maven.org/maven2@id=central, http://repository.springsource.com/maven/bundles/release@id=spring.ebr.release, http://repository.springsource.com/maven/bundles/external@id=spring.ebr.external, http://zodiac.springsource.com/maven/bundles/release@id=gemini, http://repository.apache.org/content/groups/snapshots-group@id=apache@snapshots@noreleases, https://oss.sonatype.org/content/repositories/snapshots@id=sonatype.snapshots.deploy@snapshots@noreleases, https://oss.sonatype.org/content/repositories/ops4j-snapshots@id=ops4j.sonatype.snapshots.deploy@snapshots@noreleases%g" ${MAVENCONF}
+cat ${MAVENCONF}
+
+if [[ "$USEFEATURESBOOT" == "True" ]]; then
+    echo "Configuring the startup features..."
+    sed -ie "s/\(featuresBoot=\|featuresBoot =\)/featuresBoot = ${ACTUALFEATURES},/g" ${FEATURESCONF}
+fi
+
+FEATURE_TEST_STRING="features-integration-test"
+KARAF_VERSION=${KARAF_VERSION:-karaf4}
+if [[ "$KARAF_VERSION" == "karaf4" ]]; then
+    FEATURE_TEST_STRING="features-test"
+fi
+
+sed -ie "s%\(featuresRepositories=\|featuresRepositories =\)%featuresRepositories = mvn:org.opendaylight.integration/\${FEATURE_TEST_STRING}/${BUNDLE_VERSION}/xml/features,mvn:org.apache.karaf.decanter/apache-karaf-decanter/1.0.0/xml/features,%g" ${FEATURESCONF}
+if [[ ! -z "${REPO_URL}" ]]; then
+   sed -ie "s%featuresRepositories =%featuresRepositories = ${REPO_URL},%g" ${FEATURESCONF}
+fi
+cat ${FEATURESCONF}
+
+configure_karaf_log "${KARAF_VERSION}" "${CONTROLLERDEBUGMAP}"
+
+set_java_vars "${JAVA_HOME}" "${CONTROLLERMEM}" "${MEMCONF}"
+
+echo "Listing all open ports on controller system..."
+netstat -pnatu
+
+# Copy shard file if exists
+if [ -f /tmp/custom_shard_config.txt ]; then
+    echo "Custom shard config exists!!!"
+    echo "Copying the shard config..."
+    cp /tmp/custom_shard_config.txt /tmp/${BUNDLEFOLDER}/bin/
+fi
+
+echo "Configuring cluster"
+/tmp/${BUNDLEFOLDER}/bin/configure_cluster.sh \$1 ${nodes_list}
+
+echo "Dump akka.conf"
+cat ${AKKACONF}
+
+echo "Dump modules.conf"
+cat ${MODULESCONF}
+
+echo "Dump module-shards.conf"
+cat ${MODULESHARDSCONF}
+EOF
+# cat > ${WORKSPACE}/configuration-script.sh <<EOF
+}
+
+# Create the startup script to be run on controllers.
+function create_startup_script() {
+    cat > ${WORKSPACE}/startup-script.sh <<EOF
+echo "Redirecting karaf console output to karaf_console.log"
+export KARAF_REDIRECT="/tmp/${BUNDLEFOLDER}/data/log/karaf_console.log"
+mkdir -p /tmp/${BUNDLEFOLDER}/data/log
+
+echo "Starting controller..."
+/tmp/${BUNDLEFOLDER}/bin/start
+EOF
+# cat > ${WORKSPACE}/startup-script.sh <<EOF
+}
+
+function create_post_startup_script() {
+    cat > ${WORKSPACE}/post-startup-script.sh <<EOF
+if [[ "$USEFEATURESBOOT" != "True" ]]; then
+
+    # wait up to 60s for karaf port 8101 to be opened, polling every 5s
+    loop_count=0;
+    until [[ \$loop_count -ge 12 ]]; do
+        netstat -na | grep 8101 && break;
+        loop_count=\$[\$loop_count+1];
+        sleep 5;
+    done
+
+    echo "going to feature:install --no-auto-refresh ${SPACE_SEPARATED_FEATURES} one at a time"
+    for feature in ${SPACE_SEPARATED_FEATURES}; do
+        sshpass -p karaf ssh -o StrictHostKeyChecking=no \
+                             -o UserKnownHostsFile=/dev/null \
+                             -o LogLevel=error \
+                             -p 8101 karaf@localhost \
+                             feature:install --no-auto-refresh \$feature;
+    done
+
+    echo "ssh to karaf console to list -i installed features"
+    sshpass -p karaf ssh -o StrictHostKeyChecking=no \
+                         -o UserKnownHostsFile=/dev/null \
+                         -o LogLevel=error \
+                         -p 8101 karaf@localhost \
+                         feature:list -i
+fi
+
+echo "Waiting up to 3 minutes for controller to come up, checking every 5 seconds..."
+for i in {1..36}; do
+    sleep 5;
+    grep 'org.opendaylight.infrautils.*System ready' /tmp/${BUNDLEFOLDER}/data/log/karaf.log
+    if [ \$? -eq 0 ]; then
+        echo "Controller is UP"
+        break
+    fi
+done;
+
+# if we ended up not finding ready status in the above loop, we can output some debugs
+grep 'org.opendaylight.infrautils.*System ready' /tmp/${BUNDLEFOLDER}/data/log/karaf.log
+if [ $? -ne 0 ]; then
+    echo "Timeout Controller DOWN"
+    echo "Dumping first 500K bytes of karaf log..."
+    head --bytes=500K "/tmp/${BUNDLEFOLDER}/data/log/karaf.log"
+    echo "Dumping last 500K bytes of karaf log..."
+    tail --bytes=500K "/tmp/${BUNDLEFOLDER}/data/log/karaf.log"
+    echo "Listing all open ports on controller system"
+    netstat -pnatu
+    exit 1
+fi
+
+echo "Listing all open ports on controller system..."
+netstat -pnatu
+
+function exit_on_log_file_message {
+    echo "looking for \"\$1\" in log file"
+    if grep --quiet "\$1" "/tmp/${BUNDLEFOLDER}/data/log/karaf.log"; then
+        echo ABORTING: found "\$1"
+        echo "Dumping first 500K bytes of karaf log..."
+        head --bytes=500K "/tmp/${BUNDLEFOLDER}/data/log/karaf.log"
+        echo "Dumping last 500K bytes of karaf log..."
+        tail --bytes=500K "/tmp/${BUNDLEFOLDER}/data/log/karaf.log"
+        exit 1
+    fi
+}
+
+exit_on_log_file_message 'BindException: Address already in use'
+exit_on_log_file_message 'server is unhealthy'
+EOF
+# cat > ${WORKSPACE}/post-startup-script.sh <<EOF
+}
+
+# Copy over the configuration script and configuration files to each controller
+# Execute the configuration script on each controller.
+function copy_and_run_configuration_script() {
+    for i in `seq 1 ${NUM_ODL_SYSTEM}`; do
+        CONTROLLERIP=ODL_SYSTEM_${i}_IP
+        echo "Configuring member-${i} with IP address ${!CONTROLLERIP}"
+        scp ${WORKSPACE}/configuration-script.sh ${!CONTROLLERIP}:/tmp/
+        ssh ${!CONTROLLERIP} "bash /tmp/configuration-script.sh ${i}"
+    done
+}
+
+# Copy over the startup script to each controller and execute it.
+function copy_and_run_startup_script() {
+    for i in `seq 1 ${NUM_ODL_SYSTEM}`; do
+        CONTROLLERIP=ODL_SYSTEM_${i}_IP
+        echo "Starting member-${i} with IP address ${!CONTROLLERIP}"
+        scp ${WORKSPACE}/startup-script.sh ${!CONTROLLERIP}:/tmp/
+        ssh ${!CONTROLLERIP} "bash /tmp/startup-script.sh"
+    done
+}
+
+function copy_and_run_post_startup_script() {
+    seed_index=1
+    for i in `seq 1 ${NUM_ODL_SYSTEM}`; do
+        CONTROLLERIP=ODL_SYSTEM_${i}_IP
+        echo "Execute the post startup script on controller ${!CONTROLLERIP}"
+        scp ${WORKSPACE}/post-startup-script.sh ${!CONTROLLERIP}:/tmp
+        ssh ${!CONTROLLERIP} "bash /tmp/post-startup-script.sh $(( seed_index++ ))"
+        if [ $(( $i % ${NUM_ODL_SYSTEM} )) == 0 ]; then
+            seed_index=1
+        fi
+    done
+}
+
+function create_controller_variables() {
+    echo "Generating controller variables..."
+    for i in `seq 1 ${NUM_ODL_SYSTEM}`; do
+        CONTROLLERIP=ODL_SYSTEM_${i}_IP
+        odl_variables=${odl_variables}" -v ${CONTROLLERIP}:${!CONTROLLERIP}"
+        echo "Lets's take the karaf thread dump"
+        ssh ${!CONTROLLERIP} "sudo ps aux" > ${WORKSPACE}/ps_before.log
+        pid=$(grep org.apache.karaf.main.Main ${WORKSPACE}/ps_before.log | grep -v grep | tr -s ' ' | cut -f2 -d' ')
+        echo "karaf main: org.apache.karaf.main.Main, pid:${pid}"
+        ssh ${!CONTROLLERIP} "${JAVA_HOME}/bin/jstack -l ${pid}" > ${WORKSPACE}/karaf_${i}_${pid}_threads_before.log || true
+    done
+}
+
+# Function to build OVS from git repo
+function build_ovs() {
+    local -r ip=$1
+    local -r version=$2
+    local -r rpm_path="$3"
+
+    echo "Building OVS ${version} on ${ip} ..."
+    cat > ${WORKSPACE}/build_ovs.sh << EOF
+set -ex -o pipefail
+
+echo '---> Building openvswitch version ${version}'
+
+# Install running kernel devel packages
+K_VERSION=\$(uname -r)
+YUM_OPTS="-y --disablerepo=* --enablerepo=base,updates,extra,C*-base,C*-updates,C*-extras"
+# Install centos-release to update vault repos from which to fetch
+# kernel devel packages
+sudo yum \${YUM_OPTS} install centos-release yum-utils @'Development Tools' rpm-build
+sudo yum \${YUM_OPTS} install kernel-{devel,headers}-\${K_VERSION}
+
+TMP=\$(mktemp -d)
+pushd \${TMP}
+
+git clone https://github.com/openvswitch/ovs.git
+cd ovs
+
+if [ "${version}" = "v2.6.1-nsh" ]; then
+    git checkout v2.6.1
+    echo "Will apply nsh patches for OVS version 2.6.1"
+    git clone https://github.com/yyang13/ovs_nsh_patches.git ../ovs_nsh_patches
+    git apply ../ovs_nsh_patches/v2.6.1_centos7/*.patch
+else
+    git checkout ${version}
+fi
+
+# On early versions of OVS, flake warnings would fail the build.
+# Remove it.
+sudo pip uninstall -y flake8
+
+# Get rid of sphinx dep as it conflicts with the already
+# installed one (via pip). Docs wont be built.
+sed -i "/BuildRequires:.*sphinx.*/d" rhel/openvswitch-fedora.spec.in
+
+sed -e 's/@VERSION@/0.0.1/' rhel/openvswitch-fedora.spec.in > /tmp/ovs.spec
+sed -e 's/@VERSION@/0.0.1/' rhel/openvswitch-kmod-fedora.spec.in > /tmp/ovs-kmod.spec
+sed -e 's/@VERSION@/0.0.1/' rhel/openvswitch-dkms.spec.in > /tmp/ovs-dkms.spec
+sudo yum-builddep \${YUM_OPTS} /tmp/ovs.spec /tmp/ovs-kmod.spec /tmp/ovs-dkms.spec
+rm /tmp/ovs.spec /tmp/ovs-kmod.spec /tmp/ovs-dkms.spec
+./boot.sh
+./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --with-linux=/lib/modules/\${K_VERSION}/build --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-libcapng --enable-ssl --with-pkidir=/var/lib/openvswitch/pki PYTHON=/usr/bin/python2
+make rpm-fedora RPMBUILD_OPT="--without check"
+# Build dkms only for now
+# make rpm-fedora-kmod RPMBUILD_OPT='-D "kversion \${K_VERSION}"'
+rpmbuild -D "_topdir \$(pwd)/rpm/rpmbuild" -bb --without check rhel/openvswitch-dkms.spec
+
+mkdir -p /tmp/ovs_rpms
+cp -r rpm/rpmbuild/RPMS/* /tmp/ovs_rpms/
+
+popd
+rm -rf \${TMP}
+EOF
+
+    scp ${WORKSPACE}/build_ovs.sh ${ip}:/tmp
+    ${SSH} ${ip} " bash /tmp/build_ovs.sh >> /tmp/install_ovs.txt 2>&1"
+    scp -r ${ip}:/tmp/ovs_rpms/* "${rpm_path}/"
+    ${SSH} ${ip} "rm -rf /tmp/ovs_rpms"
+}
+
+# Install OVS RPMs from yum repo
+function install_ovs_from_repo() {
+    local -r ip=$1
+    local -r rpm_repo="$2"
+
+    echo "Installing OVS from repo ${rpm_repo} on ${ip} ..."
+    cat > ${WORKSPACE}/install_ovs.sh << EOF
+set -ex -o pipefail
+
+echo '---> Installing openvswitch from ${rpm_repo}'
+
+# We need repoquery from yum-utils.
+sudo yum -y install yum-utils
+
+# Get openvswitch packages offered by custom repo.
+# dkms package will have priority over kmod.
+OVS_REPO_OPTS="--repofrompath=ovs-repo,${rpm_repo} --disablerepo=* --enablerepo=ovs-repo"
+OVS_PKGS=\$(repoquery \${OVS_REPO_OPTS} openvswitch)
+OVS_SEL_PKG=\$(repoquery \${OVS_REPO_OPTS} openvswitch-selinux-policy)
+OVS_DKMS_PKG=\$(repoquery \${OVS_REPO_OPTS} openvswitch-dkms)
+OVS_KMOD_PKG=\$(repoquery \${OVS_REPO_OPTS} openvswitch-kmod)
+[ -n "\${OVS_SEL_PKG}" ] && OVS_PKGS="\${OVS_PKGS} \${OVS_SEL_PKG}"
+[ -n "\${OVS_DKMS_PKG}" ] && OVS_PKGS="\${OVS_PKGS} \${OVS_DKMS_PKG}"
+[ -z "\${OVS_DKMS_PKG}" ] && [ -n "\${OVS_KMOD_PKG}" ] && OVS_PKGS="\${OVS_PKGS} \${OVS_KMOD_PKG}"
+
+# Bail with error if custom repo was provided but we could not
+# find suitable packages there.
+[ -z "\${OVS_PKGS}" ] && echo "No OVS packages found in custom repo." && exit 1
+
+# Install kernel & devel packages for the openvswitch dkms package.
+if [ -n "\${OVS_DKMS_PKG}" ]; then
+    # install centos-release to update vault repos from which to fetch
+    # kernel devel packages
+    sudo yum -y install centos-release
+    K_VERSION=\$(uname -r)
+    YUM_OPTS="-y --disablerepo=* --enablerepo=base,updates,extra,C*-base,C*-updates,C*-extras"
+    sudo yum \${YUM_OPTS} install kernel-{headers,devel}-\${K_VERSION} @'Development Tools' python-six
+fi
+
+PREV_MOD=\$(sudo modinfo -n openvswitch || echo '')
+
+# Install OVS offered by custom repo.
+sudo yum-config-manager --add-repo "${rpm_repo}"
+sudo yum -y versionlock delete openvswitch-*
+sudo yum -y remove openvswitch-*
+sudo yum -y --nogpgcheck install \${OVS_PKGS}
+sudo yum -y versionlock add \${OVS_PKGS}
+
+# Most recent OVS versions have some incompatibility with certain versions of iptables
+# This below line will overcome that problem.
+sudo modprobe openvswitch
+
+# Start OVS and print details
+sudo systemctl start openvswitch
+sudo systemctl enable openvswitch
+sudo ovs-vsctl --retry -t 5 show
+sudo modinfo openvswitch
+
+# dkms rpm install can fail silently (probably because the OVS version is
+# incompatible with the running kernel), verify module was updated.
+NEW_MOD=\$(sudo modinfo -n openvswitch || echo '')
+[ "\${PREV_MOD}" != "\${NEW_MOD}" ] || (echo "Kernel module was not updated" && exit 1)
+EOF
+
+    scp ${WORKSPACE}/install_ovs.sh ${ip}:/tmp
+    ${SSH} ${ip} "bash /tmp/install_ovs.sh >> /tmp/install_ovs.txt 2>&1"
+}
+
+# Install OVS RPMS from path
+function install_ovs_from_path() {
+    local -r ip=$1
+    local -r rpm_path="$2"
+
+    echo "Creating OVS RPM repo on ${ip} ..."
+    ${SSH} ${ip} "mkdir -p /tmp/ovs_rpms"
+    scp -r "${rpm_path}"/* ${ip}:/tmp/ovs_rpms
+    ${SSH} ${ip} "sudo yum -y install createrepo && createrepo --database /tmp/ovs_rpms"
+    install_ovs_from_repo ${ip} file:/tmp/ovs_rpms
+}
+
+
index e0eacdf0c1bb5dfba298f0790a1684e3f963a2ba..c8835aad2bbcf5a509b2b79962ac5f68040c48a3 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 
 # Copy the whole script to /tmp/common-functions.sh and to remote nodes but
 # only if this script itself is executing and not sourced. jenkins prepends this
@@ -11,7 +11,6 @@ if [ "${BASH_SOURCE[0]}" == "${0}" ]; then
     echo "Copying common-functions.sh to /tmp"
     cp "${0}" /tmp/common-functions.sh
 
-    source /tmp/v/openstack/bin/activate
     mapfile -t ips <<< "$(openstack stack show -f json -c outputs "$STACK_NAME" | jq -r '.outputs[] | select(.output_key | match("^vm_[0-9]+_ips$")) | .output_value | .[]')"
     for ip in "${ips[@]}"; do
         echo "Copying common-functions.sh to ${ip}:/tmp"
index ced59e9470bf6df48b9ad5f3797cb6b89ca3b388..f81028f5db850c9bd02061061f923cc0c7c1dc77 100644 (file)
@@ -1,5 +1,4 @@
 aaa-csit-1node-authn-all-fluorine,
-aaa-csit-1node-keystone-all-fluorine,
 aaa-csit-1node-tls-only-fluorine,
 bgpcep-csit-1node-bgp-ingest-all-fluorine,
 bgpcep-csit-1node-bgp-ingest-mixed-all-fluorine,
@@ -12,56 +11,41 @@ controller-csit-1node-akka1-all-fluorine,
 controller-csit-1node-benchmark-all-fluorine,
 controller-csit-1node-rest-cars-perf-all-fluorine,
 controller-csit-3node-benchmark-all-fluorine,
-controller-csit-3node-clustering-all-fluorine,
+controller-csit-3node-clustering-ask-all-fluorine,
+controller-csit-3node-clustering-tell-all-fluorine,
 controller-csit-3node-rest-clust-cars-perf-ask-only-fluorine,
 controller-csit-3node-rest-clust-cars-perf-tell-only-fluorine,
 daexim-csit-1node-basic-only-fluorine,
 daexim-csit-3node-clustering-basic-only-fluorine,
 distribution-csit-1node-userfeatures-all-fluorine,
 distribution-csit-managed-fluorine,
-genius-csit-1node-upstream-all-fluorine,
-genius-csit-3node-upstream-all-fluorine,
+genius-csit-1node-upstream-only-fluorine,
+genius-csit-3node-upstream-only-fluorine,
 lispflowmapping-csit-1node-msmr-all-fluorine,
 lispflowmapping-csit-1node-performance-only-fluorine,
 lispflowmapping-csit-3node-msmr-all-fluorine,
 mdsal-csit-1node-bindingv1-only-fluorine,
 netconf-csit-1node-callhome-only-fluorine,
-netconf-csit-1node-scale-all-fluorine,
+netconf-csit-1node-scale-only-fluorine,
 netconf-csit-1node-userfeatures-all-fluorine,
 netconf-csit-3node-cluster-stress-all-fluorine,
 netconf-csit-3node-clustering-all-fluorine,
 netconf-csit-3node-clustering-scale-all-fluorine,
-netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-pike-upstream-stateful-fluorine,
-netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-pike-upstream-stateful-itm-direct-tunnels-fluorine,
-netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-pike-upstream-stateful-snat-conntrack-fluorine,
+netvirt-csit-1node-0cmb-1ctl-2cmp-apex-queens-upstream-snat-conntrack-fluorine,
 netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-sfc-fluorine,
 netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upgrade-fluorine,
 netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upgrade-snat-conntrack-fluorine,
 netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine,
 netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-itm-direct-tunnels-fluorine,
 netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-snat-conntrack-fluorine,
-netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-pike-upstream-stateful-fluorine,
-netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-pike-upstream-stateful-itm-direct-tunnels-fluorine,
-netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-pike-upstream-stateful-snat-conntrack-fluorine,
 netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-fluorine,
-netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-itm-direct-tunnels-fluorine,
 netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-snat-conntrack-fluorine,
-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-pike-upstream-stateful-fluorine,
-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-pike-upstream-stateful-itm-direct-tunnels-fluorine,
-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-pike-upstream-stateful-snat-conntrack-fluorine,
 netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine,
 netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-itm-direct-tunnels-fluorine,
 netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-snat-conntrack-fluorine,
-netvirt-csit-3node-1cmb-0ctl-0cmp-openstack-pike-upstream-stateful-fluorine,
-netvirt-csit-3node-1cmb-0ctl-0cmp-openstack-pike-upstream-stateful-itm-direct-tunnels-fluorine,
-netvirt-csit-3node-1cmb-0ctl-0cmp-openstack-pike-upstream-stateful-snat-conntrack-fluorine,
-netvirt-csit-3node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-fluorine,
-netvirt-csit-3node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-itm-direct-tunnels-fluorine,
-netvirt-csit-3node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-snat-conntrack-fluorine,
-netvirt-csit-hwvtep-1node-0cmb-1ctl-2cmp-openstack-pike-upstream-stateful-fluorine,
 netvirt-csit-hwvtep-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine,
-netvirt-csit-hwvtep-3node-0cmb-1ctl-2cmp-openstack-pike-upstream-stateful-fluorine,
 netvirt-csit-hwvtep-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine,
+odltools-csit-1node-upstream-all-fluorine,
 openflowplugin-csit-1node-bundle-based-reconciliation-all-fluorine,
 openflowplugin-csit-1node-cbench-only-fluorine,
 openflowplugin-csit-1node-flow-services-all-fluorine,
diff --git a/jjb/integration/csit-jobs-neon.lst b/jjb/integration/csit-jobs-neon.lst
new file mode 100644 (file)
index 0000000..67fd3ec
--- /dev/null
@@ -0,0 +1,64 @@
+aaa-csit-1node-authn-all-neon,
+aaa-csit-1node-tls-only-neon,
+bgpcep-csit-1node-bgp-ingest-all-neon,
+bgpcep-csit-1node-bgp-ingest-mixed-all-neon,
+bgpcep-csit-1node-throughpcep-all-neon,
+bgpcep-csit-1node-userfeatures-all-neon,
+bgpcep-csit-3node-bgpclustering-all-neon,
+bgpcep-csit-3node-bgpclustering-ha-only-neon,
+coe-csit-1node-container-networking-all-neon,
+controller-csit-1node-akka1-all-neon,
+controller-csit-1node-benchmark-all-neon,
+controller-csit-1node-rest-cars-perf-all-neon,
+controller-csit-3node-benchmark-all-neon,
+controller-csit-3node-clustering-ask-all-neon,
+controller-csit-3node-clustering-tell-all-neon,
+controller-csit-3node-rest-clust-cars-perf-ask-only-neon,
+controller-csit-3node-rest-clust-cars-perf-tell-only-neon,
+daexim-csit-1node-basic-only-neon,
+daexim-csit-3node-clustering-basic-only-neon,
+distribution-csit-1node-userfeatures-all-neon,
+distribution-csit-managed-neon,
+genius-csit-1node-upstream-only-neon,
+genius-csit-3node-upstream-only-neon,
+lispflowmapping-csit-1node-msmr-all-neon,
+lispflowmapping-csit-1node-performance-only-neon,
+lispflowmapping-csit-3node-msmr-all-neon,
+mdsal-csit-1node-bindingv1-only-neon,
+netconf-csit-1node-callhome-only-neon,
+netconf-csit-1node-scale-only-neon,
+netconf-csit-1node-userfeatures-all-neon,
+netconf-csit-3node-cluster-stress-all-neon,
+netconf-csit-3node-clustering-all-neon,
+netconf-csit-3node-clustering-scale-all-neon,
+netvirt-csit-1node-0cmb-1ctl-2cmp-apex-queens-upstream-snat-conntrack-neon,
+netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-sfc-neon,
+netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upgrade-neon,
+netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upgrade-snat-conntrack-neon,
+netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-itm-direct-tunnels-neon,
+netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-neon,
+netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-snat-conntrack-neon,
+netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-neon,
+netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-snat-conntrack-neon,
+netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-itm-direct-tunnels-neon,
+netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-neon,
+netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-snat-conntrack-neon,
+netvirt-csit-hwvtep-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-neon,
+netvirt-csit-hwvtep-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-neon,
+odltools-csit-1node-upstream-all-neon,
+openflowplugin-csit-1node-bundle-based-reconciliation-all-neon,
+openflowplugin-csit-1node-cbench-only-neon,
+openflowplugin-csit-1node-flow-services-all-neon,
+openflowplugin-csit-1node-perf-bulkomatic-only-neon,
+openflowplugin-csit-1node-perf-stats-collection-only-neon,
+openflowplugin-csit-1node-scale-link-only-neon,
+openflowplugin-csit-1node-scale-only-neon,
+openflowplugin-csit-1node-scale-switch-only-neon,
+openflowplugin-csit-3node-clustering-bulkomatic-only-neon,
+openflowplugin-csit-3node-clustering-only-neon,
+openflowplugin-csit-3node-clustering-perf-bulkomatic-only-neon,
+ovsdb-csit-1node-upstream-southbound-all-neon,
+ovsdb-csit-3node-upstream-clustering-only-neon,
+sfc-csit-3node-docker-full-deploy-all-neon,
+sfc-csit-3node-rest-basic-all-neon,
+yangtools-csit-1node-system-only-neon,
index 29604b9350ee5be51794c3030ac8c2da506bf55b..be4b4d8b4e8b4f9d6141a315750bdc425cbdae79 100644 (file)
@@ -1,5 +1,4 @@
 aaa-csit-1node-authn-all-oxygen,
-aaa-csit-1node-keystone-all-oxygen,
 aaa-csit-1node-tls-only-oxygen,
 alto-csit-1node-setup-all-oxygen,
 bgpcep-csit-1node-bgp-ingest-all-oxygen,
@@ -14,7 +13,8 @@ controller-csit-1node-akka1-all-oxygen,
 controller-csit-1node-benchmark-all-oxygen,
 controller-csit-1node-rest-cars-perf-all-oxygen,
 controller-csit-3node-benchmark-all-oxygen,
-controller-csit-3node-clustering-all-oxygen,
+controller-csit-3node-clustering-ask-all-oxygen,
+controller-csit-3node-clustering-tell-all-oxygen,
 controller-csit-3node-rest-clust-cars-perf-ask-only-oxygen,
 controller-csit-3node-rest-clust-cars-perf-tell-only-oxygen,
 daexim-csit-1node-basic-only-oxygen,
@@ -22,9 +22,8 @@ daexim-csit-3node-clustering-basic-only-oxygen,
 distribution-csit-1node-userfeatures-all-oxygen,
 distribution-csit-managed-oxygen,
 dluxapps-csit-1node-yangman-all-oxygen,
-genius-csit-1node-upstream-all-oxygen,
-genius-csit-3node-upstream-all-oxygen,
-groupbasedpolicy-csit-1node-1cmb-0ctl-0cmp-openstack-pike-openstack-oxygen,
+genius-csit-1node-upstream-only-oxygen,
+genius-csit-3node-upstream-only-oxygen,
 groupbasedpolicy-csit-1node-3-node-all-oxygen,
 groupbasedpolicy-csit-1node-6node-all-oxygen,
 groupbasedpolicy-csit-1node-sxp-only-oxygen,
@@ -38,29 +37,23 @@ lispflowmapping-csit-3node-msmr-all-oxygen,
 mdsal-csit-1node-bindingv1-only-oxygen,
 nemo-csit-1node-engine-all-oxygen,
 netconf-csit-1node-callhome-only-oxygen,
-netconf-csit-1node-scale-all-oxygen,
+netconf-csit-1node-scale-only-oxygen,
 netconf-csit-1node-userfeatures-all-oxygen,
 netconf-csit-3node-cluster-stress-all-oxygen,
 netconf-csit-3node-clustering-all-oxygen,
 netconf-csit-3node-clustering-scale-all-oxygen,
-netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-pike-upstream-stateful-itm-direct-tunnels-oxygen,
-netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-pike-upstream-stateful-oxygen,
-netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-pike-upstream-stateful-snat-conntrack-oxygen,
-netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-sfc-oxygen,
+netvirt-csit-1node-0cmb-1ctl-1cmp-openstack-queens-sfc-oxygen,
+netvirt-csit-1node-0cmb-1ctl-2cmp-apex-queens-upstream-snat-conntrack-oxygen,
 netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-itm-direct-tunnels-oxygen,
 netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-oxygen,
 netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-snat-conntrack-oxygen,
-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-pike-upstream-stateful-itm-direct-tunnels-oxygen,
-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-pike-upstream-stateful-oxygen,
-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-pike-upstream-stateful-snat-conntrack-oxygen,
+netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-oxygen,
+netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-snat-conntrack-oxygen,
 netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-itm-direct-tunnels-oxygen,
 netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-oxygen,
 netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-snat-conntrack-oxygen,
-netvirt-csit-hwvtep-1node-0cmb-1ctl-2cmp-openstack-pike-upstream-stateful-oxygen,
 netvirt-csit-hwvtep-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-oxygen,
-netvirt-csit-hwvtep-3node-0cmb-1ctl-2cmp-openstack-pike-upstream-stateful-oxygen,
 netvirt-csit-hwvtep-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-oxygen,
-of-config-csit-1node-basic-all-oxygen,
 openflowplugin-csit-1node-bundle-based-reconciliation-all-oxygen,
 openflowplugin-csit-1node-cbench-only-oxygen,
 openflowplugin-csit-1node-flow-services-all-oxygen,
@@ -74,7 +67,6 @@ openflowplugin-csit-3node-clustering-only-oxygen,
 openflowplugin-csit-3node-clustering-perf-bulkomatic-only-oxygen,
 ovsdb-csit-1node-upstream-southbound-all-oxygen,
 ovsdb-csit-3node-upstream-clustering-only-oxygen,
-p4plugin-csit-1node-basic-all-oxygen,
 packetcable-csit-1node-pcmm-all-oxygen,
 sfc-csit-3node-docker-full-deploy-all-oxygen,
 sfc-csit-3node-rest-basic-all-oxygen,
@@ -88,6 +80,5 @@ tsdr-csit-1node-cassandra-datastore-only-oxygen,
 tsdr-csit-1node-elasticsearch-datastore-only-oxygen,
 tsdr-csit-1node-hbase-datastore-all-oxygen,
 tsdr-csit-1node-hsqldb-datastore-all-oxygen,
-usc-csit-1node-channel-all-oxygen,
 usc-csit-1node-tcp-all-oxygen,
 yangtools-csit-1node-system-only-oxygen,
index 2ff7cdf314a1425b126dc228540a096d8471da8b..36bbfd705d6075366f51cfdc7768e4bf5199f073 100644 (file)
@@ -93,10 +93,10 @@ while true; do
     COUNT=$(( ${COUNT} + 5 ))
     sleep 5
     echo "already waited ${COUNT} seconds..."
-    if grep --quiet 'org.opendaylight.infrautils.ready-impl.*System ready' "${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log"; then
+    if grep --quiet 'org.opendaylight.infrautils.*System ready' "${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log"; then
         echo "Controller is UP"
         break
-    elif (( "${COUNT}" > "360" )); then
+    elif (( "${COUNT}" >= "360" )); then
         echo "Timeout Controller DOWN"
         dump_log_and_exit
     fi
index 4c69b386c989004a5b4e73d64fb7bc868c077141..1381e246b30d37cf4159e23d63d8fe4d29254567 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 1792c171ff3217e512f7ef4a402a53ae1473257c..30cfc318aa8ff8b17510854ad2c97e0081b9bcf5 100644 (file)
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     email-upstream: '[int/dist]'
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           karaf-version: odl
           # Self-Managed projects repos and features:
           sm-repos: >
               mvn:org.opendaylight.sxp/features-sxp//xml/features,
               mvn:org.opendaylight.tsdr/features-tsdr//xml/features,
-              mvn:org.opendaylight.unimgr/features4-unimgr//xml/features
+              mvn:org.opendaylight.unimgr/features4-unimgr//xml/features,
           sm-features: >
               odl-sxp-routing,
               odl-tsdr-core,
               odl-tsdr-hbase,
               odl-tsdr-hsqldb,
               odl-tsdr-elasticsearch,
-              odl-unimgr-rest
+              odl-unimgr,
+              odl-unimgr-template-driver,
+              odl-unimgr-cisco-xr-driver,
+              odl-unimgr-ovs-driver,
+      - fluorine:
+          branch: 'stable/fluorine'
+          karaf-version: odl
+          # Self-Managed projects repos and features:
+          sm-repos: >
+              mvn:org.opendaylight.snmp4sdn/features-snmp4sdn//xml/features,
+              mvn:org.opendaylight.sxp/features-sxp//xml/features,
+              mvn:org.opendaylight.transportpce/features-transportpce//xml/features,
+              mvn:org.opendaylight.tsdr/features-tsdr//xml/features,
+              mvn:org.opendaylight.unimgr/features4-unimgr//xml/features,
+          sm-features: >
+              odl-snmp4sdn-snmp4sdn
+              odl-sxp-routing,
+              odl-transportpce,
+              odl-transportpce-api,
+              odl-transportpce-ordmodels,
+              odl-transportpce-stubmodels,
+              odl-tsdr-core,
+              odl-tsdr-openflow-statistics-collector,
+              odl-tsdr-netflow-statistics-collector,
+              odl-tsdr-restconf-collector,
+              odl-tsdr-syslog-collector,
+              odl-tsdr-controller-metrics-collector,
+              odl-tsdr-cassandra,
+              odl-tsdr-hbase,
+              odl-tsdr-hsqldb,
+              odl-tsdr-elasticsearch,
+              odl-unimgr,
+              odl-unimgr-template-driver,
+              odl-unimgr-cisco-xr-driver,
+              odl-unimgr-ovs-driver,
       - oxygen:
           branch: 'stable/oxygen'
           karaf-version: karaf4
     profile: '-Pmanaged'
     forbidden-files: 'opendaylight/**'
     karaf-version: karaf4
+    dist-pom: 'distribution/pom.xml'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           dependencies: >
               aaa-merge-{stream},
               ovsdb-merge-{stream},
               serviceutils-merge-{stream},
               sfc-merge-{stream}
+      - fluorine:
+          branch: 'stable/fluorine'
+          dependencies: >
+              aaa-merge-{stream},
+              bgpcep-merge-{stream},
+              coe-merge-{stream},
+              controller-merge-{stream},
+              daexim-merge-{stream},
+              genius-merge-{stream},
+              infrautils-merge-{stream},
+              lispflowmapping-merge-{stream},
+              mdsal-merge-{stream},
+              netconf-merge-{stream},
+              netvirt-merge-{stream}
+              neutron-merge-{stream},
+              openflowplugin-merge-{stream},
+              ovsdb-merge-{stream},
+              serviceutils-merge-{stream},
+              sfc-merge-{stream}
 
       - oxygen:
           branch: 'stable/oxygen'
     profile: '-Punmanaged'
     files: 'opendaylight/**'
     karaf-version: odl
+    dist-pom: 'distribution/opendaylight/pom.xml'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           karaf-version: odl
           dependencies: >
               distribution-merge-managed-{stream},
               sxp-merge-{stream},
               tsdr-merge-{stream},
-              unimgr-merge-{stream}
+              unimgr-merge-{stream},
+      - fluorine:
+          branch: 'stable/fluorine'
+          karaf-version: odl
+          dependencies: >
+              distribution-merge-managed-{stream},
+              snmp4sdn-merge-{stream},
+              sxp-merge-{stream},
+              transportpce-merge-{stream},
+              tsdr-merge-{stream},
+              unimgr-merge-{stream},
+
+- project:
+    name: distribution-release
+    jobs:
+      - gerrit-maven-stage
+
+    project: 'integration/distribution'
+    project-name: 'distribution'
+    mvn-goals: 'clean deploy -f opendaylight/pom.xml'
+    mvn-settings: 'integration-distribution-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    email-upstream: '[int/dist]'
+
+    # Used by the release job
+    staging-profile-id: 2af042ed81d5e2
+
+    stream:
+      - neon:
+          branch: 'master'
+
+      - fluorine:
+          branch: 'stable/fluorine'
 
 - project:
     name: distribution-sonar
index b86d2dd8f01f06f4b1c99bc9368f4449616cd47b..fb4237169d7b7c143a9362775207699c05df6905 100644 (file)
 
     java-version: openjdk8
     mvn-version: mvn35
+    csit-gate-list: ''
+    block_on_csit: false
+    # Unless block_on_csit is true, the failure-threshold will be ignored. For project jobs that
+    # want to fail distribution check on csit jobs, they will only need a list of jobs to run
+    # plus the change of block_on_csit to true, and this failure-threshold: 'UNSTABLE' will take
+    # effect
+    failure-threshold: 'UNSTABLE'
 
     #####################
     # Job Configuration #
           dist-pom: distribution/pom.xml
       - distribution-check-bootup
 
+      - trigger-builds:
+          - project: '{csit-gate-list}'
+            block: '{obj:block_on_csit}'
+            block-thresholds:
+              failure-threshold: '{failure-threshold}'
+            predefined-parameters: |
+              BUNDLE_URL=$BUNDLE_URL
+              KARAF_VERSION=$KARAF_VERSION
+
     publishers:
       - email-notification:
           email-recipients: '{email-recipients}'
       - distribution-check-warn-9191
       - distribution-check-warn-9192
       - integration-upload-distribution:
-          dist-pom: distribution/pom.xml
+          dist-pom: '{dist-pom}'
       - distribution-check-bootup
 
     publishers:
diff --git a/jjb/integration/integration-apex-run-tests.sh b/jjb/integration/integration-apex-run-tests.sh
new file mode 100644 (file)
index 0000000..e787528
--- /dev/null
@@ -0,0 +1,200 @@
+#!/bin/bash -l
+# Activate robotframework virtualenv
+# ${ROBOT_VENV} comes from the integration-install-robotframework.sh
+# script.
+# shellcheck source=${ROBOT_VENV}/bin/activate disable=SC1091
+source ${ROBOT_VENV}/bin/activate
+source /tmp/common-functions.sh ${BUNDLEFOLDER}
+# Ensure we fail the job if any steps fail.
+set -ex -o pipefail
+
+get_os_deploy
+
+# Swap out the ODL distribution
+DISTRO_UNDER_TEST=/tmp/odl.tar.gz
+wget --progress=dot:mega ${ACTUAL_BUNDLE_URL}
+UNZIPPED_DIR=`dirname "$(unzip -qql ${BUNDLE} | head -n1 | tr -s ' ' | cut -d' ' -f5-)"`
+unzip -q ${BUNDLE}
+tar czf ${DISTRO_UNDER_TEST} ${UNZIPPED_DIR}
+git clone https://gerrit.opnfv.org/gerrit/p/sdnvpn.git /tmp/sdnvpn
+pushd /tmp/sdnvpn; git fetch https://gerrit.opnfv.org/gerrit/sdnvpn refs/changes/93/63293/1 && git checkout FETCH_HEAD; popd
+/tmp/sdnvpn/odl-pipeline/lib/odl_reinstaller.sh --pod-config ${WORKSPACE}/node.yaml --odl-artifact ${DISTRO_UNDER_TEST} --ssh-key-file ~/.ssh/robot_id_rsa
+
+cat > /tmp/extra_node_configs.sh << EOF
+sudo jq -c '. + {"neutron::plugins::ovs::opendaylight::provider_mappings": ["datacentre:br-datacentre"]}' /etc/puppet/hieradata/config_step.json > tmp.$$.json && mv -f tmp.$$.json /etc/puppet/hieradata/config_step.json
+sudo puppet apply -e 'include tripleo::profile::base::neutron::plugins::ovs::opendaylight' -v
+sudo iptables -I INPUT -p udp -m multiport --dports 4789,9876,12345 -j ACCEPT
+sudo iptables -I INPUT -p tcp --dport 12345 -j ACCEPT
+sudo iptables --line-numbers -nvL
+EOF
+echo "cat extra_node_configs.sh"
+cat /tmp/extra_node_configs.sh
+
+scp /tmp/extra_node_configs.sh  $OPENSTACK_CONTROL_NODE_1_IP:/tmp
+ssh $OPENSTACK_CONTROL_NODE_1_IP "sudo bash /tmp/extra_node_configs.sh"
+scp /tmp/extra_node_configs.sh  $OPENSTACK_COMPUTE_NODE_1_IP:/tmp
+ssh $OPENSTACK_COMPUTE_NODE_1_IP "sudo bash /tmp/extra_node_configs.sh"
+scp /tmp/extra_node_configs.sh  $OPENSTACK_COMPUTE_NODE_2_IP:/tmp
+ssh $OPENSTACK_COMPUTE_NODE_2_IP "sudo bash /tmp/extra_node_configs.sh"
+
+USER=heat-admin
+openstack object save OPNFV-APEX-SNAPSHOTS overcloudrc
+source overcloudrc
+cat overcloudrc
+openstack hypervisor list
+
+# Extra Configs needed for CSIT:
+wget -O ${WORKSPACE}/cirros-0.3.5-x86_64-disk.img http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img
+export ANSIBLE_HOST_KEY_CHECKING=False
+ansible-playbook -i ${OPENSTACK_CONTROL_NODE_1_IP}, -u heat-admin --key-file /tmp/id_rsa /tmp/opnfv_releng/jjb/cperf/cirros-upload.yaml.ansible -vvv
+
+PHYSNET_WORK=datacentre
+BR_WORK=br-${PHYSNET_WORK}
+ssh ${OPENSTACK_CONTROL_NODE_1_IP} "sudo ovs-vsctl --if-exists del-port br-int ${BR_WORK}"
+ssh ${OPENSTACK_CONTROL_NODE_1_IP} "sudo ovs-vsctl --may-exist add-br ${BR_WORK} -- set bridge ${BR_WORK} other-config:disable-in-band=true other_config:hwaddr=f6:00:00:ff:01:01"
+
+ssh ${OPENSTACK_COMPUTE_NODE_1_IP} "sudo ovs-vsctl --if-exists del-port br-int ${BR_WORK}"
+ssh ${OPENSTACK_COMPUTE_NODE_1_IP} "sudo ovs-vsctl --may-exist add-br ${BR_WORK} -- set bridge ${BR_WORK} other-config:disable-in-band=true other_config:hwaddr=f6:00:00:ff:01:02"
+
+ssh ${OPENSTACK_COMPUTE_NODE_2_IP} "sudo ovs-vsctl --if-exists del-port br-int ${BR_WORK}"
+ssh ${OPENSTACK_COMPUTE_NODE_2_IP} "sudo ovs-vsctl --may-exist add-br ${BR_WORK} -- set bridge ${BR_WORK} other-config:disable-in-band=true other_config:hwaddr=f6:00:00:ff:01:03"
+
+ssh ${OPENSTACK_CONTROL_NODE_1_IP} "
+        sudo ovs-vsctl add-port ${BR_WORK} compute_1_vxlan -- set interface compute_1_vxlan type=vxlan options:local_ip=${OPENSTACK_CONTROL_NODE_1_IP} options:remote_ip=${OPENSTACK_COMPUTE_NODE_1_IP} options:dst_port=9876 options:key=flow
+"
+ssh ${OPENSTACK_CONTROL_NODE_1_IP} "
+    sudo ovs-vsctl add-port ${BR_WORK} compute_2_vxlan -- set interface compute_2_vxlan type=vxlan options:local_ip=${OPENSTACK_CONTROL_NODE_1_IP} options:remote_ip=${OPENSTACK_COMPUTE_NODE_2_IP} options:dst_port=9876 options:key=flow
+"
+ssh ${OPENSTACK_COMPUTE_NODE_1_IP} "
+        sudo ovs-vsctl add-port ${BR_WORK} control_1_vxlan -- set interface control_1_vxlan type=vxlan options:local_ip=${OPENSTACK_COMPUTE_NODE_1_IP} options:remote_ip=${OPENSTACK_CONTROL_NODE_1_IP} options:dst_port=9876 options:key=flow
+"
+ssh ${OPENSTACK_COMPUTE_NODE_2_IP} "
+        sudo ovs-vsctl add-port ${BR_WORK} control_1_vxlan -- set interface control_1_vxlan type=vxlan options:local_ip=${OPENSTACK_COMPUTE_NODE_2_IP} options:remote_ip=${OPENSTACK_CONTROL_NODE_1_IP} options:dst_port=9876 options:key=flow
+"
+
+# Control Node - PUBLIC_BRIDGE will act as the external router
+# Parameter values below are used in integration/test - changing them requires updates in intergration/test as well
+EXTNET_GATEWAY_IP="10.10.10.250"
+EXTNET_INTERNET_IP="10.9.9.9"
+EXTNET_PNF_IP="10.10.10.253"
+ssh ${OPENSTACK_CONTROL_NODE_1_IP} "sudo ifconfig ${PUBLIC_BRIDGE} up ${EXTNET_GATEWAY_IP}/24"
+
+# Control Node - external net PNF simulation
+ssh ${OPENSTACK_CONTROL_NODE_1_IP} "
+    sudo ip netns add pnf_ns;
+    sudo ip link add pnf_veth0 type veth peer name pnf_veth1;
+    sudo ip link set pnf_veth1 netns pnf_ns;
+    sudo ip link set pnf_veth0 up;
+    sudo ip netns exec pnf_ns ifconfig pnf_veth1 up ${EXTNET_PNF_IP}/24;
+    sudo ovs-vsctl add-port ${PUBLIC_BRIDGE} pnf_veth0;
+"
+# Control Node - external net internet address simulation
+ssh ${OPENSTACK_CONTROL_NODE_1_IP} "
+    sudo ip tuntap add dev internet_tap mode tap;
+    sudo ifconfig internet_tap up ${EXTNET_INTERNET_IP}/24;
+"
+
+ssh ${OPENSTACK_CONTROL_NODE_1_IP} "sudo ovs-vsctl show"
+ssh ${OPENSTACK_COMPUTE_NODE_1_IP} "sudo ovs-vsctl show"
+ssh ${OPENSTACK_COMPUTE_NODE_2_IP} "sudo ovs-vsctl show"
+
+# Use the testplan if specific SUITES are not defined.
+if [ -z "${SUITES}" ]; then
+    SUITES=`egrep -v '(^[[:space:]]*#|^[[:space:]]*$)' testplan.txt | tr '\012' ' '`
+else
+    newsuites=""
+    workpath="${WORKSPACE}/test/csit/suites"
+    for suite in ${SUITES}; do
+        fullsuite="${workpath}/${suite}"
+        if [ -z "${newsuites}" ]; then
+            newsuites+=${fullsuite}
+        else
+            newsuites+=" "${fullsuite}
+        fi
+    done
+    SUITES=${newsuites}
+fi
+
+echo "Starting Robot test suites ${SUITES} ..."
+# please add pybot -v arguments on a single line and alphabetized
+suite_num=0
+for suite in ${SUITES}; do
+    # prepend an incremental counter to the suite name so that the full robot log combining all the suites as is done
+    # in the rebot step below will list all the suites in chronological order as rebot seems to alphabetize them
+    let "suite_num = suite_num + 1"
+    suite_index="$(printf %02d ${suite_num})"
+    suite_name="$(basename ${suite} | cut -d. -f1)"
+    log_name="${suite_index}_${suite_name}"
+    pybot -N ${log_name} \
+    -c critical -e exclude -e skip_if_${DISTROSTREAM} -e NON_GATE \
+    --log log_${log_name}.html --report report_${log_name}.html --output output_${log_name}.xml \
+    --removekeywords wuks \
+    --removekeywords name:SetupUtils.Setup_Utils_For_Setup_And_Teardown \
+    --removekeywords name:SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing \
+    --removekeywords name:OpenStackOperations.Add_OVS_Logging_On_All_OpenStack_Nodes \
+    -v BUNDLEFOLDER:${BUNDLEFOLDER} \
+    -v BUNDLE_URL:${ACTUAL_BUNDLE_URL} \
+    -v CMP_INSTANCES_SHARED_PATH:/var/instances \
+    -v CONTROLLERFEATURES:"${CONTROLLERFEATURES}" \
+    -v CONTROLLER_USER:${USER} \
+    -v DEFAULT_LINUX_PROMPT:\$ \
+    -v DEFAULT_LINUX_PROMPT_STRICT:]\$ \
+    -v DEFAULT_USER:${USER} \
+    -v ENABLE_ITM_DIRECT_TUNNELS:${ENABLE_ITM_DIRECT_TUNNELS} \
+    -v HA_PROXY_IP:$ODL_SYSTEM_IP \
+    -v JDKVERSION:${JDKVERSION} \
+    -v JENKINS_WORKSPACE:${WORKSPACE} \
+    -v KARAF_LOG:/opt/opendaylight/data/log/karaf.log \
+    -v NEXUSURL_PREFIX:${NEXUSURL_PREFIX} \
+    -v NUM_ODL_SYSTEM:${NUM_ODL_SYSTEM} \
+    -v NUM_OS_SYSTEM:${NUM_OPENSTACK_SYSTEM} \
+    -v NUM_TOOLS_SYSTEM:${NUM_TOOLS_SYSTEM} \
+    -v ODL_RESTCONF_PASSWORD:$SDN_CONTROLLER_PASSWORD \
+    -v ODL_SNAT_MODE:${ODL_SNAT_MODE} \
+    -v ODL_STREAM:${DISTROSTREAM} \
+    -v ODL_SYSTEM_IP:${ODL_SYSTEM_IP} \
+    -v ODL_SYSTEM_1_IP:${ODL_SYSTEM_1_IP} \
+    -v OS_CONTROL_NODE_IP:${OPENSTACK_CONTROL_NODE_1_IP} \
+    -v OS_CONTROL_NODE_1_IP:${OPENSTACK_CONTROL_NODE_1_IP} \
+    -v OPENSTACK_BRANCH:${OPENSTACK_BRANCH} \
+    -v OS_COMPUTE_1_IP:${OPENSTACK_COMPUTE_NODE_1_IP} \
+    -v OS_COMPUTE_2_IP:${OPENSTACK_COMPUTE_NODE_2_IP} \
+    -v OPENSTACK_TOPO:${OPENSTACK_TOPO} \
+    -v OS_USER:${USER} \
+    -v PUBLIC_PHYSICAL_NETWORK:${PHYSNET_WORK} \
+    -v RESTCONFPORT:8081 \
+    -v SECURITY_GROUP_MODE:${SECURITY_GROUP_MODE} \
+    -v SSH_KEY:robot_id_rsa \
+    -v USER_HOME:${HOME} \
+    -v WORKSPACE:/tmp \
+    ${TESTOPTIONS} ${suite} || true
+done
+#rebot exit codes seem to be different
+rebot --output ${WORKSPACE}/output.xml --log log_full.html --report report.html -N openstack output_*.xml || true
+
+echo "Collecting logs"
+mkdir -p ${WORKSPACE}/archives
+
+ssh ${ODL_SYSTEM_IP} "mkdir /tmp/controller_sos; sudo sosreport --all-logs --batch --build --tmp-dir /tmp/controller_sos/ --name controller_report -o networking,openstack_glance,openstack_neutron,openstack_nova,opendaylight,openvswitch"
+ssh ${ODL_SYSTEM_IP} "sudo chmod -R 0777 /tmp/controller_sos/; tar cvzf /tmp/controller_sos.tar.gz /tmp/controller_sos"
+scp ${ODL_SYSTEM_IP}:/tmp/controller_sos.tar.gz ${WORKSPACE}/archives/controller_sos.tar.gz
+gunzip ${WORKSPACE}/archives/controller_sos.tar.gz
+tar -xvf ${WORKSPACE}/archives/controller_sos.tar -C ${WORKSPACE}/archives/
+
+ssh ${OPENSTACK_COMPUTE_NODE_1_IP} "mkdir /tmp/compute_1_sos; sudo sosreport --all-logs --batch --build --tmp-dir /tmp/compute_1_sos/ --name compute_1_report -o networking,openstack_glance,openstack_neutron,openstack_nova,opendaylight,openvswitch"
+ssh ${OPENSTACK_COMPUTE_NODE_1_IP} "sudo chmod -R 0777 /tmp/compute_1_sos/; tar cvzf /tmp/compute_1_sos.tar.gz /tmp/compute_1_sos"
+scp ${OPENSTACK_COMPUTE_NODE_1_IP}:/tmp/compute_1_sos.tar.gz ${WORKSPACE}/archives/compute_1_sos.tar.gz
+gunzip ${WORKSPACE}/archives/compute_1_sos.tar.gz
+tar -xvf ${WORKSPACE}/archives/compute_1_sos.tar -C ${WORKSPACE}/archives/
+
+ssh ${OPENSTACK_COMPUTE_NODE_2_IP} "mkdir /tmp/compute_2_sos; sudo sosreport --all-logs --batch --build --tmp-dir /tmp/compute_2_sos/ --name compute_2_report -o networking,openstack_glance,openstack_neutron,openstack_nova,opendaylight,openvswitch"
+ssh ${OPENSTACK_COMPUTE_NODE_2_IP} "sudo chmod -R 0777 /tmp/compute_2_sos/; tar cvzf /tmp/compute_2_sos.tar.gz /tmp/compute_2_sos"
+scp ${OPENSTACK_COMPUTE_NODE_2_IP}:/tmp/compute_2_sos.tar.gz ${WORKSPACE}/archives/compute_2_sos.tar.gz
+gunzip ${WORKSPACE}/archives/compute_2_sos.tar.gz
+tar -xvf ${WORKSPACE}/archives/compute_2_sos.tar -C ${WORKSPACE}/archives/
+
+mv ${WORKSPACE}/archives/tmp/* ${WORKSPACE}/archives/
+rm -rf ${WORKSPACE}/archives/tmp
+
+true  # perhaps Jenkins is testing last exit code
+# vim: ts=4 sw=4 sts=4 et ft=sh :
index b02b568027b806c7e372df4c23c3621ca2b3a981..eb2df1c06e9e466483eb180ea91ea6655b15f91f 100644 (file)
@@ -11,7 +11,12 @@ GERRIT_PATH=${GERRIT_PATH:-git.opendaylight.org/gerrit}
 DISTROBRANCH=${DISTROBRANCH:-$GERRIT_BRANCH}
 
 # Obtain current pom.xml of integration/distribution, correct branch.
-wget "http://${GERRIT_PATH}/gitweb?p=integration/distribution.git;a=blob_plain;f=pom.xml;hb=refs/heads/$DISTROBRANCH" -O "pom.xml"
+if [[ "$KARAF_ARTIFACT" == "opendaylight" ]]; then
+    wget "http://${GERRIT_PATH}/gitweb?p=integration/distribution.git;a=blob_plain;f=opendaylight/pom.xml;hb=refs/heads/$DISTROBRANCH" -O "pom.xml"
+else
+    wget "http://${GERRIT_PATH}/gitweb?p=integration/distribution.git;a=blob_plain;f=pom.xml;hb=refs/heads/$DISTROBRANCH" -O "pom.xml"
+fi
+
 # Extract the BUNDLE_VERSION from the pom.xml
 BUNDLE_VERSION=$(xpath pom.xml '/project/version/text()' 2> /dev/null)
 echo "Bundle version is ${BUNDLE_VERSION}"
index 619f3c311853fefca6fd877d764e1eacb9f1ec39..43df86444261fc64a570de67c8be94231534ebb7 100644 (file)
@@ -10,128 +10,21 @@ echo "#################################################"
 echo "##         Configure Cluster and Start         ##"
 echo "#################################################"
 
-if [ ${CONTROLLERSCOPE} == 'all' ]; then
-    ACTUALFEATURES="odl-integration-compatible-with-all,${CONTROLLERFEATURES}"
-    export CONTROLLERMEM="3072m"
-else
-    ACTUALFEATURES="odl-infrautils-ready,${CONTROLLERFEATURES}"
-fi
-# Some versions of jenkins job builder result in feature list containing spaces
-# and ending in newline. Remove all that.
-ACTUALFEATURES=`echo "${ACTUALFEATURES}" | tr -d '\n \r'`
+get_features
 
-# Utility function for joining strings.
-function join {
-    delim=' '
-    final=$1; shift
-
-    for str in "$@" ; do
-        final=${final}${delim}${str}
-    done
-
-    echo ${final}
-}
-
-# Create the string for nodes
-for i in `seq 1 ${NUM_ODL_SYSTEM}` ; do
-    CONTROLLERIP=ODL_SYSTEM_${i}_IP
-    nodes[$i]=${!CONTROLLERIP}
-done
-
-nodes_list=$(join "${nodes[@]}")
-
-echo ${nodes_list}
+# shellcheck disable=SC2034
+nodes_list=$(get_nodes_list)
 
 run_plan "script"
 
-# Create the configuration script to be run on controllers.
-cat > ${WORKSPACE}/configuration-script.sh <<EOF
-set -x
-source /tmp/common-functions.sh ${BUNDLEFOLDER}
-
-echo "Changing to /tmp"
-cd /tmp
-
-echo "Downloading the distribution from ${ACTUAL_BUNDLE_URL}"
-wget --progress=dot:mega  '${ACTUAL_BUNDLE_URL}'
-
-echo "Extracting the new controller..."
-unzip -q ${BUNDLE}
-
-echo "Adding external repositories..."
-sed -ie "s%org.ops4j.pax.url.mvn.repositories=%org.ops4j.pax.url.mvn.repositories=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot@id=opendaylight-snapshot@snapshots, https://nexus.opendaylight.org/content/repositories/public@id=opendaylight-mirror, http://repo1.maven.org/maven2@id=central, http://repository.springsource.com/maven/bundles/release@id=spring.ebr.release, http://repository.springsource.com/maven/bundles/external@id=spring.ebr.external, http://zodiac.springsource.com/maven/bundles/release@id=gemini, http://repository.apache.org/content/groups/snapshots-group@id=apache@snapshots@noreleases, https://oss.sonatype.org/content/repositories/snapshots@id=sonatype.snapshots.deploy@snapshots@noreleases, https://oss.sonatype.org/content/repositories/ops4j-snapshots@id=ops4j.sonatype.snapshots.deploy@snapshots@noreleases%g" ${MAVENCONF}
-cat ${MAVENCONF}
-
-echo "Configuring the startup features..."
-sed -ie "s/\(featuresBoot=\|featuresBoot =\)/featuresBoot = ${ACTUALFEATURES},/g" ${FEATURESCONF}
-
-FEATURE_TEST_STRING="features-integration-test"
-if [[ "$KARAF_VERSION" == "karaf4" ]]; then
-    FEATURE_TEST_STRING="features-test"
-fi
-
-sed -ie "s%\(featuresRepositories=\|featuresRepositories =\)%featuresRepositories = mvn:org.opendaylight.integration/\${FEATURE_TEST_STRING}/${BUNDLE_VERSION}/xml/features,mvn:org.apache.karaf.decanter/apache-karaf-decanter/1.0.0/xml/features,%g" ${FEATURESCONF}
-if [[ ! -z "${REPO_URL}" ]]; then
-   sed -ie "s%featuresRepositories =%featuresRepositories = ${REPO_URL},%g" ${FEATURESCONF}
-fi
-cat ${FEATURESCONF}
-
-configure_karaf_log "${KARAF_VERSION}" "${CONTROLLERDEBUGMAP}"
-
-set_java_vars "${JAVA_HOME}" "${CONTROLLERMEM}" "${MEMCONF}"
-
-# Copy shard file if exists
-if [ -f /tmp/custom_shard_config.txt ]; then
-    echo "Custom shard config exists!!!"
-    echo "Copying the shard config..."
-    cp /tmp/custom_shard_config.txt /tmp/${BUNDLEFOLDER}/bin/
-fi
-
-echo "Configuring cluster"
-/tmp/${BUNDLEFOLDER}/bin/configure_cluster.sh \$1 ${nodes_list}
-
-echo "Dump akka.conf"
-cat ${AKKACONF}
-
-echo "Dump modules.conf"
-cat ${MODULESCONF}
-
-echo "Dump module-shards.conf"
-cat ${MODULESHARDSCONF}
-
-EOF
-
-# Create the startup script to be run on controllers.
-cat > ${WORKSPACE}/startup-script.sh <<EOF
-
-echo "Redirecting karaf console output to karaf_console.log"
-export KARAF_REDIRECT="/tmp/${BUNDLEFOLDER}/data/log/karaf_console.log"
-mkdir -p /tmp/${BUNDLEFOLDER}/data/log
-
-echo "Starting controller..."
-/tmp/${BUNDLEFOLDER}/bin/start
+create_configuration_script
 
-EOF
+create_startup_script
 
-# Copy over the configuration script and configuration files to each controller
-# Execute the configuration script on each controller.
-for i in `seq 1 ${NUM_ODL_SYSTEM}`
-do
-    CONTROLLERIP=ODL_SYSTEM_${i}_IP
-    echo "Configuring member-${i} with IP address ${!CONTROLLERIP}"
-    scp ${WORKSPACE}/configuration-script.sh ${!CONTROLLERIP}:/tmp/
-    ssh ${!CONTROLLERIP} "bash /tmp/configuration-script.sh ${i}"
-done
+copy_and_run_configuration_script
 
 run_plan "config"
 
-# Copy over the startup script to each controller and execute it.
-for i in `seq 1 ${NUM_ODL_SYSTEM}`
-do
-    CONTROLLERIP=ODL_SYSTEM_${i}_IP
-    echo "Starting member-${i} with IP address ${!CONTROLLERIP}"
-    scp ${WORKSPACE}/startup-script.sh ${!CONTROLLERIP}:/tmp/
-    ssh ${!CONTROLLERIP} "bash /tmp/startup-script.sh"
-done
+copy_and_run_startup_script
 
 # vim: ts=4 sw=4 sts=4 et ft=sh :
index 9fc28a881875a65597efdcb7d9c778bd5521bdac..20a536a4553ec25d2813478b3963123fe5e31bf6 100755 (executable)
 source ${ROBOT_VENV}/bin/activate
 source /tmp/common-functions.sh ${BUNDLEFOLDER}
 
-if [ "${ENABLE_HAPROXY_FOR_NEUTRON}" == "yes" ]; then
-    echo "Configure cluster"
-    AKKACONF=/tmp/${BUNDLEFOLDER}/configuration/initial/akka.conf
-    MODULESCONF=/tmp/${BUNDLEFOLDER}/configuration/initial/modules.conf
-    MODULESHARDSCONF=/tmp/${BUNDLEFOLDER}/configuration/initial/module-shards.conf
-fi
-
-if [ ${CONTROLLERSCOPE} == 'all' ]; then
-    ACTUALFEATURES="odl-integration-compatible-with-all,${CONTROLLERFEATURES}"
-    export CONTROLLERMEM="3072m"
-else
-    ACTUALFEATURES="odl-infrautils-ready,${CONTROLLERFEATURES}"
-fi
+echo "#################################################"
+echo "##         Configure Cluster and Start         ##"
+echo "#################################################"
 
-# Some versions of jenkins job builder result in feature list containing spaces
-# and ending in newline. Remove all that.
-ACTUALFEATURES=`echo "${ACTUALFEATURES}" | tr -d '\n \r'`
-echo "ACTUALFEATURES: ${ACTUALFEATURES}"
+get_features
 
-# In the case that we want to install features via karaf shell, a space separated list of
-# ACTUALFEATURES IS NEEDED
-SPACE_SEPARATED_FEATURES=$(echo "${ACTUALFEATURES}" | tr ',' ' ')
-echo "SPACE_SEPARATED_FEATURES: ${SPACE_SEPARATED_FEATURES}"
+# shellcheck disable=SC2034
+nodes_list=$(get_nodes_list)
 
 run_plan "script"
 
-cat > ${WORKSPACE}/configuration-script.sh <<EOF
-set -x
-source /tmp/common-functions.sh ${BUNDLEFOLDER}
-
-echo "Changing to /tmp"
-cd /tmp
-
-echo "Downloading the distribution..."
-wget --progress=dot:mega '${ACTUAL_BUNDLE_URL}'
-
-echo "Extracting the new controller..."
-unzip -q ${BUNDLE}
-
-echo "Adding external repositories..."
-sed -ie "s%org.ops4j.pax.url.mvn.repositories=%org.ops4j.pax.url.mvn.repositories=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot@id=opendaylight-snapshot@snapshots, https://nexus.opendaylight.org/content/repositories/public@id=opendaylight-mirror, http://repo1.maven.org/maven2@id=central, http://repository.springsource.com/maven/bundles/release@id=spring.ebr.release, http://repository.springsource.com/maven/bundles/external@id=spring.ebr.external, http://zodiac.springsource.com/maven/bundles/release@id=gemini, http://repository.apache.org/content/groups/snapshots-group@id=apache@snapshots@noreleases, https://oss.sonatype.org/content/repositories/snapshots@id=sonatype.snapshots.deploy@snapshots@noreleases, https://oss.sonatype.org/content/repositories/ops4j-snapshots@id=ops4j.sonatype.snapshots.deploy@snapshots@noreleases%g" ${MAVENCONF}
-cat ${MAVENCONF}
-
-if [[ "$USEFEATURESBOOT" == "True" ]]; then
-    echo "Configuring the startup features..."
-    sed -ie "s/\(featuresBoot=\|featuresBoot =\)/featuresBoot = ${ACTUALFEATURES},/g" ${FEATURESCONF}
-fi
-
-FEATURE_TEST_STRING="features-integration-test"
-if [[ "$KARAF_VERSION" == "karaf4" ]]; then
-    FEATURE_TEST_STRING="features-test"
-fi
-
-sed -ie "s%\(featuresRepositories=\|featuresRepositories =\)%featuresRepositories = mvn:org.opendaylight.integration/\${FEATURE_TEST_STRING}/${BUNDLE_VERSION}/xml/features,mvn:org.apache.karaf.decanter/apache-karaf-decanter/1.0.0/xml/features,%g" ${FEATURESCONF}
-if [[ ! -z "${REPO_URL}" ]]; then
-   sed -ie "s%featuresRepositories =%featuresRepositories = ${REPO_URL},%g" ${FEATURESCONF}
-fi
-cat ${FEATURESCONF}
-
-configure_karaf_log "${KARAF_VERSION}" "${CONTROLLERDEBUGMAP}"
+create_configuration_script
 
-set_java_vars "${JAVA_HOME}" "${CONTROLLERMEM}" "${MEMCONF}"
+create_startup_script
 
-echo "Listing all open ports on controller system..."
-netstat -pnatu
+create_post_startup_script
 
-if [ "${ENABLE_HAPROXY_FOR_NEUTRON}" == "yes" ]; then
-
-    # Copy shard file if exists
-    if [ -f /tmp/custom_shard_config.txt ]; then
-        echo "Custom shard config exists!!!"
-        echo "Copying the shard config..."
-        cp /tmp/custom_shard_config.txt /tmp/${BUNDLEFOLDER}/bin/
-    fi
-
-    echo "Configuring cluster"
-    /tmp/${BUNDLEFOLDER}/bin/configure_cluster.sh \$1 \$2
-
-    echo "Dump akka.conf"
-    cat ${AKKACONF}
-
-    echo "Dump modules.conf"
-    cat ${MODULESCONF}
-
-     echo "Dump module-shards.conf"
-     cat ${MODULESHARDSCONF}
-fi
-
-EOF
-# cat > ${WORKSPACE}/configuration-script.sh <<EOF
-
-# Create the startup script to be run on controller.
-cat > ${WORKSPACE}/startup-script.sh <<EOF
-
-echo "Redirecting karaf console output to karaf_console.log"
-export KARAF_REDIRECT="/tmp/${BUNDLEFOLDER}/data/log/karaf_console.log"
-mkdir -p /tmp/${BUNDLEFOLDER}/data/log
-
-echo "Starting controller..."
-/tmp/${BUNDLEFOLDER}/bin/start
-
-EOF
-# cat > ${WORKSPACE}/startup-script.sh <<EOF
-
-cat > ${WORKSPACE}/post-startup-script.sh <<EOF
-
-if [[ "$USEFEATURESBOOT" != "True" ]]; then
-
-    # wait up to 60s for karaf port 8101 to be opened, polling every 5s
-    loop_count=0;
-    until [[ \$loop_count -ge 12 ]]; do
-        netstat -na | grep 8101 && break;
-        loop_count=\$[\$loop_count+1];
-        sleep 5;
-    done
-
-    echo "going to feature:install --no-auto-refresh ${SPACE_SEPARATED_FEATURES} one at a time"
-    for feature in ${SPACE_SEPARATED_FEATURES}; do
-        sshpass -p karaf ssh -o StrictHostKeyChecking=no \
-                             -o UserKnownHostsFile=/dev/null \
-                             -o LogLevel=error \
-                             -p 8101 karaf@localhost \
-                             feature:install --no-auto-refresh \$feature;
-    done
-
-    echo "ssh to karaf console to list -i installed features"
-    sshpass -p karaf ssh -o StrictHostKeyChecking=no \
-                         -o UserKnownHostsFile=/dev/null \
-                         -o LogLevel=error \
-                         -p 8101 karaf@localhost \
-                         feature:list -i
-fi
-
-echo "Waiting up to 3 minutes for controller to come up, checking every 5 seconds..."
-for i in {1..36};
-    do sleep 5;
-    grep 'org.opendaylight.infrautils.ready-impl.*System ready' /tmp/${BUNDLEFOLDER}/data/log/karaf.log
-    if [ \$? -eq 0 ]
-    then
-      echo "Controller is UP"
-      break
-    fi
-done;
-
-# if we ended up not finding ready status in the above loop, we can output some debugs
-grep 'org.opendaylight.infrautils.ready-impl.*System ready' /tmp/${BUNDLEFOLDER}/data/log/karaf.log
-if [ $? -ne 0 ]
-then
-    echo "Timeout Controller DOWN"
-    echo "Dumping first 500K bytes of karaf log..."
-    head --bytes=500K "/tmp/${BUNDLEFOLDER}/data/log/karaf.log"
-    echo "Dumping last 500K bytes of karaf log..."
-    tail --bytes=500K "/tmp/${BUNDLEFOLDER}/data/log/karaf.log"
-    echo "Listing all open ports on controller system"
-    netstat -pnatu
-    exit 1
-fi
-
-echo "Listing all open ports on controller system..."
-netstat -pnatu
-
-function exit_on_log_file_message {
-    echo "looking for \"\$1\" in log file"
-    if grep --quiet "\$1" "/tmp/${BUNDLEFOLDER}/data/log/karaf.log"; then
-        echo ABORTING: found "\$1"
-        echo "Dumping first 500K bytes of karaf log..."
-        head --bytes=500K "/tmp/${BUNDLEFOLDER}/data/log/karaf.log"
-        echo "Dumping last 500K bytes of karaf log..."
-        tail --bytes=500K "/tmp/${BUNDLEFOLDER}/data/log/karaf.log"
-        exit 1
-    fi
-}
-
-exit_on_log_file_message 'BindException: Address already in use'
-exit_on_log_file_message 'server is unhealthy'
-
-EOF
-# cat > ${WORKSPACE}/post-startup-script.sh <<EOF
-
-[ "$NUM_OPENSTACK_SITES" ] || NUM_OPENSTACK_SITES=1
-NUM_ODLS_PER_SITE=$((NUM_ODL_SYSTEM / NUM_OPENSTACK_SITES))
-for i in `seq 1 ${NUM_OPENSTACK_SITES}`
-do
-    # Get full list of ODL nodes for this site
-    odl_node_list=
-    for j in `seq 1 ${NUM_ODLS_PER_SITE}`
-    do
-        odl_ip=ODL_SYSTEM_$(((i - 1) * NUM_ODLS_PER_SITE + j))_IP
-        odl_node_list="${odl_node_list} ${!odl_ip}"
-    done
-
-    for j in `seq 1 ${NUM_ODLS_PER_SITE}`
-    do
-        odl_ip=ODL_SYSTEM_$(((i - 1) * NUM_ODLS_PER_SITE + j))_IP
-        # Copy over the config script to controller and execute it (parameters are used only for cluster)
-        echo "Execute the configuration script on controller ${!odl_ip} for index $j with node list ${odl_node_list}"
-        scp ${WORKSPACE}/configuration-script.sh ${!odl_ip}:/tmp
-        ssh ${!odl_ip} "bash /tmp/configuration-script.sh ${j} '${odl_node_list}'"
-    done
-done
+copy_and_run_configuration_script
 
 run_plan "config"
 
-# Copy over the startup script to controller and execute it.
-for i in `seq 1 ${NUM_ODL_SYSTEM}`
-do
-    CONTROLLERIP=ODL_SYSTEM_${i}_IP
-    echo "Execute the startup script on controller ${!CONTROLLERIP}"
-    scp ${WORKSPACE}/startup-script.sh ${!CONTROLLERIP}:/tmp
-    ssh ${!CONTROLLERIP} "bash /tmp/startup-script.sh"
-done
+copy_and_run_startup_script
 
-seed_index=1
-for i in `seq 1 ${NUM_ODL_SYSTEM}`
-do
-    CONTROLLERIP=ODL_SYSTEM_${i}_IP
-    echo "Execute the post startup script on controller ${!CONTROLLERIP}"
-    scp ${WORKSPACE}/post-startup-script.sh ${!CONTROLLERIP}:/tmp
-    ssh ${!CONTROLLERIP} "bash /tmp/post-startup-script.sh $(( seed_index++ ))"
-    if [ $(( $i % (${NUM_ODL_SYSTEM} / ${NUM_OPENSTACK_SITES}) )) == 0 ]; then
-        seed_index=1
-    fi
-done
+copy_and_run_post_startup_script
 
-echo "Generating controller variables..."
-for i in `seq 1 ${NUM_ODL_SYSTEM}`
-do
-    CONTROLLERIP=ODL_SYSTEM_${i}_IP
-    odl_variables=${odl_variables}" -v ${CONTROLLERIP}:${!CONTROLLERIP}"
-    echo "Lets's take the karaf thread dump"
-    ssh ${!CONTROLLERIP} "sudo ps aux" > ${WORKSPACE}/ps_before.log
-    pid=$(grep org.apache.karaf.main.Main ${WORKSPACE}/ps_before.log | grep -v grep | tr -s ' ' | cut -f2 -d' ')
-    echo "karaf main: org.apache.karaf.main.Main, pid:${pid}"
-    ssh ${!CONTROLLERIP} "${JAVA_HOME}/bin/jstack -l ${pid}" > ${WORKSPACE}/karaf_${i}_${pid}_threads_before.log || true
-done
+create_controller_variables
 
 if [ ${NUM_OPENSTACK_SYSTEM} -gt 0 ]; then
    echo "Exiting without running tests to deploy openstack for testing"
index ab62ce905be78f5aa0d83d13a47c2e3696146095..c76232214c69016563e15e66d5d256c06ec03a40 100644 (file)
@@ -14,9 +14,8 @@ PYTHON="${ROBOT_VENV}/bin/python"
 SSH="ssh -t -t"
 ADMIN_PASSWORD="admin"
 OPENSTACK_MASTER_CLIENTS_VERSION="queens"
-
-pip install odltools
-odltools -V
+#Size of the partition to /opt/stack in control and compute nodes
+TMPFS_SIZE=2G
 
 # TODO: remove this work to run changes.py if/when it's moved higher up to be visible at the Robot level
 printf "\nshowing recent changes that made it into the distribution used by this job:\n"
@@ -45,7 +44,7 @@ function trap_handler() {
     local prog="$0"
     local lastline="$1"
     local lasterr="$2"
-    echo "trap_hanlder: ${prog}: line ${lastline}: exit status of last command: ${lasterr}"
+    echo "trap_handler: ${prog}: line ${lastline}: exit status of last command: ${lasterr}"
     echo "trap_handler: command: ${BASH_COMMAND}"
     exit 1
 } # trap_handler()
@@ -111,10 +110,6 @@ function install_openstack_clients_in_robot_vm() {
 function install_rdo_release() {
     local ip=$1
     case ${OPENSTACK_BRANCH} in
-       *pike*)
-          ${SSH} ${ip} "sudo yum install -y https://repos.fedorapeople.org/repos/openstack/openstack-pike/rdo-release-pike-1.noarch.rpm"
-          ;;
-
        *queens*)
           ${SSH} ${ip} "sudo yum install -y https://repos.fedorapeople.org/repos/openstack/openstack-queens/rdo-release-queens-1.noarch.rpm"
           ;;
@@ -265,7 +260,7 @@ EOF
             ENABLE_PLUGIN_ARGS="${DEVSTACK_LBAAS_PLUGIN_REPO} ${OPENSTACK_BRANCH}"
             IS_LBAAS_PLUGIN_ENABLED="yes"
         elif [ "$plugin_name" == "networking-sfc" ]; then
-            ENABLE_PLUGIN_ARGS="${DEVSTACK_NETWORKING_SFC_PLUGIN_REPO} master"
+            ENABLE_PLUGIN_ARGS="${DEVSTACK_NETWORKING_SFC_PLUGIN_REPO} ${OPENSTACK_BRANCH}"
             IS_SFC_PLUGIN_ENABLED="yes"
         else
             echo "Error: Invalid plugin $plugin_name, unsupported"
@@ -318,7 +313,13 @@ minimize_polling=True
 physical_network_mtus = ${PUBLIC_PHYSICAL_NETWORK}:1400
 path_mtu = 1458
 EOF
-
+    if [ "${ENABLE_GRE_TYPE_DRIVERS}" == "yes" ]; then
+        cat >> ${local_conf_file_name} << EOF
+type_drivers = local,flat,vlan,gre,vxlan
+[ml2_type_gre]
+tunnel_id_ranges = 1:1000
+EOF
+    fi
     if [ "${ENABLE_NETWORKING_L2GW}" == "yes" ]; then
         cat >> ${local_conf_file_name} << EOF
 
@@ -445,59 +446,71 @@ EOF
 } # create_compute_node_local_conf()
 
 function configure_haproxy_for_neutron_requests() {
-    MGRIP=$1
+    local -r haproxy_ip=$1
     # shellcheck disable=SC2206
-    ODL_IPS=(${2//,/ })
+    local -r odl_ips=(${2//,/ })
 
     cat > ${WORKSPACE}/install_ha_proxy.sh<< EOF
 sudo systemctl stop firewalld
 sudo yum -y install policycoreutils-python haproxy
 EOF
 
-cat > ${WORKSPACE}/haproxy.cfg << EOF
+    cat > ${WORKSPACE}/haproxy.cfg << EOF
 global
   daemon
   group  haproxy
-  log  /dev/log local0
+  log  /dev/log local0 debug
   maxconn  20480
   pidfile  /tmp/haproxy.pid
+  ssl-default-bind-ciphers  !SSLv2:kEECDH:kRSA:kEDH:kPSK:+3DES:!aNULL:!eNULL:!MD5:!EXP:!RC4:!SEED:!IDEA:!DES
+  ssl-default-bind-options  no-sslv3 no-tlsv10
+  stats  socket /var/lib/haproxy/stats mode 600 level user
+  stats  timeout 2m
   user  haproxy
 
 defaults
   log  global
+  option  log-health-checks
   maxconn  4096
   mode  tcp
   retries  3
   timeout  http-request 10s
-  timeout  queue 1m
-  timeout  connect 10s
-  timeout  client 1m
-  timeout  server 1m
-  timeout  check 10s
+  timeout  queue 2m
+  timeout  connect 5s
+  timeout  client 5s
+  timeout  server 5s
 
 listen opendaylight
-  bind ${MGRIP}:8080
-  balance source
+  bind ${haproxy_ip}:8181 transparent
+  mode http
+  http-request set-header X-Forwarded-Proto https if { ssl_fc }
+  http-request set-header X-Forwarded-Proto http if !{ ssl_fc }
+  option httpchk GET /diagstatus
+  option httplog
+EOF
 
-listen opendaylight_rest
-  bind ${MGRIP}:8181
-  balance source
+    odlindex=1
+    for odlip in ${odl_ips[*]}; do
+        echo "  server opendaylight-rest-${odlindex} ${odlip}:8181 check fall 5 inter 2000 rise 2" >> ${WORKSPACE}/haproxy.cfg
+        odlindex=$((odlindex+1))
+    done
 
-listen opendaylight_websocket
-  bind ${MGRIP}:8185
-  balance source
+    cat >> ${WORKSPACE}/haproxy.cfg << EOF
 
+listen opendaylight_ws
+  bind ${haproxy_ip}:8185 transparent
+  mode http
+  timeout tunnel 3600s
+  option httpchk GET /data-change-event-subscription/neutron:neutron/neutron:ports/datastore=OPERATIONAL/scope=SUBTREE HTTP/1.1\r\nHost:\ ws.opendaylight.org\r\nConnection:\ Upgrade\r\nUpgrade:\ websocket\r\nSec-WebSocket-Key:\ haproxy\r\nSec-WebSocket-Version:\ 13\r\nSec-WebSocket-Protocol:\ echo-protocol
+  http-check expect status 101
 EOF
 
     odlindex=1
-    for odlip in ${ODL_IPS[*]}; do
-        sed -i "/listen opendaylight$/a server controller-${odlindex} ${odlip}:8080 check fall 5 inter 2000 rise 2" ${WORKSPACE}/haproxy.cfg
-        sed -i "/listen opendaylight_rest$/a server controller-rest-${odlindex} ${odlip}:8181 check fall 5 inter 2000 rise 2" ${WORKSPACE}/haproxy.cfg
-        sed -i "/listen opendaylight_websocket$/a server controller-websocket-${odlindex} ${odlip}:8185 check fall 5 inter 2000 rise 2" ${WORKSPACE}/haproxy.cfg
+    for odlip in ${odl_ips[*]}; do
+        echo "  server opendaylight-ws-${odlindex} ${odlip}:8185 check fall 3 inter 1000 rise 2" >> ${WORKSPACE}/haproxy.cfg
         odlindex=$((odlindex+1))
     done
 
-
     echo "Dump haproxy.cfg"
     cat ${WORKSPACE}/haproxy.cfg
 
@@ -512,11 +525,11 @@ sudo systemctl status haproxy
 true
 EOF
 
-    scp ${WORKSPACE}/install_ha_proxy.sh ${MGRIP}:/tmp
-    ${SSH} ${MGRIP} "sudo bash /tmp/install_ha_proxy.sh"
-    scp ${WORKSPACE}/haproxy.cfg ${MGRIP}:/tmp
-    scp ${WORKSPACE}/deploy_ha_proxy.sh ${MGRIP}:/tmp
-    ${SSH} ${MGRIP} "sudo bash /tmp/deploy_ha_proxy.sh"
+    scp ${WORKSPACE}/install_ha_proxy.sh ${haproxy_ip}:/tmp
+    ${SSH} ${haproxy_ip} "sudo bash /tmp/install_ha_proxy.sh"
+    scp ${WORKSPACE}/haproxy.cfg ${haproxy_ip}:/tmp
+    scp ${WORKSPACE}/deploy_ha_proxy.sh ${haproxy_ip}:/tmp
+    ${SSH} ${haproxy_ip} "sudo bash /tmp/deploy_ha_proxy.sh"
 } # configure_haproxy_for_neutron_requests()
 
 # Following three functions are debugging helpers when debugging devstack changes.
@@ -625,6 +638,26 @@ function retry() {
     return ${rc}
 }
 
+function install_ovs() {
+    local -r node=${1}
+    local -r rpm_path=${2}
+
+    if [ "${OVS_INSTALL:0:1}" = "v" ]; then
+       # An OVS version was given, so we build it ourselves from OVS git repo.
+       # Only on the first node though, consecutive nodes will use RPMs
+       # built for the first one.
+       [ ! -d "${rpm_path}" ] && mkdir -p "${rpm_path}" && build_ovs ${node} ${OVS_INSTALL} "${rpm_path}"
+       # Install OVS from path
+       install_ovs_from_path ${node} "${rpm_path}"
+    elif [ "${OVS_INSTALL:0:4}" = "http" ]; then
+       # Otherwise, install from rpm repo directly.
+       install_ovs_from_repo ${node} ${OVS_INSTALL}
+    else
+       echo "Expected either an OVS version git tag or a repo http url"
+       exit 1
+    fi
+}
+
 ODL_PROVIDER_MAPPINGS="\${PUBLIC_PHYSICAL_NETWORK}:${PUBLIC_BRIDGE}"
 RECLONE=False
 ODL_PORT=8181
@@ -666,6 +699,10 @@ sudo iptables --line-numbers -nvL
 true
 EOF
 
+#For SFC Tests a larger partition is required for creating instances with Ubuntu
+if [[ "${ENABLE_OS_PLUGINS}" =~ networking-sfc ]]; then
+   TMPFS_SIZE=12G
+fi
 cat > ${WORKSPACE}/get_devstack.sh << EOF
 sudo systemctl stop firewalld
 sudo yum install bridge-utils python-pip -y
@@ -680,7 +717,7 @@ echo "::1         localhost \${HOSTNAME}" >> /tmp/hosts
 sudo mv /tmp/hosts /etc/hosts
 sudo mkdir /opt/stack
 echo "Create RAM disk for /opt/stack"
-sudo mount -t tmpfs -o size=2G tmpfs /opt/stack
+sudo mount -t tmpfs -o size=${TMPFS_SIZE} tmpfs /opt/stack
 sudo chmod 777 /opt/stack
 cd /opt/stack
 echo "git clone https://git.openstack.org/openstack-dev/devstack --branch ${OPENSTACK_BRANCH}"
@@ -690,16 +727,14 @@ if [ -n "${DEVSTACK_HASH}" ]; then
     echo "git checkout ${DEVSTACK_HASH}"
     git checkout ${DEVSTACK_HASH}
 fi
+wget https://raw.githubusercontent.com/shague/odl_tools/master/fix-logging.patch.txt -O /tmp/fix-logging.patch.txt
+patch --verbose -p1 -i /tmp/fix-logging.patch.txt
 git --no-pager log --pretty=format:'%h %<(13)%ar%<(13)%cr %<(20,trunc)%an%d %s%b' -n20
 echo
 
 echo "workaround: do not upgrade openvswitch"
 sudo yum install -y yum-plugin-versionlock
 sudo yum versionlock add openvswitch
-
-#Install qemu-img command in Control Node for Pike
-echo "Install qemu-img application"
-sudo yum install -y qemu-img
 EOF
 
 cat > "${WORKSPACE}/setup_host_cell_mapping.sh" << EOF
@@ -709,31 +744,32 @@ sudo nova-manage db sync
 sudo nova-manage cell_v2 discover_hosts
 EOF
 
+cat > "${WORKSPACE}/workaround_networking_sfc.sh" << EOF
+cd /opt/stack
+git clone https://git.openstack.org/openstack/networking-sfc
+cd networking-sfc
+git checkout ${OPENSTACK_BRANCH}
+git checkout master -- devstack/plugin.sh
+EOF
+
 NUM_OPENSTACK_SITES=${NUM_OPENSTACK_SITES:-1}
 compute_index=1
-odl_index=1
 os_node_list=()
-os_interval=$(( ${NUM_OPENSTACK_SYSTEM} / ${NUM_OPENSTACK_SITES} ))
-ha_proxy_index=${os_interval}
-
-for i in `seq 1 ${NUM_OPENSTACK_SITES}`; do
-    if [ "${ENABLE_HAPROXY_FOR_NEUTRON}" == "yes" ]; then
-        echo "Configure HAProxy"
-        ODL_HAPROXYIP_PARAM=OPENSTACK_HAPROXY_${i}_IP
-        ha_proxy_index=$(( $ha_proxy_index + $os_interval ))
-        odl_index=$(((i - 1) * 3 + 1))
-        ODL_IP_PARAM1=ODL_SYSTEM_$((odl_index++))_IP
-        ODL_IP_PARAM2=ODL_SYSTEM_$((odl_index++))_IP
-        ODL_IP_PARAM3=ODL_SYSTEM_$((odl_index++))_IP
-        ODLMGRIP[$i]=${!ODL_HAPROXYIP_PARAM} # ODL Northbound uses HAProxy VIP
-        ODL_OVS_MGRS[$i]="${!ODL_IP_PARAM1},${!ODL_IP_PARAM2},${!ODL_IP_PARAM3}" # OVSDB connects to all ODL IPs
-        configure_haproxy_for_neutron_requests ${!ODL_HAPROXYIP_PARAM} "${ODL_OVS_MGRS[$i]}"
-    else
-        ODL_IP_PARAM=ODL_SYSTEM_${i}_IP
-        ODL_OVS_MGRS[$i]="${!ODL_IP_PARAM}" # ODL Northbound uses ODL IP
-        ODLMGRIP[$i]=${!ODL_IP_PARAM} # OVSDB connects to ODL IP
-    fi
-done
+
+if [ "${ENABLE_HAPROXY_FOR_NEUTRON}" == "yes" ]; then
+    echo "Configure HAProxy"
+    ODL_HAPROXYIP_PARAM=OPENSTACK_HAPROXY_1_IP
+    ODL_IP_PARAM1=ODL_SYSTEM_1_IP
+    ODL_IP_PARAM2=ODL_SYSTEM_2_IP
+    ODL_IP_PARAM3=ODL_SYSTEM_3_IP
+    ODLMGRIP=${!ODL_HAPROXYIP_PARAM} # ODL Northbound uses HAProxy VIP
+    ODL_OVS_MGRS="${!ODL_IP_PARAM1},${!ODL_IP_PARAM2},${!ODL_IP_PARAM3}" # OVSDB connects to all ODL IPs
+    configure_haproxy_for_neutron_requests ${!ODL_HAPROXYIP_PARAM} "${ODL_OVS_MGRS}"
+else
+    ODL_IP_PARAM=ODL_SYSTEM_1_IP
+    ODLMGRIP=${!ODL_IP_PARAM} # OVSDB connects to ODL IP
+    ODL_OVS_MGRS="${!ODL_IP_PARAM}" # ODL Northbound uses ODL IP
+fi
 
 os_ip_list=()
 for i in `seq 1 ${NUM_OPENSTACK_CONTROL_NODES}`; do
@@ -753,6 +789,7 @@ for i in "${!os_ip_list[@]}"; do
     tcpdump_start "${i}" "${ip}" "port 6653"
 done
 
+
 # Begin stacking the nodes, starting with the controller(s) and then the compute(s)
 
 for i in `seq 1 ${NUM_OPENSTACK_CONTROL_NODES}`; do
@@ -773,8 +810,15 @@ for i in `seq 1 ${NUM_OPENSTACK_CONTROL_NODES}`; do
     if [ "${ODL_ML2_BRANCH}" == "stable/queens" ]; then
        ssh ${!CONTROLIP} "sed -i 's/flat_networks public/flat_networks public,physnet1/' /opt/stack/devstack/lib/neutron"
        ssh ${!CONTROLIP} "sed -i '186i iniset \$NEUTRON_CORE_PLUGIN_CONF ml2_type_vlan network_vlan_ranges public:1:4094,physnet1:1:4094' /opt/stack/devstack/lib/neutron"
+       #Workaround for networking-sfc to configure the paramaters in neutron.conf if the
+       # services used are neutron-api, neutron-dhcp etc instead of q-agt.
+       # Can be removed if the patch https://review.openstack.org/#/c/596287/ gets merged
+       if [[ "${ENABLE_OS_PLUGINS}" =~ networking-sfc ]]; then
+           scp ${WORKSPACE}/workaround_networking_sfc.sh ${!CONTROLIP}:/tmp/
+           ssh ${!CONTROLIP} "bash -x /tmp/workaround_networking_sfc.sh"
+       fi
     fi
-    create_control_node_local_conf ${!CONTROLIP} ${ODLMGRIP[$i]} "${ODL_OVS_MGRS[$i]}"
+    create_control_node_local_conf ${!CONTROLIP} ${ODLMGRIP} "${ODL_OVS_MGRS}"
     scp ${WORKSPACE}/local.conf_control_${!CONTROLIP} ${!CONTROLIP}:/opt/stack/devstack/local.conf
     echo "Install rdo release to avoid incompatible Package versions"
     install_rdo_release ${!CONTROLIP}
@@ -782,6 +826,12 @@ for i in `seq 1 ${NUM_OPENSTACK_CONTROL_NODES}`; do
     if [ "$(is_openstack_feature_enabled n-cpu)" == "1" ]; then
         setup_live_migration_compute ${!CONTROLIP} ${!CONTROLIP}
     fi
+    [ -n "${OVS_INSTALL}" ] && install_ovs ${!CONTROLIP} /tmp/ovs_rpms
+    if [[ "${ENABLE_OS_PLUGINS}" =~ networking-sfc ]]; then
+        # This should be really done by networking-odl devstack plugin,
+        # but in the meantime do it ourselves
+        ssh ${!CONTROLIP} "sudo ovs-vsctl set Open_vSwitch . external_ids:of-tunnel=true"
+    fi
     echo "Stack the control node ${i} of ${NUM_OPENSTACK_CONTROL_NODES}: ${CONTROLIP}"
     ssh ${!CONTROLIP} "cd /opt/stack/devstack; nohup ./stack.sh > /opt/stack/devstack/nohup.out 2>&1 &"
     ssh ${!CONTROLIP} "ps -ef | grep stack.sh"
@@ -817,10 +867,8 @@ if [ ${NUM_OPENSTACK_COMPUTE_NODES} -gt 0 ]; then
 fi
 
 for i in `seq 1 ${NUM_OPENSTACK_COMPUTE_NODES}`; do
-    NUM_COMPUTES_PER_SITE=$((NUM_OPENSTACK_COMPUTE_NODES / NUM_OPENSTACK_SITES))
-    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
+    CONTROLIP=OPENSTACK_CONTROL_NODE_1_IP
     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"
@@ -828,11 +876,17 @@ for i in `seq 1 ${NUM_OPENSTACK_COMPUTE_NODES}`; do
     scp ${WORKSPACE}/hosts_file ${!COMPUTEIP}:/tmp/hosts
     scp ${WORKSPACE}/get_devstack.sh  ${!COMPUTEIP}:/tmp
     ${SSH} ${!COMPUTEIP} "bash /tmp/get_devstack.sh > /tmp/get_devstack.sh.txt 2>&1"
-    create_compute_node_local_conf ${!COMPUTEIP} ${!CONTROLIP} ${ODLMGRIP[$SITE_INDEX]} "${ODL_OVS_MGRS[$SITE_INDEX]}"
+    create_compute_node_local_conf ${!COMPUTEIP} ${!CONTROLIP} ${ODLMGRIP} "${ODL_OVS_MGRS}"
     scp ${WORKSPACE}/local.conf_compute_${!COMPUTEIP} ${!COMPUTEIP}:/opt/stack/devstack/local.conf
     echo "Install rdo release to avoid incompatible Package versions"
     install_rdo_release ${!COMPUTEIP}
     setup_live_migration_compute ${!COMPUTEIP} ${!CONTROLIP}
+    [ -n "${OVS_INSTALL}" ] && install_ovs ${!COMPUTEIP} /tmp/ovs_rpms
+    if [[ "${ENABLE_OS_PLUGINS}" =~ networking-sfc ]]; then
+        # This should be really done by networking-odl devstack plugin,
+        # but in the meantime do it ourselves
+        ssh ${!COMPUTEIP} "sudo ovs-vsctl set Open_vSwitch . external_ids:of-tunnel=true"
+    fi
     echo "Stack the compute node ${i} of ${NUM_OPENSTACK_COMPUTE_NODES}: ${!COMPUTEIP}"
     ssh ${!COMPUTEIP} "cd /opt/stack/devstack; nohup ./stack.sh > /opt/stack/devstack/nohup.out 2>&1 &"
     ssh ${!COMPUTEIP} "ps -ef | grep stack.sh"
@@ -899,122 +953,111 @@ while [ ${in_progress} -eq 1 ]; do
 done
 
 # Further configuration now that stacking is complete.
-NUM_COMPUTES_PER_SITE=$((NUM_OPENSTACK_COMPUTE_NODES / NUM_OPENSTACK_SITES))
-for i in `seq 1 ${NUM_OPENSTACK_SITES}`; do
-    echo "Configure the Control Node"
-    CONTROLIP=OPENSTACK_CONTROL_NODE_${i}_IP
-    # Gather Compute IPs for the site
-    for j in `seq 1 ${NUM_COMPUTES_PER_SITE}`; do
-        COMPUTE_INDEX=$(((i-1) * NUM_COMPUTES_PER_SITE + j))
-        IP_VAR=OPENSTACK_COMPUTE_NODE_${COMPUTE_INDEX}_IP
-        COMPUTE_IPS[$((j-1))]=${!IP_VAR}
-    done
+echo "Configure the Control Node"
+CONTROLIP=OPENSTACK_CONTROL_NODE_1_IP
+# Gather Compute IPs for the site
+for i in `seq 1 ${NUM_OPENSTACK_COMPUTE_NODES}`; do
+    IP_VAR=OPENSTACK_COMPUTE_NODE_${i}_IP
+    COMPUTE_IPS[$((i-1))]=${!IP_VAR}
+done
 
-    echo "sleep for 60s and print hypervisor-list"
-    sleep 60
-    ${SSH} ${!CONTROLIP} "cd /opt/stack/devstack; source openrc admin admin; nova hypervisor-list"
-    # in the case that we are doing openstack (control + compute) all in one node, then the number of hypervisors
-    # will be the same as the number of openstack systems. However, if we are doing multinode openstack then the
-    # assumption is we have a single control node and the rest are compute nodes, so the number of expected hypervisors
-    # is one less than the total number of openstack systems
-    if [ $((NUM_OPENSTACK_SYSTEM / NUM_OPENSTACK_SITES)) -eq 1 ]; then
-        expected_num_hypervisors=1
-    else
-        expected_num_hypervisors=${NUM_COMPUTES_PER_SITE}
-        if [ "$(is_openstack_feature_enabled n-cpu)" == "1" ]; then
-            expected_num_hypervisors=$((expected_num_hypervisors + 1))
-        fi
-    fi
-    num_hypervisors=$(${SSH} ${!CONTROLIP} "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"
-        exit 1
+echo "sleep for 60s and print hypervisor-list"
+sleep 60
+${SSH} ${!CONTROLIP} "cd /opt/stack/devstack; source openrc admin admin; nova hypervisor-list"
+# in the case that we are doing openstack (control + compute) all in one node, then the number of hypervisors
+# will be the same as the number of openstack systems. However, if we are doing multinode openstack then the
+# assumption is we have a single control node and the rest are compute nodes, so the number of expected hypervisors
+# is one less than the total number of openstack systems
+if [ ${NUM_OPENSTACK_SYSTEM} -eq 1 ]; then
+    expected_num_hypervisors=1
+else
+    expected_num_hypervisors=${NUM_OPENSTACK_COMPUTE_NODES}
+    if [ "$(is_openstack_feature_enabled n-cpu)" == "1" ]; then
+        expected_num_hypervisors=$((expected_num_hypervisors + 1))
     fi
+fi
+num_hypervisors=$(${SSH} ${!CONTROLIP} "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"
+    exit 1
+fi
+
+# External Network
+echo "prepare external networks by adding vxlan tunnels between all nodes on a separate bridge..."
+# FIXME Should there be a unique gateway IP and devstack index for each site?
+devstack_index=1
+for ip in ${!CONTROLIP} ${COMPUTE_IPS[*]}; do
+    # FIXME - Workaround, ODL (new netvirt) currently adds PUBLIC_BRIDGE as a port in br-int since it doesn't see such a bridge existing when we stack
+    ${SSH} $ip "sudo ovs-vsctl --if-exists del-port br-int $PUBLIC_BRIDGE"
+    ${SSH} $ip "sudo ovs-vsctl --may-exist add-br $PUBLIC_BRIDGE -- set bridge $PUBLIC_BRIDGE other-config:disable-in-band=true other_config:hwaddr=f6:00:00:ff:01:0$((devstack_index++))"
+done
 
-    # Gather Compute IPs for the site
-    for j in `seq 1 ${NUM_COMPUTES_PER_SITE}`; do
-        COMPUTE_INDEX=$(((i-1) * NUM_COMPUTES_PER_SITE + j))
-        IP_VAR=OPENSTACK_COMPUTE_NODE_${COMPUTE_INDEX}_IP
-        COMPUTE_IPS[$((j-1))]=${!IP_VAR}
+# ipsec support
+if [ "${IPSEC_VXLAN_TUNNELS_ENABLED}" == "yes" ]; then
+    # shellcheck disable=SC2206
+    ALL_NODES=(${!CONTROLIP} ${COMPUTE_IPS[*]})
+    for ((inx_ip1=0; inx_ip1<$((${#ALL_NODES[@]} - 1)); inx_ip1++)); do
+        for ((inx_ip2=$((inx_ip1 + 1)); inx_ip2<${#ALL_NODES[@]}; inx_ip2++)); do
+            KEY1=0x$(dd if=/dev/urandom count=32 bs=1 2> /dev/null| xxd -p -c 64)
+            KEY2=0x$(dd if=/dev/urandom count=32 bs=1 2> /dev/null| xxd -p -c 64)
+            ID=0x$(dd if=/dev/urandom count=4 bs=1 2> /dev/null| xxd -p -c 8)
+            ip1=${ALL_NODES[$inx_ip1]}
+            ip2=${ALL_NODES[$inx_ip2]}
+            ${SSH} $ip1 "sudo ip xfrm state add src $ip1 dst $ip2 proto esp spi $ID reqid $ID mode transport auth sha256 $KEY1 enc aes $KEY2"
+            ${SSH} $ip1 "sudo ip xfrm state add src $ip2 dst $ip1 proto esp spi $ID reqid $ID mode transport auth sha256 $KEY1 enc aes $KEY2"
+            ${SSH} $ip1 "sudo ip xfrm policy add src $ip1 dst $ip2 proto udp dir out tmpl src $ip1 dst $ip2 proto esp reqid $ID mode transport"
+            ${SSH} $ip1 "sudo ip xfrm policy add src $ip2 dst $ip1 proto udp dir in tmpl src $ip2 dst $ip1 proto esp reqid $ID mode transport"
+
+            ${SSH} $ip2 "sudo ip xfrm state add src $ip2 dst $ip1 proto esp spi $ID reqid $ID mode transport auth sha256 $KEY1 enc aes $KEY2"
+            ${SSH} $ip2 "sudo ip xfrm state add src $ip1 dst $ip2 proto esp spi $ID reqid $ID mode transport auth sha256 $KEY1 enc aes $KEY2"
+            ${SSH} $ip2 "sudo ip xfrm policy add src $ip2 dst $ip1 proto udp dir out tmpl src $ip2 dst $ip1 proto esp reqid $ID mode transport"
+            ${SSH} $ip2 "sudo ip xfrm policy add src $ip1 dst $ip2 proto udp dir in tmpl src $ip1 dst $ip2 proto esp reqid $ID mode transport"
+        done
     done
 
-    # External Network
-    echo "prepare external networks by adding vxlan tunnels between all nodes on a separate bridge..."
-    # FIXME Should there be a unique gateway IP and devstack index for each site?
-    devstack_index=1
     for ip in ${!CONTROLIP} ${COMPUTE_IPS[*]}; do
-        # FIXME - Workaround, ODL (new netvirt) currently adds PUBLIC_BRIDGE as a port in br-int since it doesn't see such a bridge existing when we stack
-        ${SSH} $ip "sudo ovs-vsctl --if-exists del-port br-int $PUBLIC_BRIDGE"
-        ${SSH} $ip "sudo ovs-vsctl --may-exist add-br $PUBLIC_BRIDGE -- set bridge $PUBLIC_BRIDGE other-config:disable-in-band=true other_config:hwaddr=f6:00:00:ff:01:0$((devstack_index++))"
+        echo "ip xfrm configuration for node $ip:"
+        ${SSH} $ip "sudo ip xfrm policy list"
+        ${SSH} $ip "sudo ip xfrm state list"
     done
+fi
 
-    # ipsec support
-    if [ "${IPSEC_VXLAN_TUNNELS_ENABLED}" == "yes" ]; then
-        # shellcheck disable=SC2206
-        ALL_NODES=(${!CONTROLIP} ${COMPUTE_IPS[*]})
-        for ((inx_ip1=0; inx_ip1<$((${#ALL_NODES[@]} - 1)); inx_ip1++)); do
-            for ((inx_ip2=$((inx_ip1 + 1)); inx_ip2<${#ALL_NODES[@]}; inx_ip2++)); do
-                KEY1=0x$(dd if=/dev/urandom count=32 bs=1 2> /dev/null| xxd -p -c 64)
-                KEY2=0x$(dd if=/dev/urandom count=32 bs=1 2> /dev/null| xxd -p -c 64)
-                ID=0x$(dd if=/dev/urandom count=4 bs=1 2> /dev/null| xxd -p -c 8)
-                ip1=${ALL_NODES[$inx_ip1]}
-                ip2=${ALL_NODES[$inx_ip2]}
-                ${SSH} $ip1 "sudo ip xfrm state add src $ip1 dst $ip2 proto esp spi $ID reqid $ID mode transport auth sha256 $KEY1 enc aes $KEY2"
-                ${SSH} $ip1 "sudo ip xfrm state add src $ip2 dst $ip1 proto esp spi $ID reqid $ID mode transport auth sha256 $KEY1 enc aes $KEY2"
-                ${SSH} $ip1 "sudo ip xfrm policy add src $ip1 dst $ip2 proto udp dir out tmpl src $ip1 dst $ip2 proto esp reqid $ID mode transport"
-                ${SSH} $ip1 "sudo ip xfrm policy add src $ip2 dst $ip1 proto udp dir in tmpl src $ip2 dst $ip1 proto esp reqid $ID mode transport"
-
-                ${SSH} $ip2 "sudo ip xfrm state add src $ip2 dst $ip1 proto esp spi $ID reqid $ID mode transport auth sha256 $KEY1 enc aes $KEY2"
-                ${SSH} $ip2 "sudo ip xfrm state add src $ip1 dst $ip2 proto esp spi $ID reqid $ID mode transport auth sha256 $KEY1 enc aes $KEY2"
-                ${SSH} $ip2 "sudo ip xfrm policy add src $ip2 dst $ip1 proto udp dir out tmpl src $ip2 dst $ip1 proto esp reqid $ID mode transport"
-                ${SSH} $ip2 "sudo ip xfrm policy add src $ip1 dst $ip2 proto udp dir in tmpl src $ip1 dst $ip2 proto esp reqid $ID mode transport"
-            done
-        done
-
-        for ip in ${!CONTROLIP} ${COMPUTE_IPS[*]}; do
-            echo "ip xfrm configuration for node $ip:"
-            ${SSH} $ip "sudo ip xfrm policy list"
-            ${SSH} $ip "sudo ip xfrm state list"
-        done
-    fi
-
-    # Control Node - PUBLIC_BRIDGE will act as the external router
-    # Parameter values below are used in integration/test - changing them requires updates in intergration/test as well
-    EXTNET_GATEWAY_IP="10.10.10.250"
-    EXTNET_INTERNET_IP="10.9.9.9"
-    EXTNET_PNF_IP="10.10.10.253"
-    ${SSH} ${!CONTROLIP} "sudo ifconfig ${PUBLIC_BRIDGE} up ${EXTNET_GATEWAY_IP}/24"
-
-    # Control Node - external net PNF simulation
+# Control Node - PUBLIC_BRIDGE will act as the external router
+# Parameter values below are used in integration/test - changing them requires updates in intergration/test as well
+EXTNET_GATEWAY_IP="10.10.10.250"
+EXTNET_INTERNET_IP="10.9.9.9"
+EXTNET_PNF_IP="10.10.10.253"
+${SSH} ${!CONTROLIP} "sudo ifconfig ${PUBLIC_BRIDGE} up ${EXTNET_GATEWAY_IP}/24"
+
+# Control Node - external net PNF simulation
+${SSH} ${!CONTROLIP} "
+    sudo ip netns add pnf_ns;
+    sudo ip link add pnf_veth0 type veth peer name pnf_veth1;
+    sudo ip link set pnf_veth1 netns pnf_ns;
+    sudo ip link set pnf_veth0 up;
+    sudo ip netns exec pnf_ns ifconfig pnf_veth1 up ${EXTNET_PNF_IP}/24;
+    sudo ovs-vsctl add-port ${PUBLIC_BRIDGE} pnf_veth0;
+"
+
+# Control Node - external net internet address simulation
+${SSH} ${!CONTROLIP} "
+    sudo ip tuntap add dev internet_tap mode tap;
+    sudo ifconfig internet_tap up ${EXTNET_INTERNET_IP}/24;
+"
+
+# Computes
+compute_index=1
+for compute_ip in ${COMPUTE_IPS[*]}; do
+    # Tunnel from controller to compute
+    COMPUTEPORT=compute$(( compute_index++ ))_vxlan
     ${SSH} ${!CONTROLIP} "
-        sudo ip netns add pnf_ns;
-        sudo ip link add pnf_veth0 type veth peer name pnf_veth1;
-        sudo ip link set pnf_veth1 netns pnf_ns;
-        sudo ip link set pnf_veth0 up;
-        sudo ip netns exec pnf_ns ifconfig pnf_veth1 up ${EXTNET_PNF_IP}/24;
-        sudo ovs-vsctl add-port ${PUBLIC_BRIDGE} pnf_veth0;
+        sudo ovs-vsctl add-port $PUBLIC_BRIDGE $COMPUTEPORT -- set interface $COMPUTEPORT type=vxlan options:local_ip=${!CONTROLIP} options:remote_ip=$compute_ip options:dst_port=9876 options:key=flow
     "
-
-    # Control Node - external net internet address simulation
-    ${SSH} ${!CONTROLIP} "
-        sudo ip tuntap add dev internet_tap mode tap;
-        sudo ifconfig internet_tap up ${EXTNET_INTERNET_IP}/24;
+    # Tunnel from compute to controller
+    CONTROLPORT="control_vxlan"
+    ${SSH} $compute_ip "
+        sudo ovs-vsctl add-port $PUBLIC_BRIDGE $CONTROLPORT -- set interface $CONTROLPORT type=vxlan options:local_ip=$compute_ip options:remote_ip=${!CONTROLIP} options:dst_port=9876 options:key=flow
     "
-
-    # Computes
-    compute_index=1
-    for compute_ip in ${COMPUTE_IPS[*]}; do
-        # Tunnel from controller to compute
-        COMPUTEPORT=compute$(( compute_index++ ))_vxlan
-        ${SSH} ${!CONTROLIP} "
-            sudo ovs-vsctl add-port $PUBLIC_BRIDGE $COMPUTEPORT -- set interface $COMPUTEPORT type=vxlan options:local_ip=${!CONTROLIP} options:remote_ip=$compute_ip options:dst_port=9876 options:key=flow
-        "
-        # Tunnel from compute to controller
-        CONTROLPORT="control_vxlan"
-        ${SSH} $compute_ip "
-            sudo ovs-vsctl add-port $PUBLIC_BRIDGE $CONTROLPORT -- set interface $CONTROLPORT type=vxlan options:local_ip=$compute_ip options:remote_ip=${!CONTROLIP} options:dst_port=9876 options:key=flow
-        "
-    done
 done
 
 if [ "${ENABLE_HAPROXY_FOR_NEUTRON}" == "yes" ]; then
@@ -1125,7 +1168,6 @@ for suite in ${SUITES}; do
     -v JENKINS_WORKSPACE:${WORKSPACE} \
     -v NEXUSURL_PREFIX:${NEXUSURL_PREFIX} \
     -v NUM_ODL_SYSTEM:${NUM_ODL_SYSTEM} \
-    -v NUM_OPENSTACK_SITES:${NUM_OPENSTACK_SITES} \
     -v NUM_OS_SYSTEM:${NUM_OPENSTACK_SYSTEM} \
     -v NUM_TOOLS_SYSTEM:${NUM_TOOLS_SYSTEM} \
     -v ODL_SNAT_MODE:${ODL_SNAT_MODE} \
index 542b0dcc1eac95dfd097cf2c68a0ef78328f5cbe..961df7bcbbe0aef28812847bec6d446a3224af07 100644 (file)
@@ -7,7 +7,11 @@ DISTROBRANCH="${DISTROBRANCH:-$GERRIT_BRANCH}"
 
 if [ ${BUNDLE_URL} == 'last' ]; then
     # Obtain current pom.xml of integration/distribution, correct branch.
-    wget "http://${GERRIT_PATH}/gitweb?p=integration/distribution.git;a=blob_plain;f=pom.xml;hb=refs/heads/$DISTROBRANCH" -O "pom.xml"
+    if [[ "$KARAF_ARTIFACT" == "opendaylight" ]]; then
+        wget "http://${GERRIT_PATH}/gitweb?p=integration/distribution.git;a=blob_plain;f=opendaylight/pom.xml;hb=refs/heads/$DISTROBRANCH" -O "pom.xml"
+    else
+        wget "http://${GERRIT_PATH}/gitweb?p=integration/distribution.git;a=blob_plain;f=pom.xml;hb=refs/heads/$DISTROBRANCH" -O "pom.xml"
+    fi
     # Extract the BUNDLE_VERSION from the pom.xml
     BUNDLE_VERSION="$(xpath pom.xml '/project/version/text()' 2> /dev/null)"
     echo "Bundle version is ${BUNDLE_VERSION}"
diff --git a/jjb/integration/integration-get-apex-addresses.sh b/jjb/integration/integration-get-apex-addresses.sh
new file mode 100644 (file)
index 0000000..3f2dd8b
--- /dev/null
@@ -0,0 +1,67 @@
+#!/bin/bash -l
+# Get the Controller and Tools VM slave addresses
+
+set -ex -o pipefail
+
+git clone https://gerrit.opnfv.org/gerrit/releng.git /tmp/opnfv_releng
+
+openstack object save OPNFV-APEX-SNAPSHOTS node.yaml
+openstack object save OPNFV-APEX-SNAPSHOTS id_rsa --file /tmp/id_rsa
+cat > ~/.ssh/config <<EOF
+Host 192.0.2.*
+  User heat-admin
+  IdentityFile /tmp/id_rsa
+EOF
+ln -s /tmp/id_rsa ~/.ssh/robot_id_rsa
+chmod 0600 /tmp/id_rsa ~/.ssh/config
+
+NUM_OPENSTACK_SYSTEM=3
+NUM_ODL_SYSTEM=1
+ODL_SYSTEM_IP=$(python /tmp/opnfv_releng/jjb/cperf/parse-node-yaml.py get_value -k address --node-type controller --file node.yaml)
+OPENSTACK_COMPUTE_NODE_1_IP=$(python /tmp/opnfv_releng/jjb/cperf/parse-node-yaml.py get_value -k address --node-type compute --node-number 1 --file node.yaml)
+OPENSTACK_COMPUTE_NODE_2_IP=$(python /tmp/opnfv_releng/jjb/cperf/parse-node-yaml.py get_value -k address --node-type compute --node-number 2 --file node.yaml)
+OPENSTACK_CONTROL_NODE_1_IP=$ODL_SYSTEM_IP
+ODL_SYSTEM_1_IP=$ODL_SYSTEM_IP
+
+echo "NUM_OPENSTACK_SYSTEM=$NUM_OPENSTACK_SYSTEM" >> slave_addresses.txt
+echo "NUM_ODL_SYSTEM=$NUM_ODL_SYSTEM" >> slave_addresses.txt
+echo "ODL_SYSTEM_IP=$ODL_SYSTEM_IP" >> slave_addresses.txt
+echo "CONTROLLER_1_IP=$ODL_SYSTEM_IP" >> slave_addresses.txt
+
+echo "OPENSTACK_COMPUTE_NODE_1_IP=$OPENSTACK_COMPUTE_NODE_1_IP" >> slave_addresses.txt
+echo "OPENSTACK_COMPUTE_NODE_2_IP=$OPENSTACK_COMPUTE_NODE_2_IP" >> slave_addresses.txt
+echo "OPENSTACK_CONTROL_NODE_1_IP=$OPENSTACK_CONTROL_NODE_1_IP" >> slave_addresses.txt
+echo "ODL_SYSTEM_1_IP=$ODL_SYSTEM_1_IP" >> slave_addresses.txt
+
+cat slave_addresses.txt
+
+# Add Robot builder to new Apex network (adding 2nd nic). The Apex snapshots
+# have a single nic with a static ip on the 192.0.2.0/24 network. The eth0
+# nic on the robot builders come up on the standard 10 net from our cloud
+# infra. To give connectivity between the robot builder and the apex vms,
+# a new network is created for the 192.0.2.0/subnet and this second nic is
+# added to that network. DHCP is used for the robot builder in a range outside
+# of what any apex ip address would be.
+JOB_SUM=$(echo "$JOB_NAME" | sum | awk '{ print $1 }')
+VM_NAME="$JOB_SUM-$BUILD_NUMBER"
+SERVER_ID="$(openstack server show -f value -c id "$(hostname -s)")"
+NETWORK_ID="$(openstack network show -f value -c id "$SILO-$VM_NAME-APEX_192_network")"
+openstack server add network $SERVER_ID $NETWORK_ID
+ETH1_MAC=$(ip address show eth1 | grep ether | awk -F' ' '{print $2}')
+ETH1_SCRIPT="/etc/sysconfig/network-scripts/ifcfg-eth1"
+sudo cp /etc/sysconfig/network-scripts/ifcfg-eth0 "$ETH1_SCRIPT"
+sudo sed -i "s/eth0/eth1/; s/^HWADDR=.*/HWADDR=$ETH1_MAC/" "$ETH1_SCRIPT"
+sudo echo 'PEERDNS=no' | sudo tee -a "$ETH1_SCRIPT"
+sudo echo 'DEFROUTE=no' | sudo tee -a "$ETH1_SCRIPT"
+cat "$ETH1_SCRIPT"
+sudo ifup eth1
+ip a
+
+echo "Testing Connectivity To Apex Systems"
+ping -c3 "$OPENSTACK_CONTROL_NODE_1_IP"
+ping -c3 "$OPENSTACK_COMPUTE_NODE_1_IP"
+ping -c3 "$OPENSTACK_COMPUTE_NODE_2_IP"
+
+# vim: sw=4 ts=4 sts=4 et ft=sh :
+
+
index 816dcf80a72515593df804d1510abcee0bdac5a8..2546d31f68c819b3315cf640a5d1749d03116286 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # Get the Controller and Tools VM slave addresses
 
 set -x
@@ -7,11 +7,7 @@ ODL_SYSTEM=()
 TOOLS_SYSTEM=()
 OPENSTACK_SYSTEM=()
 OPENSTACK_CONTROLLERS=()
-[ "$NUM_OPENSTACK_SITES" ] || NUM_OPENSTACK_SITES=1
 
-OPENSTACK_VENV="/tmp/v/openstack"
-# shellcheck source=/tmp/v/openstack/bin/activate disable=SC1091
-source $OPENSTACK_VENV/bin/activate
 mapfile -t ADDR <<< "$(openstack stack show -f json -c outputs "$STACK_NAME" | jq -r '.outputs[] | select(.output_key | match("^vm_[0-9]+_ips$")) | .output_value | .[]')"
 
 # The next two blocks of code will parse the list of vm IP's hostnames to determine which type of node
@@ -54,7 +50,7 @@ echo "NUM_TOOLS_SYSTEM=${#TOOLS_SYSTEM[@]}" >> slave_addresses.txt
 #if HA Proxy is requested the last devstack node will be configured as haproxy
 if [ "${ENABLE_HAPROXY_FOR_NEUTRON}" == "yes" ]; then
    # HA Proxy is installed on one OPENSTACK_SYSTEM VM on each site
-   NUM_OPENSTACK_SYSTEM=$(( ${#OPENSTACK_SYSTEM[@]} - NUM_OPENSTACK_SITES ))
+   NUM_OPENSTACK_SYSTEM=$(( ${#OPENSTACK_SYSTEM[@]} - 1 ))
 else
    NUM_OPENSTACK_SYSTEM=${#OPENSTACK_SYSTEM[@]}
 fi
@@ -91,7 +87,7 @@ done
 
 openstack_index=0
 # Assuming number of openstack control nodes equals number of openstack sites
-NUM_OPENSTACK_CONTROL_NODES=$(( NUM_OPENSTACK_SITES ))
+NUM_OPENSTACK_CONTROL_NODES=1
 echo "NUM_OPENSTACK_CONTROL_NODES=${NUM_OPENSTACK_CONTROL_NODES}" >> slave_addresses.txt
 for i in $(seq 0 $((NUM_OPENSTACK_CONTROL_NODES - 1)))
 do
index b825b1533ff9df7d8108ab2d6bcf2f85e1bf9e56..5c5a74e315dc6b974d9f2a7a09008be3442a709d 100644 (file)
@@ -29,7 +29,7 @@ pip install --upgrade docker-py importlib requests scapy netifaces netaddr ipadd
 pip install --upgrade robotframework-httplibrary \
     requests==2.15.1 \
     robotframework-requests \
-    robotframework-sshlibrary \
+    robotframework-sshlibrary==3.1.1 \
     robotframework-selenium2library \
     robotframework-pycurllibrary
 
@@ -63,8 +63,12 @@ pip3 install --user https://files.pythonhosted.org/packages/b8/f7/3bb4d18c234a8c
 pip3 install --user https://files.pythonhosted.org/packages/c3/e3/146b675e6d0138a49c4b817b4e68170eb9b75cee7e71fa3ec69624c4f467/elasticsearch-6.2.0-py2.py3-none-any.whl
 pip3 install --user https://files.pythonhosted.org/packages/75/5e/b84feba55e20f8da46ead76f14a3943c8cb722d40360702b2365b91dec00/PyYAML-3.11.tar.gz
 
+# odltools for extra debugging
+pip install odltools
+odltools -V
+
 # Print installed versions.
 pip install --upgrade pipdeptree
-pipdeptree
+pip freeze
 
 # vim: sw=4 ts=4 sts=4 et ft=sh :
index 2ab9bb4fc9aa28687f0ebfa9ebfff99cd2c3e6e5..f798130e40c1aa10629eb9b832ba8629d07809b7 100644 (file)
       - opendaylight-infra-stack:
           stack-template: 'csit-3-instance-type.yaml'
 
+# Macro: integration-apex-stack-3-type
+# Operation: Sets environment and then calls opendaylight-apex-stack to spin
+#            up csit lab using openstack-heat.
+# Used by: {project}-csit-* apex related job templates
+
+- builder:
+    name: integration-apex-stack-3-type
+    builders:
+      - integration-cleanup-workspace
+      - shell: |
+          #!/bin/bash
+          # Setup openstack envirnoment file for use by
+          # the opendaylight-infra-stack macro
+          cat > $WORKSPACE/opendaylight-infra-environment.yaml << EOF
+          parameters:
+              vm_0_count: {vm_0_count}
+              vm_0_flavor: {vm_0_flavor}
+              vm_0_image: {vm_0_image}
+              vm_1_count: {vm_1_count}
+              vm_1_flavor: {vm_1_flavor}
+              vm_1_image: {vm_1_image}
+              vm_2_count: {vm_2_count}
+              vm_2_flavor: {vm_2_flavor}
+              vm_2_image: {vm_2_image}
+          EOF
+          echo "Contents of opendaylight-infra-environment.yaml ..."
+          cat $WORKSPACE/opendaylight-infra-environment.yaml
+      - opendaylight-apex-stack:
+          stack-template: 'csit-apex-3-instance-type.yaml'
+
 # Macro: integration-infra-stack-4-type
 # Operation: Sets environment and then calls opendaylight-infra-stack to spin
 #            up csit lab using openstack-heat.
       - opendaylight-infra-stack:
           stack-template: 'csit-4-instance-type.yaml'
 
+# Macro: integration-get-apex-addresses
+# Operation: this macro gets the IP addresses of the dynamic vms from apex snapshots
+# Used by: {project}-csit-* apex related job templates
+
+- builder:
+    name: integration-get-apex-addresses
+    builders:
+      - shell: !include-raw: integration-get-apex-addresses.sh
+
+# Macro: integration-apex-run-tests
+# Operation: this macro just runs the robot suites
+# Used by: {project}-csit-* apex related job templates
+
+- builder:
+    name: integration-apex-run-tests
+    builders:
+      - shell: !include-raw: integration-apex-run-tests.sh
+
 # Macro: integration-get-slave-addresses
 # Operation: this macro gets the IP addresses of the dynamic vms
 # Used by: {project}-csit-* job templates
       - shell: !include-raw:
           - integration-deploy-openstack-run-test.sh
 
+- builder:
+    name: integration-apex-image-manager
+    builders:
+      - shell: !include-raw:
+          - ../opendaylight-infra-apex-image-management.sh
+
 - builder:
     name: integration-compare-distributions
     # Operation: will compare an already created distribtion (probably last
               build-steps:
                 - shell: |
                     #!/bin/bash
+                    echo "Archiving csit artifacts"
                     cd $WORKSPACE
                     mkdir -p ./archives
                     for i in `seq 1 ${NUM_ODL_SYSTEM}`; do
                         NODE_FOLDER="./archives/odl_${i}"
                         mkdir -p ${NODE_FOLDER}
-                        mv odl${i}_karaf* ${NODE_FOLDER} || true
+                        mv odl${i}_* ${NODE_FOLDER} || true
                         mv karaf_${i}_*_threads* ${NODE_FOLDER} || true
                         mv *_${i}.png ${NODE_FOLDER} || true
+                        mv /tmp/odl${i}_* ${NODE_FOLDER} || true
                     done
                     curl --output robot-plugin.zip "$BUILD_URL/robot/report/*zip*/robot-plugin.zip"
                     unzip -d ./archives robot-plugin.zip
index 7ad19c5e7afeb6a599b515bae9ac6b5fb7d1657f..eb5c585c54c6467e3b387b38e2a50d60723897dd 100644 (file)
@@ -94,6 +94,7 @@
           files: 'csit/suites/{project}/**'
 
     builders:
+      - lf-infra-pre-build
       - integration-infra-stack:
           stack-template: '{stack-template}'
           vm_0_count: '1'
 - job-template:
     name: '{prefix}{project}-csit-1node-{functionality}-{install}-{stream}'
     id: inttest-csit-1node
-    disabled: false
+    disable-job: false
+    disabled: '{disable-job}'
 
     project-type: freestyle
     node: centos7-robot-2c-8g
           build-timeout: '{build-timeout}'
 
     builders:
+      - lf-infra-pre-build
       - integration-infra-stack:
           stack-template: '{stack-template}'
           vm_0_count: '1'
           files: 'csit/suites/{project}/**'
 
     builders:
+      - lf-infra-pre-build
       - integration-infra-stack:
           stack-template: '{stack-template}'
           vm_0_count: '3'
           refspec: '$PATCHREFSPEC'
           branch: 'master'
 
+    triggers:
+      # we need this for not SR projects
+      - integration-csit-trigger:
+          jobs: '{trigger-jobs}'
+
     wrappers:
       - opendaylight-infra-wrappers:
           build-timeout: '{build-timeout}'
 
     builders:
+      - lf-infra-pre-build
       - integration-infra-stack:
           stack-template: '{stack-template}'
           vm_0_count: '3'
           build-timeout: '{build-timeout}'
 
     builders:
+      - lf-infra-pre-build
       - integration-infra-stack:
           stack-template: '{stack-template}'
           vm_0_count: '3'
           name: ODL_SNAT_MODE
           default: '{odl-snat-mode}'
           description: 'The SNAT mode to be configured - options are conntrack/controller.'
+      - string:
+          name: OVS_INSTALL
+          default: '{ovs-install}'
+          description: 'Install a custom OVS. It can be an OVS version to build (like v2.9.2 or v2.6.1-nsh) or a yum
+          repo url to pull from.'
     scm:
       - integration-gerrit-scm:
           basedir: 'test'
       - timed: '{schedule}'
 
     builders:
+      - lf-infra-pre-build
       - integration-infra-stack-4-type:
           stack-template: '{stack-template}'
           vm_0_count: '{odl_system_count}'
           default: '{odl-ml2-port-binding}'
           description: 'Method of networking-odl port-binding (pseudo-agentdb-binding or legacy-port-binding or
           network-topology)'
+      - string:
+          name: ENABLE_GRE_TYPE_DRIVERS
+          default: '{enable-gre-type-driver}'
+          description: 'Enable gre tunnel'
       - string:
           name: DEVSTACK_KUBERNETES_PLUGIN_REPO
           default: '{devstack-kubernetes-plugin-repo}'
           default: '{lbaas-service-provider}'
           description: 'The NEUTRON_LBAAS_SERVICE_PROVIDERV2 value to be used in local.conf - only relevant when using
           neutron-lbaas'
-      - string:
-          name: NUM_OPENSTACK_SITES
-          default: '{num-openstack-sites}'
-          description: 'Number of openstack sites'
       - string:
           name: ODL_SFC_DRIVER
           default: '{odl-sfc-driver}'
           name: ODL_SNAT_MODE
           default: '{odl-snat-mode}'
           description: 'The SNAT mode to be configured - options are conntrack/controller.'
-
+      - string:
+          name: OVS_INSTALL
+          default: '{ovs-install}'
+          description: 'Install a custom OVS. It can be an OVS version to build (like v2.9.2 or v2.6.1-nsh) or a yum
+          repo url to pull from.'
     scm:
       - integration-gerrit-scm:
           basedir: 'test'
       - timed: '{schedule}'
 
     builders:
+      - lf-infra-pre-build
       - integration-infra-stack-3-type:
           stack-template: '{stack-template}'
           vm_0_count: '{odl_system_count}'
       - email-notification:
           email-recipients: '{email-recipients}'
           email-prefix: '[{project}]'
+
+- job-template:
+    # yamllint disable-line rule:line-length
+    name: '{prefix}{project}-csit-{topology}-{os-cmb-cnt}cmb-{os-ctl-cnt}ctl-{os-cmp-cnt}cmp-apex-{openstack}-{functionality}-{stream}'
+    id: inttest-csit-apex
+    disabled: false
+
+    project-type: freestyle
+    node: centos7-robot-2c-8g
+    concurrent: true
+
+    properties:
+      - opendaylight-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+
+    parameters:
+      - opendaylight-infra-parameters:
+          os-cloud: '{os-cloud}'
+          project: 'integration/test'
+          branch: '{branch}'
+          refspec: 'refs/heads/{branch}'
+          artifacts: '{archive-artifacts}'
+      - integration-distribution-branch:
+          branch: '{branch}'
+      - integration-distribution-stream:
+          stream: '{stream}'
+      - integration-bundle-url:
+          bundle-url: '{bundle-url}'
+      - integration-repo-url:
+          repo-url: '{repo-url}'
+      - integration-controller-features:
+          controller-features: '{install-features}'
+      - integration-controller-debug-map:
+          controller-debug-map: '{debug-map}'
+      - integration-test-options:
+          test-options: '{robot-options}'
+      - integration-test-plan:
+          test-plan: '{testplan}'
+      - integration-test-suites:
+          test-suites: '{test-suites}'
+      - integration-patch-refspec:
+          branch: 'master'
+      - integration-jdk-version:
+          jdkversion: '{jre}'
+      - distribution-karaf-version:
+          karaf-version: '{karaf-version}'
+      - integration-use-features-boot:
+          use-features-boot: '{use-features-boot}'
+      - string:
+          name: OPENSTACK_BRANCH
+          default: '{openstack-branch}'
+          description: 'Openstack version to use with devstack'
+      - string:
+          name: IPSEC_VXLAN_TUNNELS_ENABLED
+          default: '{ipsec-vxlan-tunnels-enabled}'
+          description: 'Enable ipsec over vxlan support for all controllers and computes'
+      - string:
+          name: PUBLIC_BRIDGE
+          default: '{public-bridge}'
+          description: 'Specifies public bridge for provider and external networking'
+      - string:
+          name: SECURITY_GROUP_MODE
+          default: '{security-group-mode}'
+          description: 'Security Group Mode to be used in netvirt aclservice config'
+      - string:
+          name: ENABLE_ITM_DIRECT_TUNNELS
+          default: '{enable-itm-direct-tunnels}'
+          description: 'Tunnel Configuration mode to be used in genius ifm config'
+      - string:
+          name: PUBLIC_PHYSICAL_NETWORK
+          default: '{public-physical-network}'
+          description: 'provider physical network used for flat/vlan networks'
+      - string:
+          name: ODL_SNAT_MODE
+          default: '{odl-snat-mode}'
+          description: 'The SNAT mode to be configured - options are conntrack/controller.'
+
+    scm:
+      - integration-gerrit-scm:
+          basedir: 'test'
+          refspec: '$PATCHREFSPEC'
+          branch: 'master'
+
+    wrappers:
+      - opendaylight-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - timed: '{schedule}'
+
+    builders:
+      - lf-infra-pre-build
+      - integration-apex-stack-3-type:
+          stack-template: '{stack-template}'
+          vm_0_count: '{apex_controller_count}'
+          vm_0_flavor: '{apex_controller_flavor}'
+          vm_0_image: '{apex_controller_image}'
+          vm_1_count: '1'
+          vm_1_flavor: '{apex_compute_0_flavor}'
+          vm_1_image: '{apex_compute_0_image}'
+          vm_2_count: '1'
+          vm_2_flavor: '{apex_compute_1_flavor}'
+          vm_2_image: '{apex_compute_1_image}'
+      - integration-install-robotframework
+      - integration-detect-variables
+      - integration-install-common-functions
+      - inject:
+          properties-file: 'env.properties'
+      - integration-get-apex-addresses
+      - inject:
+          properties-file: 'slave_addresses.txt'
+      - integration-apex-run-tests
+      - integration-cleanup-tmp
+
+    publishers:
+      - integration-robot-tempest:
+          unstable-if: 0.0
+          pass-if: 100.0
+      - email-notification:
+          email-recipients: '{email-recipients}'
+          email-prefix: '[{project}]'
+      - integration-csit-archive-build
+      - integration-csit-run-postscript
+      - releng-openstack-stack-delete
+      - lf-infra-publish
index da4fb8f3dffaa01135a6681d84e3b2b5b382dd50..43fa3a267b97b23369038d120615bb979df1bf23 100644 (file)
@@ -6,6 +6,7 @@
     jobs:
       - 'integration-patch-test-{stream}'
       - 'integration-multipatch-test-{stream}'
+      - 'integration-merge-dashboard'
       - '{project-name}-rtd-jobs':
           build-node: centos7-builder-2c-2g
           project-pattern: integration/test
 
     # CSIT Lists in defaults.yaml
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           mvn-version: 'mvn35'
+          csit-list: !include: csit-jobs-neon.lst
+          build-order: >
+              odlparent yangtools infrautils mdsal controller serviceutils aaa netconf
+              daexim ovsdb neutron openflowplugin coe genius lispflowmapping sfc netvirt
+              bgpcep integration/distribution
+
+      - fluorine:
+          branch: 'stable/fluorine'
+          mvn-version: 'mvn35'
           csit-list: !include: csit-jobs-fluorine.lst
           build-order: >
-              odlparent yangtools infrautils mdsal controller aaa netconf daexim bgpcep
-              ovsdb neutron lispflowmapping openflowplugin coe genius sfc netvirt
+              odlparent yangtools infrautils mdsal controller serviceutils aaa netconf
+              daexim ovsdb neutron openflowplugin coe genius lispflowmapping sfc netvirt
+              bgpcep integration/distribution
 
       - oxygen:
           branch: 'stable/oxygen'
           mvn-version: 'mvn35'
           csit-list: !include: csit-jobs-oxygen.lst
           build-order: >
-              odlparent yangtools infrautils mdsal controller aaa netconf daexim bgpcep
-              ovsdb neutron lispflowmapping openflowplugin coe genius sfc netvirt
+              odlparent yangtools infrautils mdsal controller serviceutils aaa netconf
+              daexim ovsdb neutron openflowplugin coe genius lispflowmapping sfc netvirt
+              bgpcep integration/distribution
 
 - project:
     name: integration-distribution
 
     # CSIT Lists in defaults.yaml
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           csit-blacklist: >
               alto bier capwap centinel didm dluxapps groupbasedpolicy iotdm jsonrpc lacp
               l2switch messaging4transport nemo netide nic ocpplugin of-config p4plugin packetcable
               sdninterfaceapp sxp tsdr unimgr usc usecplugin vtn gate longevity sanity tdd tempest wip
+              aaa-csit-1node-keystone-all
+              netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-pike
+              netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-itm-direct
+              netvirt-csit-3node-1cmb
+              last-line-is-ignored-so-we-need-something-dummy-here-to-make-sure-the-real-last-line-is-used
+          csit-list: !include: csit-jobs-neon.lst
+          csit-weekly-list: '{csit-weekly-list-neon}'
+          csit-high-frequency-list: '{csit-high-frequency-list-neon}'
+      - fluorine:
+          branch: 'stable/fluorine'
+          csit-blacklist: >
+              alto bier capwap centinel didm dluxapps groupbasedpolicy iotdm jsonrpc lacp
+              l2switch messaging4transport nemo netide nic ocpplugin of-config p4plugin packetcable
+              sdninterfaceapp sxp tsdr unimgr usc usecplugin vtn gate longevity sanity tdd tempest wip
+              aaa-csit-1node-keystone-all
+              netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-pike
+              netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-itm-direct
+              netvirt-csit-3node-1cmb
+              last-line-is-ignored-so-we-need-something-dummy-here-to-make-sure-the-real-last-line-is-used
           csit-list: !include: csit-jobs-fluorine.lst
           csit-weekly-list: '{csit-weekly-list-fluorine}'
           csit-high-frequency-list: '{csit-high-frequency-list-fluorine}'
           csit-blacklist: >
               capwap centinel didm iotdm jsonrpc lacp messaging4transport netide nic
               ocpplugin sdninterfaceapp unimgr usecplugin gate longevity sanity tdd tempest wip
+              aaa-csit-1node-keystone-all groupbasedpolicy-csit-1node-1cmb-0ctl-0cmp-openstack-pike-openstack
+              netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-pike
+              netvirt-csit-1node-1cmb-0ctl-0cmp-openstack-queens-upstream-stateful-itm-direct
+              netvirt-csit-3node-1cmb
+              last-line-is-ignored-so-we-need-something-dummy-here-to-make-sure-the-real-last-line-is-used
           csit-list: !include: csit-jobs-oxygen.lst
           csit-weekly-list: '{csit-weekly-list-oxygen}'
           csit-high-frequency-list: '{csit-high-frequency-list-oxygen}'
       - 'integration-sanity-test-{stream}'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           karaf-version: odl
+          csit-sanity-list: '{csit-sanity-list-neon}'
+      - fluorine:
+          branch: 'stable/fluorine'
+          karaf-version: odl
           csit-sanity-list: '{csit-sanity-list-fluorine}'
       - oxygen:
           branch: 'stable/oxygen'
           karaf-version: karaf4
           csit-sanity-list: '{csit-sanity-list-oxygen}'
 
+- job-template:
+    name: 'integration-merge-dashboard'
+    project-type: freestyle
+    node: centos7-builder-2c-1g
+
+    properties:
+      - opendaylight-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+
+    parameters:
+      - opendaylight-infra-parameters:
+          os-cloud: '{os-cloud}'
+          project: '{project}'
+          branch: 'master'
+          refspec: 'refs/heads/master'
+          artifacts: '{archive-artifacts}'
+
+    scm:
+      - integration-gerrit-scm:
+          basedir: 'test'
+          refspec: '$GERRIT_REFSPEC'
+          branch: 'master'
+
+    wrappers:
+      - opendaylight-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - gerrit-trigger-patch-merged:
+          gerrit-server-name: '{gerrit-server-name}'
+          name: '{project}'
+          branch: 'master'
+          files: 'dashboard/**'
+          forbidden-files: ''
+
+    builders:
+      - config-file-provider:
+          files:
+            - file-id: odl-elastic-cloud
+              target: '$HOME/.netrc'
+      - integration-install-robotframework
+      # yamllint disable-line rule:line-length
+      - shell: python3 $WORKSPACE/test/csit/scripts/push_dashboard.py a4ff38b99ef2c7626450543021b4c134.us-east-1.aws.found.io:9243
+
+    publishers:
+      - lf-infra-publish
+      - email-notification:
+          email-recipients: '{email-recipients}'
+          email-prefix: '[{project-name}]'
+
 - job-template:
     name: 'integration-distribution-test-{stream}'
     # Goal: Verify a distribution through all system test available
     #####################
 
     project-type: freestyle
-    node: centos7-builder-2c-8g
+    node: centos7-builder-2c-2g
 
     properties:
       - lf-infra-properties:
     description: 'List of integration jobs'
     regex: '^integration-.*'
     <<: *releng_view_common
+
+- view:
+    name: csit-stable-f
+    description: 'List of stable integration jobs for managed projects'
+    job-name:
+      - aaa-csit-1node-authn-all-fluorine
+      - bgpcep-csit-1node-throughpcep-all-fluorine
+      - coe-csit-1node-container-networking-all-fluorine
+      - controller-csit-1node-akka1-all-fluorine
+      - controller-csit-1node-benchmark-all-fluorine
+      - controller-csit-1node-notifications-longevity-only-fluorine
+      - controller-csit-1node-rest-cars-perf-all-fluorine
+      - controller-csit-3node-benchmark-all-fluorine
+      - controller-csit-3node-drb-precedence-longevity-only-fluorine
+      - controller-csit-3node-rest-clust-cars-perf-ask-only-fluorine
+      - controller-csit-3node-rest-clust-cars-perf-tell-only-fluorine
+      - daexim-csit-1node-basic-only-fluorine
+      - daexim-csit-3node-clustering-basic-only-fluorine
+      - distribution-csit-1node-userfeatures-all-fluorine
+      - genius-csit-1node-upstream-only-fluorine
+      - genius-csit-3node-upstream-only-fluorine
+      - lispflowmapping-csit-1node-msmr-all-fluorine
+      - netconf-csit-1node-callhome-only-fluorine
+      - netconf-csit-1node-userfeatures-all-fluorine
+      - netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-sfc-fluorine
+      - netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine
+      - openflowplugin-csit-1node-flow-services-all-fluorine
+      - openflowplugin-csit-1node-longevity-only-fluorine
+      - openflowplugin-csit-1node-perf-bulkomatic-only-fluorine
+      - openflowplugin-csit-1node-perf-stats-collection-only-fluorine
+      - openflowplugin-csit-1node-sanity-only-fluorine
+      - openflowplugin-csit-1node-scale-link-only-fluorine
+      - openflowplugin-csit-1node-scale-only-fluorine
+      - openflowplugin-csit-1node-scale-switch-only-fluorine
+      - openflowplugin-csit-3node-clustering-bulkomatic-only-fluorine
+      - openflowplugin-csit-3node-clustering-only-fluorine
+      - ovsdb-csit-3node-upstream-clustering-only-fluorine
+      - sfc-csit-3node-docker-full-deploy-all-fluorine
+      - sfc-csit-3node-rest-basic-all-fluorine
+    <<: *releng_view_common
+
+- view:
+    name: csit-stable-ne
+    description: 'List of stable integration jobs for managed projects'
+    job-name:
+      - aaa-csit-1node-authn-all-neon
+      - bgpcep-csit-1node-throughpcep-all-neon
+      - coe-csit-1node-container-networking-all-neon
+      - controller-csit-1node-akka1-all-neon
+      - controller-csit-1node-benchmark-all-neon
+      - controller-csit-1node-notifications-longevity-only-neon
+      - controller-csit-1node-rest-cars-perf-all-neon
+      - controller-csit-3node-benchmark-all-neon
+      - controller-csit-3node-drb-precedence-longevity-only-neon
+      - controller-csit-3node-rest-clust-cars-perf-ask-only-neon
+      - controller-csit-3node-rest-clust-cars-perf-tell-only-neon
+      - daexim-csit-1node-basic-only-neon
+      - daexim-csit-3node-clustering-basic-only-neon
+      - distribution-csit-1node-userfeatures-all-neon
+      - genius-csit-1node-upstream-only-neon
+      - genius-csit-3node-upstream-only-neon
+      - lispflowmapping-csit-1node-msmr-all-neon
+      - netconf-csit-1node-callhome-only-neon
+      - netconf-csit-1node-userfeatures-all-neon
+      - netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-sfc-neon
+      - netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-neon
+      - openflowplugin-csit-1node-flow-services-all-neon
+      - openflowplugin-csit-1node-longevity-only-neon
+      - openflowplugin-csit-1node-perf-bulkomatic-only-neon
+      - openflowplugin-csit-1node-perf-stats-collection-only-neon
+      - openflowplugin-csit-1node-sanity-only-neon
+      - openflowplugin-csit-1node-scale-link-only-neon
+      - openflowplugin-csit-1node-scale-only-neon
+      - openflowplugin-csit-1node-scale-switch-only-neon
+      - openflowplugin-csit-3node-clustering-bulkomatic-only-neon
+      - openflowplugin-csit-3node-clustering-only-neon
+      - ovsdb-csit-3node-upstream-clustering-only-neon
+      - sfc-csit-3node-docker-full-deploy-all-neon
+      - sfc-csit-3node-rest-basic-all-neon
+    <<: *releng_view_common
index eb61446ec9a3e4829ceff6dd1a7a36c7ecf6e250..82220dff32a0f00ae3a6737828296febf4a7a15a 100755 (executable)
@@ -43,6 +43,7 @@ if [[ "${PATCHES_TO_BUILD}" == *topic* ]]; then
     echo "Create topic ${TOPIC} patch list"
     PATCHES_TO_BUILD=""
     read -ra PROJECT_LIST <<< "${BUILD_ORDER}"
+    echo "List of projects to check patch in topic: ${PROJECT_LIST[*]}"
     for PROJECT in "${PROJECT_LIST[@]}"; do
         # get all patches number for a topic for a given project
         IFS=$'\n' read -rd '' -a GERRIT_PATCH_LIST <<< "$(ssh -p 29418 jenkins-$SILO@git.opendaylight.org gerrit query status:open topic:${TOPIC} project:${PROJECT} \
@@ -71,12 +72,16 @@ if [[ "${PATCHES_TO_BUILD}" == *topic* ]]; then
             read -rd '' -a SORT_REF_LIST <<< "${SORT_REF[*]}" || true
             # add refspec to patches to build list
             for PATCH in "${SORT_REF_LIST[@]}"; do
-                PATCHES_TO_BUILD="${PATCHES_TO_BUILD}:${PATCH/*-/}"
+                # if project is odlparent or yangtools, do not cherry-pick
+                if [[ "${PROJECT}" == "odlparent" || "${PROJECT}" == "yangtools" ]]; then
+                    PATCHES_TO_BUILD="${PATCHES_TO_BUILD}=${PATCH/*-/}"
+                else
+                    PATCHES_TO_BUILD="${PATCHES_TO_BUILD}:${PATCH/*-/}"
+                fi
             done
         fi
     done
 fi
-
 echo "Patches to build: ${PATCHES_TO_BUILD}"
 IFS=',' read -ra PATCHES <<< "${PATCHES_TO_BUILD}"
 
index a56fd02a5ea8fcbd1958554154b211c91b914526..b6da8dcf421b8abae559d5e5b4047542902e28bc 100644 (file)
@@ -22,7 +22,9 @@ jobs=($(xmlstarlet sel -t -m '//hudson/job' \
 job_list="${WORKSPACE}/jjb/integration/csit-jobs-${STREAM}.lst"
 rm "$job_list"
 for job in "${jobs[@]}"; do
+    echo "Checking if $job is blacklisted."
     if [[ ! $job =~ update-csit-tests|${CSIT_BLACKLIST// /\|} ]]; then
         echo "${job}," >> "$job_list"
+        echo "    Added $job to job list."
     fi
 done
index faac19f1eee7238132133e9159cfc8fe7a667425..df7ec1e491997661772e5225a456d3690fe8424b 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 0d903164ee99320a28b198fb2ddebc2533ef8489..6a2589070424896f3d512e0855056781ade7f12b 100644 (file)
@@ -1,4 +1,22 @@
 ---
+- project:
+    name: iotdm-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'iotdm'
+    project-name: 'iotdm'
+    branch: 'master'
+    build-node: centos7-builder-2c-8g
+    mvn-settings: 'iotdm-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'aaa-merge-{stream}'
+    email-upstream: '[iotdm] [aaa]'
+
+    # Used by the release job
+    staging-profile-id: 96fd6e9453970
+
 - project:
     name: iotdm-fluorine
     jobs:
@@ -7,7 +25,7 @@
     stream: fluorine
     project: 'iotdm'
     project-name: 'iotdm'
-    branch: 'master'
+    branch: 'stable/fluorine'
     build-node: centos7-builder-2c-8g
     mvn-settings: 'iotdm-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
index 49f1336b668df0a31972acc4914ca9680a59092e..c6a0cb8fec4a44b78d87b6f8fe282e6cd1cca4a1 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 109d7e9194142e11acaa2485a7bb95cb7ee6c9bf..400b6d7f341fd05a8f6f74940697d5da92059f9a 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: jsonrpc-neon
+    jobs:
+      - odl-maven-jobs
+
+    project: 'jsonrpc'
+    project-name: 'jsonrpc'
+    stream: neon
+    branch: 'master'
+    mvn-settings: 'jsonrpc-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream},mdsal-merge-{stream}'
+    email-upstream: '[jsonrpc] [odlparent] [yangtools] [controller] [mdsal]'
+
+    # Used by the release job
+    staging-profile-id: 96fdf4408765d
+
 - project:
     name: jsonrpc-fluorine
     jobs:
@@ -7,7 +24,7 @@
     project: 'jsonrpc'
     project-name: 'jsonrpc'
     stream: fluorine
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'jsonrpc-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream},mdsal-merge-{stream}'
index 5b7bd6afc08e9d5bfca702d7d451cffc90357534..332eddb349ec5fdd31ad6da6653e8e86807f9927 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 615aee50e6c43633bac02b7d170200a02889efc6..2366e31e099b7e3406ddc1548a8144066168b2d5 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 52756aa828f01e59293d5220a9c4036c774cee09..3c7fd0e8171f2c16abd99207cdd63336c1717012 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index d579e9f51ba3f92db5009dcf4ff62353a1fa6f8a..8634fd4497c213d298f45643ef763eda7d0050b5 100644 (file)
@@ -9,8 +9,10 @@
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 57205f112c8b70961abf8ab939e39f2e9a3320a8..4f14ebcbdb303423dd44d38dcf31fbde46ceae24 100644 (file)
@@ -1,4 +1,26 @@
 ---
+- project:
+    name: l2switch-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'l2switch'
+    project-name: 'l2switch'
+    branch: 'master'
+    mvn-settings: 'l2switch-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
+    dependencies: >
+        odlparent-merge-{stream},
+        yangtools-merge-{stream},
+        controller-merge-{stream},
+        openflowjava-merge-{stream},
+        openflowplugin-merge-{stream}
+    email-upstream: '[l2switch] [odlparent] [yangtools] [controller] [openflowjava] [openflowplugin]'
+
+    # Used by the release job
+    staging-profile-id: 96fee85953ca0
+
 - project:
     name: l2switch-fluorine
     jobs:
@@ -7,7 +29,7 @@
     stream: fluorine
     project: 'l2switch'
     project-name: 'l2switch'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'l2switch-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
     dependencies: >
index a1ba81b9430c316a0c59c1827544f310912e9549..1cc1b232f97b2d4af776b5204c16339de3b74256 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
@@ -22,7 +24,7 @@
       - all:
           scope: 'all'
 
-    tools_system_image: ZZCI - Ubuntu 16.04 - mininet-ovs-25 - 20180723-235543.682
+    tools_system_image: ZZCI - Ubuntu 16.04 - mininet-ovs-25 - 20181029-223449.514
 
     # Features to install
     install-features: 'odl-lacp-ui'
index aa257c0ffa0e5d1b4814f6c8fca685d98ef47104..4a81fba6db65e924fae1d907f1bdde5e41716ea1 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: lacp-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'lacp'
+    project-name: 'lacp'
+    branch: 'master'
+    mvn-settings: 'lacp-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'openflowjava-merge-{stream},openflowplugin-merge-{stream}'
+    email-upstream: '[lacp] [openflowjava] [openflowplugin]'
+
+    # Used by the release job
+    staging-profile-id: 96ff6c0ff6ab1
+
 - project:
     name: lacp-fluorine
     jobs:
@@ -7,7 +24,7 @@
     stream: fluorine
     project: 'lacp'
     project-name: 'lacp'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'lacp-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'openflowjava-merge-{stream},openflowplugin-merge-{stream}'
index 65482ff29b024d3fc7656ed58ddef7b9ca55fdf6..a01c97fc75e216601ff6b266f8ca84aa90eccde0 100644 (file)
@@ -12,7 +12,7 @@
     branch: '*'
 
     git-url: https://gerrit.linuxfoundation.org/infra/$GERRIT_PROJECT
-    gerrit-server-name: LinuxFoundation
+    gerrit-server-name: lf-releng
 
 - project:
     name: lf-infra-ci-workshop
@@ -26,7 +26,7 @@
     branch: '*'
 
     git-url: https://gerrit.linuxfoundation.org/infra/$GERRIT_PROJECT
-    gerrit-server-name: LinuxFoundation
+    gerrit-server-name: lf-releng
 
 - project:
     name: lf-infra-common-packer
@@ -44,7 +44,7 @@
     branch: '*'
 
     git-url: https://gerrit.linuxfoundation.org/infra/$GERRIT_PROJECT
-    gerrit-server-name: LinuxFoundation
+    gerrit-server-name: lf-releng
 
 - project:
     name: lf-infra-docs
@@ -62,7 +62,7 @@
     branch: '*'
 
     git-url: https://gerrit.linuxfoundation.org/infra/$GERRIT_PROJECT
-    gerrit-server-name: LinuxFoundation
+    gerrit-server-name: lf-releng
 
 - project:
     name: lf-infra-docs-conf
@@ -80,7 +80,7 @@
     branch: '*'
 
     git-url: https://gerrit.linuxfoundation.org/infra/$GERRIT_PROJECT
-    gerrit-server-name: LinuxFoundation
+    gerrit-server-name: lf-releng
 
 - project:
     name: lf-infra-global-jjb
@@ -98,7 +98,7 @@
     branch: '*'
 
     git-url: https://gerrit.linuxfoundation.org/infra/$GERRIT_PROJECT
-    gerrit-server-name: LinuxFoundation
+    gerrit-server-name: lf-releng
 
 - project:
     name: lf-infra-lftools
     branch: '*'
 
     git-url: https://gerrit.linuxfoundation.org/infra/$GERRIT_PROJECT
-    gerrit-server-name: LinuxFoundation
+    gerrit-server-name: lf-releng
 
 - project:
     name: lf-infra-license-checker
     branch: '*'
 
     git-url: https://gerrit.linuxfoundation.org/infra/$GERRIT_PROJECT
-    gerrit-server-name: LinuxFoundation
+    gerrit-server-name: lf-releng
 
 - view:
     name: lf-infra
index 74b9a140f99d1f4e23b733978fb673b4c0ba555c..505a86a53a0cf70bb60ec0fba134bbf892e25721 100644 (file)
@@ -15,7 +15,7 @@
     branch: '*'
 
     git-url: https://gerrit.linuxfoundation.org/infra/$GERRIT_PROJECT
-    gerrit-server-name: LinuxFoundation
+    gerrit-server-name: lf-releng
 
 - view:
     name: lfn
index 3ed9a65064bf09d82557ea38f2124dbeb5e0dbae..a08c79e5a82be0e4f12c6288d253eab2eb158f61 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 85662fa097cda07cbe0d466bfc259a5c15eb7a82..9017bc0674e0d966731c45eb926e3f4a7d425b89 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index a927ee0b89ad242ed52d8ff73887df4623d086ea..5420877901a9813b0d9198f16717ebbdc14062de 100644 (file)
@@ -1,15 +1,50 @@
 ---
+- project:
+    name: lispflowmapping-neon
+    jobs:
+      - '{project-name}-distribution-check-{stream}'
+      - '{project-name}-maven-javadoc-jobs'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: lispflowmapping
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-lispflowmapping/47783/
+          rtd-token: 181be9dd804e4969b9f318a6f1988e3cbee9d9a8
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'lispflowmapping'
+    project-name: 'lispflowmapping'
+    branch: 'master'
+    mvn-settings: 'lispflowmapping-settings'
+    mvn-goals: 'clean deploy findbugs:findbugs javadoc:aggregate -DrepoBuild'
+    mvn-opts: '-Xmx2048m -XX:MaxPermSize=512m -Dmaven.compile.fork=true'
+    dependencies: 'controller-merge-{stream},odlparent-merge-{stream},yangtools-merge-{stream},neutron-merge-{stream}'
+    email-upstream: '[lispflowmapping] [controller] [odlparent] [yangtools] [neutron]'
+    archive-artifacts: >
+        **/*.log
+        **/target/surefire-reports/*-output.txt
+
+    build-node: centos7-builder-8c-8g
+
+    # Used by the release job
+    staging-profile-id: 96fff2503b766
+
 - project:
     name: lispflowmapping-fluorine
     jobs:
       - '{project-name}-distribution-check-{stream}'
       - '{project-name}-maven-javadoc-jobs'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: lispflowmapping
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-lispflowmapping/47783/
+          rtd-token: 181be9dd804e4969b9f318a6f1988e3cbee9d9a8
       - odl-maven-jobs
 
     stream: fluorine
     project: 'lispflowmapping'
     project-name: 'lispflowmapping'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'lispflowmapping-settings'
     mvn-goals: 'clean deploy findbugs:findbugs javadoc:aggregate -DrepoBuild'
     mvn-opts: '-Xmx2048m -XX:MaxPermSize=512m -Dmaven.compile.fork=true'
index 70cebc427a5d6a4b66231ee00a6fd57f356c762d..0f36f54fe2a90722147fc89ee399f8563d655062 100644 (file)
@@ -6,13 +6,16 @@
 
     # The project name
     project: 'mdsal'
+    disable-job: true
 
     # The functionality under test
     functionality: 'bindingv1'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 63c64c816e9caaf726bcba59af6810b29a248a98..ffafa87c310ffd9849f5f0b0b1957fe15104a832 100644 (file)
@@ -7,9 +7,12 @@
     project: 'mdsal'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           os-branch: 'queens'
+      - fluorine:
+          branch: 'stable/fluorine'
+          os-branch: 'queens'
       - oxygen:
           branch: 'stable/oxygen'
           os-branch: 'queens'
@@ -27,4 +30,4 @@
 
       - genius:
           csit-list: >
-              genius-csit-1node-gate-all-{stream}
+              genius-csit-1node-gate-only-{stream}
index 8eec4af4427b170079100614c82b58586e324221..8e4973e3edeb95511957650e16698427cb255df5 100644 (file)
@@ -1,4 +1,69 @@
 ---
+- project:
+    name: mdsal-master
+    jobs:
+      - '{project-name}-maven-javadoc-jobs':
+          mvn-version: 'mvn33'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: mdsal
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-mdsal/44052/
+          rtd-token: a56d6212dd3de3eef12642affe8a6100cc8bc002
+      - odl-maven-jobs
+
+    project: mdsal
+    project-name: mdsal
+    branch: master
+    stream: master
+
+    mvn-settings: 'mdsal-settings'
+    mvn-opts: '-Xmx2048m'
+    sign-artifacts: true
+
+    dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream}'
+    email-upstream: '[mdsal] [odlparent] [yangtools]'
+    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: a674173c7b29d
+
+- project:
+    name: mdsal-neon
+    jobs:
+      - '{project-name}-distribution-check-{stream}':
+          mvn-version: 'mvn35'
+          distribution_branch: master
+      - '{project-name}-maven-javadoc-jobs':
+          mvn-version: 'mvn33'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: mdsal
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-mdsal/44052/
+          rtd-token: a56d6212dd3de3eef12642affe8a6100cc8bc002
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'mdsal'
+    project-name: 'mdsal'
+    branch: 'v2.6.x'
+    mvn-settings: 'mdsal-settings'
+    mvn-goals: '-Dmaven.compile.fork=true clean deploy -Dintegrationtests'
+    mvn-opts: '-Xmx2048m'
+    sign-artifacts: true
+    build-node: centos7-builder-8c-8g
+    build-timeout: 90
+    dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream}'
+    email-upstream: '[mdsal] [odlparent] [yangtools]'
+
+    # Used by the release job
+    staging-profile-id: a674173c7b29d
+
 - project:
     name: mdsal-fluorine
     jobs:
     stream: fluorine
     project: 'mdsal'
     project-name: 'mdsal'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'mdsal-settings'
     mvn-goals: '-Dmaven.compile.fork=true clean deploy -Dintegrationtests'
-    mvn-opts: '-Xmx2048m -XX:MaxPermSize=1024m'
+    mvn-opts: '-Xmx2048m'
     build-node: centos7-builder-8c-8g
     build-timeout: 90
     dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream}'
     branch: 'stable/oxygen'
     mvn-settings: 'mdsal-settings'
     mvn-goals: '-Dmaven.compile.fork=true clean deploy -Dintegrationtests'
-    mvn-opts: '-Xmx2048m -XX:MaxPermSize=1024m'
+    mvn-opts: '-Xmx2048m'
     build-node: centos7-builder-8c-8g
     build-timeout: 90
     dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream}'
 - project:
     name: mdsal-sonar
     jobs:
-      - gerrit-maven-sonar
+      - gerrit-maven-sonar:
+          mvn-params: >
+            -Dodl.jacoco.aggregateFile=$WORKSPACE/target/jacoco.exec
+            -Dsonar.jacoco.reportPath=$WORKSPACE/target/jacoco.exec
+
     project: 'mdsal'
     project-name: 'mdsal'
     branch: 'master'
     build-node: centos7-builder-8c-8g
     mvn-settings: 'mdsal-settings'
     mvn-goals: '-Dmaven.compile.fork=true clean deploy -Dintegrationtests'
-    mvn-opts: '-Xmx2048m -XX:MaxPermSize=1024m'
+    mvn-opts: '-Xmx2048m'
 
 - view:
     name: mdsal
diff --git a/jjb/messaging4transport/messaging4transport-csit-basic.yaml b/jjb/messaging4transport/messaging4transport-csit-basic.yaml
deleted file mode 100644 (file)
index 3c62062..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
----
-- project:
-    name: messaging4transport-csit-basic
-    jobs:
-      - inttest-csit-1node
-      - inttest-csit-verify-1node
-
-    # The project name
-    project: 'messaging4transport'
-
-    # The functionality under test
-    functionality: 'basic'
-
-    # Project branches
-    stream:
-      - fluorine:
-          branch: 'master'
-      - oxygen:
-          branch: 'stable/oxygen'
-
-    install:
-      - all:
-          scope: 'all'
-
-    # Features to install
-    install-features: 'odl-messaging4transport-api,odl-messaging4transport,odl-restconf'
-
-    # Robot custom options
-    robot-options: ''
diff --git a/jjb/messaging4transport/messaging4transport.yaml b/jjb/messaging4transport/messaging4transport.yaml
deleted file mode 100644 (file)
index 484a036..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
----
-- project:
-    name: messaging4transport-fluorine
-    jobs:
-      - '{project-name}-maven-javadoc-jobs'
-      - odl-maven-jobs
-
-    stream: fluorine
-    project: 'messaging4transport'
-    project-name: 'messaging4transport'
-    branch: 'master'
-    mvn-settings: 'messaging4transport-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-    dependencies: ''
-    email-upstream: '[messaging4transport]'
-
-    # Used by the release job
-    staging-profile-id: a677283157db4
-
-- project:
-    name: messaging4transport-oxygen
-    jobs:
-      - '{project-name}-distribution-check-{stream}'
-      - '{project-name}-maven-javadoc-jobs'
-      - odl-maven-jobs
-
-    stream: oxygen
-    project: 'messaging4transport'
-    project-name: 'messaging4transport'
-    branch: 'stable/oxygen'
-    mvn-settings: 'messaging4transport-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-    dependencies: ''
-    email-upstream: '[messaging4transport]'
-
-    # Used by the release job
-    staging-profile-id: a677283157db4
-
-- project:
-    name: messaging4transport-sonar
-    jobs:
-      - gerrit-maven-sonar
-    project: 'messaging4transport'
-    project-name: 'messaging4transport'
-    branch: 'master'
-    mvn-settings: 'messaging4transport-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-
-- view:
-    name: messaging4transport
-    description: 'List of messaging4transport jobs'
-    regex: '^messaging4transport-.*'
-    <<: *releng_view_common
index c37bcce61334647bf9839f91c10485421e278643..84ceac995803467618d3021d95302b558734f20e 100644 (file)
@@ -1,4 +1,22 @@
 ---
+- project:
+    name: natapp-neon
+    jobs:
+      - '{project-name}-maven-javadoc-jobs'
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'natapp'
+    project-name: 'natapp'
+    branch: 'master'
+    mvn-settings: 'natapp-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'openflowplugin-merge-{stream}'
+    email-upstream: '[natapp] [openflowplugin]'
+
+    # Used by the release job
+    staging-profile-id: a679c0f4f08a8
+
 - project:
     name: natapp-fluorine
     jobs:
@@ -8,7 +26,7 @@
     stream: fluorine
     project: 'natapp'
     project-name: 'natapp'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'natapp-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'openflowplugin-merge-{stream}'
index e856c23bc968b8ae789c4f342d7b7d0c56d00355..d56aeb22e9fa3622d1f08dd6886d27255f15f962 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 890cdea8fc734f640773e4a7a3f6046810e86189..531c603dca933b61a1a37c06a3e067dc37550565 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: nemo-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'nemo'
+    project-name: 'nemo'
+    branch: 'master'
+    mvn-settings: 'nemo-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: ''
+    email-upstream: '[nemo]'
+
+    # Used by the release job
+    staging-profile-id: a67a9890f6202
+
 - project:
     name: nemo-fluorine
     jobs:
@@ -7,7 +24,7 @@
     stream: fluorine
     project: 'nemo'
     project-name: 'nemo'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'nemo-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: ''
index e107549d24855354edeaa2a24102c981726580b3..c2dbc53208e0cb47c0b21a756652e64e4f4c9429 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 35393c283ec5a1c8d53adaef248536e7d3f16bd8..18da27dc561db0f1efee8be8d9c8f9b1d98cce90 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 0deef710b81d9bff5fb259e1f93e5ad17044c318..1aa626f0a79d32079fedc4e71af20ba27cd57bd3 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index f7691ee3a49673b112e52d4aabf85a2583960e37..7e85868e0045b347133ca037cad87c54cac2eacd 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 21073fdd8a850b60ac67b9c06ebf3786709d94b8..8c2119f2cfbe74838d03dabb3bfb9f8a87b1e505 100644 (file)
@@ -7,9 +7,12 @@
     project: 'netconf'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           os-branch: 'queens'
+      - fluorine:
+          branch: 'stable/fluorine'
+          os-branch: 'queens'
       - oxygen:
           branch: 'stable/oxygen'
           os-branch: 'queens'
@@ -30,4 +33,4 @@
 
       - genius:
           csit-list: >
-              genius-csit-1node-gate-all-{stream}
+              genius-csit-1node-gate-only-{stream}
index 7c63b90f2710bedda099e907c7d9b2564a76d62e..6070964f4e70201ce8bc34582f7df72fcb1f879f 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
     install:
-      - all:
-          scope: 'all'
+      - only:
+          scope: 'only'
 
     # Features to install
     install-features: >
index bd81d2c49c2cbbe699006675b6a32535be018777..fdbd77aaa90ea0f827117a44f47d383cb80e8d44 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 54d9cbd21c063843dbd8e60bd8694ba4c0e36b67..33024be2af76dad57165b3df94ec384d2dacb283 100644 (file)
@@ -1,14 +1,45 @@
 ---
+- project:
+    name: netconf-neon
+    jobs:
+      - '{project-name}-distribution-check-{stream}'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: netconf
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-netconf/48397/
+          rtd-token: aee2df909686ab7ba36f2ed08d90bdcf81f7b8dc
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'netconf'
+    project-name: 'netconf'
+    branch: 'master'
+    build-node: centos7-builder-2c-8g
+    mvn-settings: 'netconf-settings'
+    mvn-goals: 'clean deploy -Pintegrationtests'
+    mvn-opts: '-Xmx2048m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
+    build-timeout: 90
+    dependencies: 'aaa-merge-{stream},controller-merge-{stream},odlparent-merge-{stream},yangtools-merge-{stream}'
+    email-upstream: '[netconf] [aaa] [controller] [odlparent] [yangtools]'
+
+    # Used by the release job
+    staging-profile-id: a67b22fc3663f
+
 - project:
     name: netconf-fluorine
     jobs:
       - '{project-name}-distribution-check-{stream}'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: netconf
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-netconf/48397/
+          rtd-token: aee2df909686ab7ba36f2ed08d90bdcf81f7b8dc
       - odl-maven-jobs
 
     stream: fluorine
     project: 'netconf'
     project-name: 'netconf'
-    branch: 'master'
+    branch: 'stable/fluorine'
     build-node: centos7-builder-2c-8g
     mvn-settings: 'netconf-settings'
     mvn-goals: 'clean deploy -Pintegrationtests'
diff --git a/jjb/netide/netide-csit-basic.yaml b/jjb/netide/netide-csit-basic.yaml
deleted file mode 100644 (file)
index 7677a65..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
----
-- project:
-    name: netide-csit-basic
-    jobs:
-      - inttest-csit-verify-1node
-      - inttest-csit-1node
-
-    # The project name
-    project: 'netide'
-
-    # The functionality under test
-    functionality: 'basic'
-
-    # Project branches
-    stream:
-      - fluorine:
-          branch: 'master'
-      - oxygen:
-          branch: 'stable/oxygen'
-
-    install:
-      - all:
-          scope: 'all'
-
-    # Features to install
-    install-features: 'odl-openflowplugin-flow-services-ui,odl-netide-rest'
-
-    # Robot custom options
-    robot-options: ''
index 24439555db4e0795c5cdfbac907cf5cddb1b1a0d..44281fe5f01ec75d1444e96400b5845dff09133c 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: netide-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'netide'
+    project-name: 'netide'
+    branch: 'master'
+    mvn-settings: 'netide-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'openflowjava-merge-{stream}'
+    email-upstream: '[netide] [openflowjava]'
+
+    # Used by the release job
+    staging-profile-id: a67bab3755815
+
 - project:
     name: netide-fluorine
     jobs:
@@ -7,7 +24,7 @@
     stream: fluorine
     project: 'netide'
     project-name: 'netide'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'netide-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'openflowjava-merge-{stream}'
diff --git a/jjb/netvirt/cleanup-docker.sh b/jjb/netvirt/cleanup-docker.sh
deleted file mode 100644 (file)
index 9aff8ed..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-
-set -e
-
-echo "---> Cleaning up OVS $OVS_VERSION"
-docker logs "$CID" > "$WORKSPACE/docker-ovs-${OVS_VERSION}.log"
-docker stop "$CID"
-docker rm "$CID"
-rm env.properties
-
-docker images
diff --git a/jjb/netvirt/include-setup-hwvtep-docker.sh b/jjb/netvirt/include-setup-hwvtep-docker.sh
deleted file mode 100644 (file)
index 7860c4b..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash
-
-set -e
-
-echo "---> Configuring OVS for HW VTEP Emulator"
-/usr/bin/docker exec "$CID" supervisorctl stop ovsdb-server
-/usr/bin/docker exec "$CID" supervisorctl start ovsdb-server-vtep
-/usr/bin/docker exec "$CID" ovs-vsctl add-br br-vtep
-/usr/bin/docker exec "$CID" ovs-vsctl add-port br-vtep eth0
-/usr/bin/docker exec "$CID" vtep-ctl add-ps br-vtep
-/usr/bin/docker exec "$CID" vtep-ctl add-port br-vtep eth0
-/usr/bin/docker exec "$CID" vtep-ctl set Physical_Switch br-vtep tunnel_ips=192.168.254.20
-/usr/bin/docker exec "$CID" vtep-ctl set-manager ptcp:6640
-sleep 5
-echo "---> Starting OVS HW VTEP Emulator"
-/usr/bin/docker exec "$CID" supervisorctl start ovs-vtep
-sleep 5
diff --git a/jjb/netvirt/include-setup-misc.sh b/jjb/netvirt/include-setup-misc.sh
deleted file mode 100644 (file)
index 93e1b8d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/bash
-
-set -e
-
-echo "---> Setting up controller IP"
-CONTROLLER_IP=$(facter ipaddress)
-echo "CONTROLLER_IP=${CONTROLLER_IP}" > env.properties
-
-echo "---> Loading OVS kernel module"
-sudo /usr/sbin/modprobe openvswitch
-
-echo "---> Verifying OVS kernel module loaded"
-/usr/sbin/lsmod | /usr/bin/grep openvswitch
diff --git a/jjb/netvirt/netvirt-apex-images.yaml b/jjb/netvirt/netvirt-apex-images.yaml
new file mode 100644 (file)
index 0000000..bb3dfe7
--- /dev/null
@@ -0,0 +1,36 @@
+---
+- project:
+    name: netvirt-apex-image-management
+    jobs:
+      - 'netvirt-apex-image-management'
+
+    project: 'netvirt'
+    os-cloud: vex
+
+- job-template:
+    name: 'netvirt-apex-image-management'
+    node: 'centos7-apex-2c-2g'
+
+    parameters:
+      - string:
+          name: OS_CLOUD
+          default: '{os-cloud}'
+          description: |
+              The name of a cloud configuration in clouds.yaml. OS_CLOUD is a
+              variable name that is significant to openstack client as a
+              environment variable. Please refer to the documentation for
+              further details.
+              https://docs.openstack.org/developer/python-openstackclient/
+
+    wrappers:
+      # Listed after to override openstack-infra-wrappers clouds.yaml definition
+      - config-file-provider:
+          files:
+            - file-id: clouds-yaml
+              target: '$HOME/.config/openstack/clouds.yaml'
+
+    builders:
+      - integration-apex-image-manager
+
+    triggers:
+      - timed: '@weekly'
index de4afa6d0dcf46a3de520c96b1ad68288fbfa375..c9a18d2bf7205befb2d2715048f6e81ea3a1399a 100644 (file)
@@ -1,11 +1,11 @@
 ---
 - project:
-    name: netvirt-csit-hwvtep-openstack-integration-fluorine
+    name: netvirt-csit-hwvtep-openstack-integration-neon
     jobs:
       - inttest-csit-hwvtep-openstack
 
     project: 'netvirt'
-    stream: 'fluorine'
+    stream: 'neon'
     branch: 'master'
     testplan: '{project}-{topology}-l2gw-openstack.txt'
     odl-ml2-driver-version: 'v2'
@@ -16,7 +16,7 @@
     openstack_system_flavor: odl-highcpu-8
     openstack_system2_flavor: odl-highcpu-4
     tools_system_count: 2
-    tools_system_image: ZZCI - Ubuntu 16.04 - mininet-ovs-26 - 20180723-235543.774
+    tools_system_image: ZZCI - Ubuntu 16.04 - mininet-ovs-26 - 20181029-223513.438
     os-cmb-cnt: 0
     os-ctl-cnt: 1
     os-cmp-cnt: 2
       - gate-stateful
 
     openstack:
-      - pike:
-          openstack-branch: 'stable/pike'
-          odl-ml2-branch: 'stable/pike'
+      - queens:
+          openstack-branch: 'stable/queens'
+          odl-ml2-branch: 'stable/queens'
           odl-ml2-port-binding: 'pseudo-agentdb-binding'
-          openstack_system_image: '{openstack_system_image_pike}'
-          openstack_system2_image: '{openstack_system_image_pike}'
-          enable-openstack-network-services: '{openstack_legacy_default_network_services}'
+          openstack_system_image: '{openstack_system_image_queens}'
+          openstack_system2_image: '{openstack_system_image_queens}'
+
+- project:
+    name: netvirt-csit-hwvtep-openstack-integration-fluorine
+    jobs:
+      - inttest-csit-hwvtep-openstack
+
+    project: 'netvirt'
+    stream: 'fluorine'
+    branch: 'stable/fluorine'
+    testplan: '{project}-{topology}-l2gw-openstack.txt'
+    odl-ml2-driver-version: 'v2'
+    enable-openstack-services: 'placement-api,l2gw-plugin'
+    enable-openstack-compute-services: 'placement-client'
+    security-group-mode: 'stateful'
+    odl_system_flavor: odl-highcpu-8
+    openstack_system_flavor: odl-highcpu-8
+    openstack_system2_flavor: odl-highcpu-4
+    tools_system_count: 2
+    tools_system_image: ZZCI - Ubuntu 16.04 - mininet-ovs-26 - 20181029-223513.438
+    os-cmb-cnt: 0
+    os-ctl-cnt: 1
+    os-cmp-cnt: 2
+
+    # TODO: remove this flag and instead use the enable-openstack-services list to know if l2gw is enabled
+    enable-networking-l2gw: 'yes'
+
+    topology:
+      - 1node:
+          openstack_system2_count: 2
+          odl_system_count: 1
+          enable-haproxy: 'no'
+          install-features: 'odl-netvirt-openstack,decanter-collector-jmx,decanter-appender-elasticsearch'
+      - 3node:
+          openstack_system2_count: 2
+          odl_system_count: 3
+          enable-haproxy: 'yes'
+          install-features: 'odl-jolokia,odl-netvirt-openstack,decanter-collector-jmx,decanter-appender-elasticsearch'
+
+    functionality:
+      - upstream-stateful
+      - gate-stateful
+
+    openstack:
       - queens:
           openstack-branch: 'stable/queens'
           odl-ml2-branch: 'stable/queens'
     openstack_system_flavor: odl-highcpu-8
     openstack_system2_flavor: odl-highcpu-4
     tools_system_count: 2
-    tools_system_image: ZZCI - Ubuntu 16.04 - mininet-ovs-26 - 20180723-235543.774
+    tools_system_image: ZZCI - Ubuntu 16.04 - mininet-ovs-26 - 20181029-223513.438
     os-cmb-cnt: 0
     os-ctl-cnt: 1
     os-cmp-cnt: 2
       - gate-stateful
 
     openstack:
-      - pike:
-          openstack-branch: 'stable/pike'
-          odl-ml2-branch: 'stable/pike'
-          odl-ml2-port-binding: 'pseudo-agentdb-binding'
-          openstack_system_image: '{openstack_system_image_pike}'
-          openstack_system2_image: '{openstack_system_image_pike}'
-          enable-openstack-network-services: '{openstack_legacy_default_network_services}'
       - queens:
           openstack-branch: 'stable/queens'
           odl-ml2-branch: 'stable/queens'
diff --git a/jjb/netvirt/netvirt-csit-multi-apex.yaml b/jjb/netvirt/netvirt-csit-multi-apex.yaml
new file mode 100644 (file)
index 0000000..e43dae5
--- /dev/null
@@ -0,0 +1,47 @@
+---
+- project:
+    name: netvirt-csit-apex-integration-oxygen
+    jobs:
+      - inttest-csit-apex
+
+    project: 'netvirt'
+    stream:
+      - neon:
+          branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
+      - oxygen:
+          branch: 'stable/oxygen'
+    testplan: '{project}-{topology}-openstack.txt'
+
+    test-suites: 'openstack/connectivity/l2.robot
+                  openstack/connectivity/external_network.robot'
+
+    topology: '1node'
+
+    public-bridge: 'br-datacentre'
+    public-physical-network: 'datacentre'
+    odl-snat-mode: 'conntrack'
+
+    apex_controller_count: '1'
+    apex_controller_flavor: 'v1-standard-8'
+    apex_controller_image: 'ZZCI - OPNFV - apex - controller - 0'
+
+    apex_compute_0_flavor: 'v1-standard-4'
+    apex_compute_0_image: 'ZZCI - OPNFV - apex - compute - 0'
+
+    apex_compute_1_flavor: 'v1-standard-4'
+    apex_compute_1_image: 'ZZCI - OPNFV - apex - compute - 1'
+
+    os-cmb-cnt: 0
+    os-ctl-cnt: 1
+    os-cmp-cnt: 2
+
+    functionality:
+      - upstream-snat-conntrack
+      - gate-snat-conntrack:
+          gate-job: 'True'
+
+    openstack:
+      - queens:
+          openstack-branch: 'stable/queens'
index 6d41808236660568610c6fc7b18baad5c2662c9d..9d6eee6b1c393289781e59cb3b27a6ec0c386ddd 100644 (file)
@@ -1,12 +1,17 @@
 ---
 - project:
-    name: netvirt-csit-upgrade-openstack-integration-oxygen
+    name: netvirt-csit-upgrade-openstack-integration
     jobs:
       - inttest-csit-openstack
 
     project: 'netvirt'
-    stream: 'fluorine'
-    branch: 'master'
+
+    stream:
+      - neon:
+          branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
+
     testplan: '{project}-{topology}-openstack-upgrade.txt'
     odl-ml2-driver-version: 'v2'
     enable-openstack-services: 'placement-api,l2gw-plugin'
index f7cc8ff7fa8bbb7bd62cc357342903a3a0c6d399..40b7802053aecbae1cae75eee2c125f2fe1849d1 100644 (file)
@@ -1,11 +1,11 @@
 ---
 - project:
-    name: netvirt-csit-openstack-integration-fluorine
+    name: netvirt-csit-openstack-integration-neon
     jobs:
       - inttest-csit-openstack
 
     project: 'netvirt'
-    stream: 'fluorine'
+    stream: 'neon'
     branch: 'master'
     testplan: '{project}-{topology}-openstack.txt'
     odl-ml2-driver-version: 'v2'
           odl-snat-mode: 'conntrack'
 
     openstack:
-      - pike:
-          openstack-branch: 'stable/pike'
-          odl-ml2-branch: 'stable/pike'
+      - queens:
+          openstack-branch: 'stable/queens'
+          odl-ml2-branch: 'stable/queens'
           odl-ml2-port-binding: 'pseudo-agentdb-binding'
-          openstack_system_image: '{openstack_system_image_pike}'
-          openstack_system2_image: '{openstack_system_image_pike}'
-          enable-openstack-network-services: '{openstack_legacy_default_network_services}'
+          openstack_system_image: '{openstack_system_image_queens}'
+          openstack_system2_image: '{openstack_system_image_queens}'
+
+- project:
+    name: netvirt-csit-openstack-integration-fluorine
+    jobs:
+      - inttest-csit-openstack
+
+    project: 'netvirt'
+    stream: 'fluorine'
+    branch: 'stable/fluorine'
+    testplan: '{project}-{topology}-openstack.txt'
+    odl-ml2-driver-version: 'v2'
+    enable-openstack-services: 'placement-api,tempest'
+    enable-openstack-compute-services: 'placement-client'
+    security-group-mode: 'stateful'
+    odl_system_flavor: odl-highcpu-8
+    openstack_system_flavor: odl-highcpu-8
+    openstack_system2_flavor: odl-highcpu-4
+    os-cmb-cnt: 0
+    os-ctl-cnt: 1
+    os-cmp-cnt: 2
+
+    topology:
+      - 1node:
+          openstack_system2_count: 2
+          odl_system_count: 1
+          enable-haproxy: 'no'
+          install-features: 'odl-netvirt-openstack,decanter-collector-jmx,decanter-appender-elasticsearch'
+          robot-options: '-v FAIL_ON_EXCEPTIONS:True'
+      - 3node:
+          openstack_system2_count: 3
+          odl_system_count: 3
+          enable-haproxy: 'yes'
+          install-features: 'odl-jolokia,odl-netvirt-openstack,decanter-collector-jmx,decanter-appender-elasticsearch'
+
+    functionality:
+      - upstream-stateful
+      - upstream-stateful-itm-direct-tunnels:
+          enable-itm-direct-tunnels: 'true'
+      - upstream-stateful-snat-conntrack:
+          odl-snat-mode: 'conntrack'
+      - gate-stateful
+      - gate-stateful-itm-direct-tunnels:
+          enable-itm-direct-tunnels: 'true'
+      - gate-stateful-snat-conntrack:
+          odl-snat-mode: 'conntrack'
+      - gate-minimal-cluster:
+          testplan: '{project}-{topology}-minimal-openstack.txt'
+      # Job for Test Driven Development with it's own testplan to run new/non-passing suites. scheduled manually.
+      - gate-tdd-wip:
+          testplan: '{project}-{topology}-tdd-wip-openstack.txt'
+          schedule: ''
+      - tempest-stateful:
+          test-suites: 'openstack/tempest/tempest.robot'
+          testplan: '{project}-{topology}-openstack-tempest.txt'
+          schedule: '{schedule-daily}'
+      - tempest-stateful-snat-conntrack:
+          test-suites: 'openstack/tempest/tempest.robot'
+          testplan: '{project}-{topology}-openstack-tempest.txt'
+          odl-snat-mode: 'conntrack'
+          schedule: '{schedule-daily}'
+      - gate-tempest-stateful:
+          test-suites: 'openstack/tempest/tempest.robot'
+          testplan: '{project}-{topology}-openstack-tempest.txt'
+      - gate-tempest-stateful-snat-conntrack:
+          test-suites: 'openstack/tempest/tempest.robot'
+          testplan: '{project}-{topology}-openstack-tempest.txt'
+          odl-snat-mode: 'conntrack'
+
+    openstack:
       - queens:
           openstack-branch: 'stable/queens'
           odl-ml2-branch: 'stable/queens'
           odl-snat-mode: 'conntrack'
 
     openstack:
-      - pike:
-          openstack-branch: 'stable/pike'
-          odl-ml2-branch: 'stable/pike'
-          odl-ml2-port-binding: 'pseudo-agentdb-binding'
-          openstack_system_image: '{openstack_system_image_pike}'
-          openstack_system2_image: '{openstack_system_image_pike}'
-          enable-openstack-network-services: '{openstack_legacy_default_network_services}'
       - queens:
           openstack-branch: 'stable/queens'
           odl-ml2-branch: 'stable/queens'
     project: 'netvirt'
     security-group-mode: 'stateful'
     odl_system_flavor: odl-highcpu-4
-    openstack_system2_flavor: odl-highcpu-2
+    openstack_system2_flavor: odl-highcpu-8
     os-cmb-cnt: 0
     os-ctl-cnt: 1
     os-cmp-cnt: 2
           enable-openstack-plugins: 'networking-odl,networking-sfc'
           testplan: '{project}-extensions-sfc.txt'
 
-    stream:
-      - fluorine:
-          branch: 'master'
-      - oxygen:
-          branch: 'stable/oxygen'
-
     openstack:
       - queens:
           openstack-branch: 'stable/queens'
           openstack_system_image: '{openstack_system_image_queens}'
           openstack_system2_image: '{openstack_system_image_queens}'
 
+    stream:
+      - neon:
+          branch: 'master'
+          ovs-install: 'v2.9.2'
+      - fluorine:
+          branch: 'stable/fluorine'
+          ovs-install: 'v2.9.2'
+      - oxygen:
+          branch: 'stable/oxygen'
+          ovs-install: 'v2.6.1-nsh'
+          os-cmp-cnt: 1
+          openstack_system2_count: 1
+          openstack_system_image: '{openstack_system_image_pike}'
+          openstack_system2_image: '{openstack_system_image_pike}'
+
 - project:
-    name: netvirt-csit-1cmb-0ctl-0cmp-openstack-integration-fluorine
+    name: netvirt-csit-1cmb-0ctl-0cmp-openstack-integration
     jobs:
       - inttest-csit-openstack
 
     project: 'netvirt'
-    stream: 'fluorine'
-    branch: 'master'
     testplan: '{project}-{topology}-openstack.txt'
     odl-ml2-driver-version: 'v2'
     enable-openstack-services: 'n-cpu,placement-api,tempest'
     os-ctl-cnt: 0
     os-cmp-cnt: 0
 
+    stream:
+      - neon:
+          branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
+      - oxygen:
+          branch: 'stable/oxygen'
+
     topology:
       - 1node:
           openstack_system2_count: 0
           install-features: 'odl-netvirt-openstack,decanter-collector-jmx,decanter-appender-elasticsearch'
           robot-options: '-v FAIL_ON_EXCEPTIONS:True'
       - 3node:
-          openstack_system2_count: 3
+          openstack_system2_count: 1
           odl_system_count: 3
           enable-haproxy: 'yes'
           install-features: 'odl-jolokia,odl-netvirt-openstack,decanter-collector-jmx,decanter-appender-elasticsearch'
           odl-snat-mode: 'conntrack'
 
     openstack:
-      - pike:
-          openstack-branch: 'stable/pike'
-          odl-ml2-branch: 'stable/pike'
-          odl-ml2-port-binding: 'pseudo-agentdb-binding'
-          openstack_system_image: '{openstack_system_image_pike}'
-          openstack_system2_image: '{openstack_system_image_pike}'
-          enable-openstack-network-services: '{openstack_legacy_default_network_services}'
       - queens:
           openstack-branch: 'stable/queens'
           odl-ml2-branch: 'stable/queens'
diff --git a/jjb/netvirt/netvirt-dependencies.yaml b/jjb/netvirt/netvirt-dependencies.yaml
new file mode 100644 (file)
index 0000000..db1b70c
--- /dev/null
@@ -0,0 +1,93 @@
+---
+- project:
+    name: netvirt-thirdparty-quagga-dependencies
+    project: 'netvirt'
+    project-name: 'netvirt'
+    jobs:
+      - 'netvirt-thirdparty-quagga-{platform}'
+
+    quagga-version: '5'
+    mvn-opts: ''
+    mvn-params: ''
+    mvn-version: mvn35
+
+    # common parameters required for 'lf-infra-deploy-maven-file' builder
+    repo-id: 'thirdparty'
+    upload-files-dir: '$WORKSPACE/upload_files'
+    group-id: 'quagga$QUAGGA_VERSION'
+
+    # Used by the release job
+    staging-profile-id: a67da0ffbb1ba
+
+    platform:
+      - centos7:
+          build-node: centos7-builder-2c-8g
+      - ubuntu1604:
+          build-node: ubuntu1604-mininet-ovs-25-1c-4g
+
+- job-template:
+    name: 'netvirt-thirdparty-quagga-{platform}'
+    project-type: freestyle
+    node: '{build-node}'
+    concurrent: true
+
+    properties:
+      - opendaylight-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+
+    parameters:
+      - opendaylight-infra-parameters:
+          os-cloud: '{os-cloud}'
+          project: '{project}'
+          branch: '{branch}'
+          refspec: 'refs/heads/{branch}'
+          artifacts: '{archive-artifacts}'
+      - lf-infra-maven-parameters:
+          mvn-opts: '{mvn-opts}'
+          mvn-params: '{mvn-params}'
+          mvn-version: '{mvn-version}'
+          staging-profile-id: '{staging-profile-id}'
+      - string:
+          name: QUAGGA_VERSION
+          default: '{quagga-version}'
+          description: 'quagga version'
+
+    scm:
+      - git-netvirt-quagga
+
+    wrappers:
+      - opendaylight-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    builders:
+      - lf-infra-pre-build
+      - netvirt-build-quagga
+      - lf-infra-deploy-maven-file:
+          global-settings-file: 'global-settings'
+          settings-file: 'netvirt-settings'
+          mvn-version: '{mvn-version}'
+          repo-id: '{repo-id}'
+          group-id: '{group-id}'
+          upload-files-dir: '{upload-files-dir}'
+          maven-repo-url: '$NEXUS_URL/content/repositories/thirdparty'
+
+    publishers:
+      - email-notification:
+          email-recipients: '{email-recipients}'
+          email-prefix: '[netvirt]'
+      - lf-infra-publish
+
+- builder:
+    name: 'netvirt-build-quagga'
+    builders:
+      - shell: !include-raw-escape: quagga-build.sh
+
+- scm:
+    name: 'git-netvirt-quagga'
+    scm:
+      - git:
+          url: https://github.com/6WIND/zrpcd.git
+          basedir: 'zrpcd'
+          branches:
+            - 'issue_32_bis'
+          wipe-workspace: true
diff --git a/jjb/netvirt/netvirt-full-integration.yaml b/jjb/netvirt/netvirt-full-integration.yaml
deleted file mode 100644 (file)
index 9b8698c..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
----
-- project:
-    name: netvirt-full-integration
-    jobs:
-      - 'netvirt-daily-full-integration-{stream}'
-
-    stream:
-      - fluorine:
-          branch: 'master'
-      - oxygen:
-          branch: 'stable/oxygen'
-
-    project: 'netvirt'
-    archive-artifacts: '*.log **/target/surefire-reports/*.txt'
-
-- builder:
-    name: netvirt-run-it-external-docker
-    builders:
-      - maven-target:
-          maven-version: '{maven-version}'
-          pom: '{pomFile}'
-          goals: >
-              -V -B verify -l {logfile} -Pintegrationtest
-              -Dskip.karaf.featureTest=true -Dmaven.compile.fork=true
-              -Dovsdb.controller.address=${{CONTROLLER_IP}}
-              -Dmaven.test.failure.ignore=true
-          properties:
-            - 'ovsdbserver.ipaddress=127.0.0.1'
-            - 'ovsdbserver.port=6641'
-            - 'ovsdb.userspace.enabled=yes'
-            - 'maven.repo.local=/tmp/r'
-            - 'org.ops4j.pax.url.mvn.localRepository=/tmp/r'
-            - 'stream={stream}'
-          java-opts:
-            - '-Xmx1024m -XX:MaxPermSize=256m'
-          settings: 'netvirt-settings'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-
-- builder:
-    name: netvirt-run-it-dockerOvs
-    builders:
-      - maven-target:
-          maven-version: '{maven-version}'
-          pom: '{pomFile}'
-          goals: >
-              -V -B verify -l {logfile} -Pintegrationtest
-              -Dskip.karaf.featureTest=true -Dmaven.compile.fork=true
-              -Dovsdb.controller.address=${{CONTROLLER_IP}}
-              -Ddocker.compose.file=ovs-{OVS_VERSION}-hwvtep.yml
-              -Ddocker.vEnvWs=$WORKSPACE
-              -Dsgm=transparent
-              -Dmaven.test.failure.ignore=true
-          properties:
-            - 'maven.repo.local=/tmp/r'
-            - 'org.ops4j.pax.url.mvn.localRepository=/tmp/r'
-            - 'stream={stream}'
-          java-opts:
-            - '-Xmx1024m -XX:MaxPermSize=256m'
-          settings: 'netvirt-settings'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-
-- builder:
-    name: run-net-virt-it
-    builders:
-      - netvirt-run-it-dockerOvs:
-          maven-version: '{maven-version}'
-          stream: '{stream}'
-          pomFile: 'openstack/net-virt-it/pom.xml'
-          logfile: '{OVS_VERSION}-net-virt-IT.log'
-          OVS_VERSION: '{OVS_VERSION}'
-
-- builder:
-    name: run-netvirt-sfc-it
-    builders:
-      - netvirt-run-it-external-docker:
-          maven-version: '{maven-version}'
-          stream: '{stream}'
-          pomFile: 'openstack/net-virt-sfc/it/pom.xml'
-          logfile: '{OVS_VERSION}-netvirt-sfc-IT.log'
-
-- builder:
-    name: run-netvirt-vpnservice-it
-    builders:
-      - netvirt-run-it-dockerOvs:
-          maven-version: '{maven-version}'
-          stream: '{stream}'
-          pomFile: 'vpnservice/it/pom.xml'
-          logfile: '{OVS_VERSION}-netvirt-vpnservice-IT.log'
-          OVS_VERSION: '{OVS_VERSION}'
-
-- builder:
-    name: install-docker-compose
-    builders:
-      - shell: |
-          virtualenv $WORKSPACE/venv
-          source $WORKSPACE/venv/bin/activate
-          PYTHON="$WORKSPACE/venv/bin/python"
-          $PYTHON -m pip install --upgrade pip
-          $PYTHON -m pip install docker-compose
-
-
-- builder:
-    name: run-netvirt-it
-    builders:
-      - inject:
-          properties-content: OVS_VERSION={OVS_VERSION}
-      - shell: !include-raw-escape: include-setup-misc.sh
-      - inject:
-          properties-file: env.properties
-      - install-docker-compose
-      - run-netvirt-vpnservice-it:
-          OVS_VERSION: '{OVS_VERSION}'
-          maven-version: '{maven-version}'
-          stream: '{stream}'
-      - run-net-virt-it:
-          OVS_VERSION: '{OVS_VERSION}'
-          maven-version: '{maven-version}'
-          stream: '{stream}'
-      - shell: !include-raw-escape: setup-docker.sh
-      - inject:
-          properties-file: env.properties
-      - run-netvirt-sfc-it:
-          OVS_VERSION: '{OVS_VERSION}'
-          maven-version: '{maven-version}'
-          stream: '{stream}'
-      - shell: !include-raw-escape: cleanup-docker.sh
-
-- job-template:
-    name: 'netvirt-daily-full-integration-{stream}'
-
-    project-type: freestyle
-    node: centos7-docker-1c-4g
-    concurrent: true
-    jdk: '{java-version}'
-    description: >
-        Integration tests for the Netvirt project against different versions of
-        OVS and branches. This job runs nightly.
-
-    properties:
-      - opendaylight-infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
-
-    parameters:
-      - opendaylight-infra-parameters:
-          os-cloud: '{os-cloud}'
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-
-    scm:
-      - gerrit-trigger-scm:
-          refspec: '$GERRIT_REFSPEC'
-          branch: '{branch}'
-          choosing-strategy: gerrit
-
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - gerrit:
-          server-name: '{gerrit-server-name}'
-          trigger-on:
-            - comment-added-contains-event:
-                comment-contains-value: 'runit'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{project}'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-          skip-vote:
-            successful: true
-            failed: true
-            unstable: true
-            notbuilt: true
-
-    builders:
-      - wipe-org-opendaylight-repo
-      - maven-target:
-          maven-version: 'mvn33'
-          pom: 'pom.xml'
-          goals: '-V -B -l build.log clean install dependency:tree -Pq -Dmaven.compile.fork=true'
-          properties:
-            - 'maven.repo.local=/tmp/r'
-            - 'org.ops4j.pax.url.mvn.localRepository=/tmp/r'
-            - 'stream={stream}'
-          java-opts:
-            - '-Xmx1024m -XX:MaxPermSize=256m'
-          settings: 'netvirt-settings'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-      # skip 2.4.0 until we figure out conntrack
-      # - run-netvirt-it:
-      #    maven-version: 'mvn33'
-      #    stream: '{stream}'
-      #    OVS_VERSION: '2.4.0'
-      - run-netvirt-it:
-          maven-version: 'mvn33'
-          stream: '{stream}'
-          OVS_VERSION: '2.5.0'
-      - jacoco-nojava-workaround
-
-    publishers:
-      - email-notification:
-          email-recipients: '{email-recipients}'
-          email-prefix: '[netvirt]'
-      - text-finder:
-          fileset: "**/target/surefire-reports/*.xml"
-          regexp: 'failures\=\"[^0]\"'
-          succeed-if-found: false
-          unstable-if-found: true
-          also-check-console-output: false
-      - lf-infra-publish
diff --git a/jjb/netvirt/netvirt-job-reports.yaml b/jjb/netvirt/netvirt-job-reports.yaml
new file mode 100644 (file)
index 0000000..0cde5fc
--- /dev/null
@@ -0,0 +1,73 @@
+---
+- project:
+    name: netvirt-job-reports
+    project: netvirt
+    jobs:
+      - netvirt-job-reports
+    report-jobnames: >
+        netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-neon
+        netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-snat-conntrack-neon
+        netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine
+        netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-snat-conntrack-fluorine
+        netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-oxygen
+        netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-snat-conntrack-oxygen
+    report-logurl: 'https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1'
+    report-numjobs: 100
+    report-path: '/tmp/jobreports'
+
+- job-template:
+    name: '{prefix}netvirt-job-reports'
+    id: netvirt-job-reports
+    node: centos7-builder-2c-2g
+    project-type: freestyle
+    disabled: false
+
+    properties:
+      - opendaylight-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+
+    parameters:
+      - opendaylight-infra-parameters:
+          os-cloud: '{os-cloud}'
+          project: '{project}'
+          branch: '{branch}'
+          refspec: 'refs/heads/{branch}'
+          artifacts: '{archive-artifacts}'
+      - string:
+          name: JOB_NAMES
+          default: '{report-jobnames}'
+          description: |
+              Space separated list of job names to process. Example:
+              netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine
+              netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-snat-conntrack-fluorine
+      - string:
+          name: LOG_URL
+          default: '{report-logurl}'
+          description: 'Logs url'
+      - string:
+          name: NUM_JOBS
+          default: '{report-numjobs}'
+          description: 'Number of jobs to process'
+      - string:
+          name: REPORT_PATH
+          default: '{report-path}'
+          description: 'Output path to write files'
+
+    wrappers:
+      - opendaylight-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    builders:
+      - run-job-reports
+
+    triggers:
+      - timed: '@daily'
+
+    publishers:
+      - lf-infra-publish
+
+- builder:
+    name: run-job-reports
+    builders:
+      - shell: !include-raw-escape:
+          - run-reports.sh
index 3c7d113110beba6d23cb561b077803560c2eccb7..a4cc536712423a390c9f06f01caf8f611e338a8d 100644 (file)
@@ -7,9 +7,12 @@
     project: 'netvirt'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           os-branch: 'queens'
+      - fluorine:
+          branch: 'stable/fluorine'
+          os-branch: 'queens'
       - oxygen:
           branch: 'stable/oxygen'
           os-branch: 'queens'
index 2a3d122ea47cf71d302d1b4645d0f8be6291c3f3..104af96941c508b26704bafb0fb1fbe48db63455 100644 (file)
       - gerrit-tox-verify
       - odl-maven-jobs
 
+    csit-gate-list: 'netvirt-csit-1node-0cmb-1ctl-2cmp-apex-queens-gate-snat-conntrack-{stream}'
+    block_on_csit: false
+
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
     # Used by the release job
     staging-profile-id: a67da0ffbb1ba
 
-- project:
-    name: netvirt-vpp
-    jobs:
-      - gerrit-maven-verify
-
-    stream: vpp
-    project: 'netvirt'
-    project-name: 'netvirt'
-    branch: 'topic/vpp'
-    karaf-version: karaf3
-    distribution_branch: 'master'
-    mvn-settings: 'netvirt-settings'
-    mvn-opts: '-Xmx2048m -XX:MaxPermSize=512m'
-    dependencies:
-    email-upstream: '[netvirt]'
-
 - project:
     name: netvirt-sonar
     jobs:
diff --git a/jjb/netvirt/openstack-ci.sh b/jjb/netvirt/openstack-ci.sh
deleted file mode 100644 (file)
index 4606768..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-#!/bin/bash
-#
-# NOTE: This file takes two jobs from the OpenStack infra and
-#       puts them here. See here:
-#
-# https://github.com/openstack-infra/project-config/blob/master/jenkins/jobs/networking-odl.yaml
-
-export PATH="$PATH:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/sbin"
-
-# *SIGH*. This is required to get lsb_release
-sudo yum -y install redhat-lsb-core indent python-testrepository
-
-echo "Making /opt/stack/new jenkins:jenkins"
-sudo /usr/sbin/groupadd jenkins
-sudo mkdir -p /opt/stack/new
-sudo chown -R jenkins:jenkins /opt/stack/new
-sudo bash -c 'echo "stack ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers'
-
-# We need to install some scripts from openstack/os-testr project
-cd ~ || exit 1
-echo "Setting up infra scripts"
-sudo mkdir -p /usr/local/jenkins/slave_scripts
-git clone https://github.com/openstack/os-testr.git
-cd os-testr/os_testr || exit 1
-sudo cp subunit2html.py /usr/local/jenkins/slave_scripts
-
-# Save existing WORKSPACE
-SAVED_WORKSPACE="$WORKSPACE"
-export WORKSPACE=~/workspace
-mkdir -p "$WORKSPACE"
-cd "$WORKSPACE" || exit 1
-
-# This is the job which checks out devstack-gate
-if [[ ! -e devstack-gate ]]; then
-    echo "Cloning devstack-gate"
-    git clone https://git.openstack.org/openstack-infra/devstack-gate
-else
-    echo "Fixing devstack-gate git remotes"
-    cd devstack-gate || exit 1
-    git remote set-url origin https://git.openstack.org/openstack-infra/devstack-gate
-    git remote update
-    git reset --hard
-    if ! git clean -x -f ; then
-        sleep 1
-        git clean -x -f
-    fi
-    git checkout master
-    git reset --hard remotes/origin/master
-    if ! git clean -x -f ; then
-        sleep 1
-        git clean -x -f
-    fi
-    cd ..
-fi
-
-# Set the pieces we want to test
-if [ "$GERRIT_PROJECT" == "openstack/neutron" ]; then
-    export ZUUL_PROJECT=$GERRIT_PROJECT
-    export ZUUL_BRANCH=$GERRIT_REFSPEC
-elif [ "$GERRIT_PROJECT" == "openstack-dev/devstack" ]; then
-    export ZUUL_PROJECT=$GERRIT_PROJECT
-    export ZUUL_BRANCH=$GERRIT_REFSPEC
-fi
-
-echo "Setting environment variables"
-
-# Enable ODL debug logs and set memory parameters
-DEVSTACK_LOCAL_CONFIG=""
-DEVSTACK_LOCAL_CONFIG+="ODL_NETVIRT_DEBUG_LOGS=True;"
-DEVSTACK_LOCAL_CONFIG+="ODL_JAVA_MIN_MEM=512m;"
-DEVSTACK_LOCAL_CONFIG+="ODL_JAVA_MAX_MEM=784m;"
-DEVSTACK_LOCAL_CONFIG+="ODL_JAVA_MAX_PERM_MEM=784m;"
-
-# Set ODL_URL_PREFIX if "nexus proxy" is provided
-export URL_PREFIX="${ODLNEXUSPROXY:-https://nexus.opendaylight.org}"
-if [ -n "$ODLNEXUSPROXY" ] ; then
-    DEVSTACK_LOCAL_CONFIG+="ODL_URL_PREFIX=$ODLNEXUSPROXY;"
-fi
-
-## # Trim down the boot wait time
-## export ODL_BOOT_WAIT=30
-
-# Use specific build, if asked to do so
-if [ "${ODL_VERSION}" == "beryllium" ] ; then
-    DEVSTACK_LOCAL_CONFIG+="ODL_RELEASE=beryllium-snapshot-0.4.0;"
-fi
-
-# And this runs devstack-gate
-export PYTHONUNBUFFERED=true
-export DEVSTACK_GATE_TIMEOUT=120
-export DEVSTACK_GATE_NEUTRON=1
-export DEVSTACK_GATE_TEMPEST=1
-export BRANCH_OVERRIDE=master
-if [ "$BRANCH_OVERRIDE" != "default" ] ; then
-    export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
-fi
-# Because we are testing a non standard project, add
-# our project repository. This makes zuul do the right
-# reference magic for testing changes.
-export PROJECTS="openstack/networking-odl $PROJECTS"
-# Note the actual url here is somewhat irrelevant because it
-# caches in nodepool, however make it a valid url for
-# documentation purposes.
-if [ "$GERRIT_PROJECT" == "openstack/networking-odl" ]; then
-    export DEVSTACK_LOCAL_CONFIG+="enable_plugin networking-odl https://$GERRIT_HOST/$GERRIT_PROJECT $GERRIT_REFSPEC"
-else
-    export DEVSTACK_LOCAL_CONFIG+="enable_plugin networking-odl https://git.openstack.org/openstack/networking-odl"
-fi
-
-
-# Keep localrc to be able to set some vars in pre_test_hook
-export KEEP_LOCALRC=1
-
-# Unset this because it's set by the underlying Jenkins node ...
-unset GIT_BASE
-
-# By default, only run certain tempest tests
-export DEVSTACK_GATE_TEMPEST_REGEX=${TEMPEST_REGEX:-"tempest.api.network.test_networks_negative tempest.api.network.test_networks.NetworksTestJSON"}
-
-# Specifically set the services we want
-#OVERRIDE_ENABLED_SERVICES=q-svc,q-dhcp,q-l3,q-meta,quantum,key,g-api,g-reg,n-api,n-crt,n-obj,n-cpu,n-cond,n-sch,n-xvnc,n-cauth,h-eng,h-api,h-api-cfn,h-api-cw,rabbit,tempest,mysql
-
-echo "Copying devstack-vm-gate-wrap.sh"
-cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
-echo "Running safe-devstack-vm-gate-wrap.sh"
-./safe-devstack-vm-gate-wrap.sh
-# Save the return value so we can exit with this
-DGRET=$?
-
-# Restore WORKSPACE
-OS_WORKSPACE="$WORKSPACE"
-export WORKSPACE="$SAVED_WORKSPACE"
-
-# Copy and display all the logs
-cat /opt/stack/new/devstacklog*
-ls /opt/stack/; ls /opt/stack/new; ls /opt/stack/new/opendaylight;
-cp -r "$OS_WORKSPACE/logs" "$WORKSPACE"
-cp -a /opt/stack/new/logs/screen-odl-karaf* "$WORKSPACE/logs"
-mkdir -p "$WORKSPACE/logs/opendaylight"
-cp -a /opt/stack/new/opendaylight/distribution*/etc "$WORKSPACE/logs/opendaylight"
-# Unzip the logs to make them easier to view
-gunzip "$WORKSPACE"/logs/*.gz
-
-exit "$DGRET"
diff --git a/jjb/netvirt/quagga-build.sh b/jjb/netvirt/quagga-build.sh
new file mode 100644 (file)
index 0000000..ca46597
--- /dev/null
@@ -0,0 +1,46 @@
+#!/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 term s of the Eclipse Public License
+# v1.0 accompanies testing this distribution with Netvirt jobs, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+##############################################################################
+echo "---> quagga-build.sh"
+
+set -e -x
+
+# The script builds 6wind/quagga source and binary packages from zrpcd
+# repository for testing router functionalities with Netvirt jobs, .
+
+pushd "$(pwd)/zrpcd"
+
+chmod a+x "$(pwd)/pkgsrc/dev_compile_script.sh"
+cd "$(pwd)/pkgsrc" && sudo "./dev_compile_script.sh" -p -d -b -v "$QUAGGA_VERSION"
+
+# Move packages into a that will be uploaded to Nexus
+UPLOAD_FILES_PATH="$WORKSPACE/upload_files"
+mkdir -p "$UPLOAD_FILES_PATH"
+
+OS=$(facter operatingsystem)
+
+case "$OS" in
+    Ubuntu)
+        mv "$WORKSPACE/zrpcd/pkgsrc/"*.deb "$UPLOAD_FILES_PATH" || true
+    ;;
+    CentOS|RedHat)
+        mv "$WORKSPACE/zrpcd/pkgsrc/"*.rpm "$UPLOAD_FILES_PATH" || true
+    ;;
+    *)
+        # nothing to do
+    ;;
+esac
+
+popd
+
+# todo: remove below lines once the scripts in zrpcd repos build the
+# source packages.
+# Ref: https://lists.opendaylight.org/pipermail/integration-dev/2018-July/012330.html
+tar cvzf "$WORKSPACE/upload_files/zrpcd.$(date +%F).tar.gz" "$(pwd)/zrpcd"
diff --git a/jjb/netvirt/run-reports.sh b/jjb/netvirt/run-reports.sh
new file mode 100644 (file)
index 0000000..7b05ff1
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/bash
+# SPDX-License-Identifier: EPL-1.0
+##############################################################################
+# Copyright (c) 2018 Red Hat, Inc. 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 "Executing run-reports.sh"
+set -e -o pipefail # Fail on errors, give stacktrace
+set -x # Enable trace
+
+virtualenv --quiet "/tmp/v/odltools"
+source /tmp/v/odltools/bin/activate
+pip install odltools
+mkdir $REPORT_PATH
+python -m odltools csit reports --numjobs $NUM_JOBS --path $REPORT_PATH --url $LOG_URL --jobnames $JOB_NAMES || true
+python -m odltools csit exceptions --numjobs $NUM_JOBS --path $REPORT_PATH --url $LOG_URL --jobnames $JOB_NAMES || true
+mkdir -p $WORKSPACE/archives
+cp $REPORT_PATH/*.txt $WORKSPACE/archives || true
+exit 0
diff --git a/jjb/netvirt/setup-docker.sh b/jjb/netvirt/setup-docker.sh
deleted file mode 100644 (file)
index 2c98e9e..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/bash
-
-set -e
-
-OVS_VERSION="${OVS_VERSION:-2.5.0}"
-
-echo "---> Cleaning up existing Docker processes and images"
-for x in $(docker ps -a -q)
-do
-   docker stop "$x"
-   docker rm "$x"
-done
-
-for x in $(docker images | grep vpickard | awk '{print $3}')
-do
-   docker rmi "$x"
-done
-
-
-
-echo "---> Starting OVS $OVS_VERSION"
-/usr/bin/docker pull "vpickard/openvswitch:$OVS_VERSION"
-CID=$(/usr/bin/docker run -p 6641:6640 --privileged=true -d -i -t "vpickard/openvswitch:$OVS_VERSION" /usr/bin/supervisord)
-REALCID=$(echo "$CID" | rev | cut -d ' ' -f 1 | rev)
-echo "CID=$REALCID" > env.properties
-echo "OVS_VERSION=${OVS_VERSION}" >> env.properties
-CONTROLLER_IP=$(facter ipaddress)
-echo "CONTROLLER_IP=${CONTROLLER_IP}" >> env.properties
-
-echo "---> Waiting..."
-sleep 10
index bc4362798fdf648a3d7ae044e79a48bef61da03e..2453f98128c214316d655b39720352f4f711c735 100644 (file)
@@ -7,9 +7,12 @@
     project: 'neutron'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           os-branch: 'queens'
+      - fluorine:
+          branch: 'stable/fluorine'
+          os-branch: 'queens'
       - oxygen:
           branch: 'stable/oxygen'
           os-branch: 'queens'
@@ -27,4 +30,4 @@
 
       - genius:
           csit-list: >
-              genius-csit-1node-gate-all-{stream}
+              genius-csit-1node-gate-only-{stream}
index de720cc6ee29172aa02707023da126e7eec34b16..f4f348edc26745d876e2a0421dfe222a5d44c86b 100644 (file)
@@ -1,4 +1,24 @@
 ---
+- project:
+    name: neutron-neon
+    jobs:
+      - '{project-name}-distribution-check-{stream}'
+      - '{project-name}-maven-javadoc-jobs'
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'neutron'
+    project-name: 'neutron'
+    build-timeout: 90
+    branch: 'master'
+    mvn-settings: 'neutron-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream},aaa-merge-{stream}'
+    email-upstream: '[neutron] [odlparent] [aaa]'
+
+    # Used by the release job
+    staging-profile-id: a67e1b40d7419
+
 - project:
     name: neutron-fluorine
     jobs:
@@ -10,7 +30,7 @@
     project: 'neutron'
     project-name: 'neutron'
     build-timeout: 90
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'neutron-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'odlparent-merge-{stream},aaa-merge-{stream}'
diff --git a/jjb/neutron/openstack-ci.sh b/jjb/neutron/openstack-ci.sh
deleted file mode 100644 (file)
index 24d4332..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-#!/bin/bash
-#
-# NOTE: This file takes two jobs from the OpenStack infra and
-#       puts them here. See here:
-#
-# https://github.com/openstack-infra/project-config/blob/master/jenkins/jobs/networking-odl.yaml
-
-export PATH=$PATH:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/sbin
-
-# *SIGH*. This is required to get lsb_release
-sudo yum -y install redhat-lsb-core indent python-testrepository
-
-echo "Making /opt/stack/new jenkins:jenkins"
-sudo /usr/sbin/groupadd jenkins
-sudo mkdir -p /opt/stack/new
-sudo chown -R jenkins:jenkins /opt/stack/new
-sudo bash -c 'echo "stack ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers'
-
-# We need to install some scripts from openstack-infra/project-config
-cd ~ || exit 1
-echo "Setting up infra scripts"
-sudo mkdir -p /usr/local/jenkins/slave_scripts
-git clone https://git.openstack.org/openstack-infra/project-config
-cd project-config || exit 1
-sudo cp jenkins/scripts/subunit2html.py /usr/local/jenkins/slave_scripts
-
-# Save existing WORKSPACE
-SAVED_WORKSPACE=$WORKSPACE
-export WORKSPACE=~/workspace
-mkdir -p $WORKSPACE
-cd $WORKSPACE || exit 1
-
-# This is the job which checks out devstack-gate
-if [[ ! -e devstack-gate ]]; then
-    echo "Cloning devstack-gate"
-    git clone https://git.openstack.org/openstack-infra/devstack-gate
-else
-    echo "Fixing devstack-gate git remotes"
-    cd devstack-gate || exit 1
-    git remote set-url origin https://git.openstack.org/openstack-infra/devstack-gate
-    git remote update
-    git reset --hard
-    if ! git clean -x -f ; then
-        sleep 1
-        git clean -x -f
-    fi
-    git checkout master
-    git reset --hard remotes/origin/master
-    if ! git clean -x -f ; then
-        sleep 1
-        git clean -x -f
-    fi
-    cd ..
-fi
-
-# Set the pieces we want to test
-if [ "$GERRIT_PROJECT" == "openstack/neutron" ]; then
-    export ZUUL_PROJECT=$GERRIT_PROJECT
-    export ZUUL_BRANCH=$GERRIT_REFSPEC
-elif [ "$GERRIT_PROJECT" == "openstack-dev/devstack" ]; then
-    export ZUUL_PROJECT=$GERRIT_PROJECT
-    export ZUUL_BRANCH=$GERRIT_REFSPEC
-fi
-
-echo "Setting environment variables"
-
-# Enable ODL debug logs and set memory parameters
-DEVSTACK_LOCAL_CONFIG=""
-DEVSTACK_LOCAL_CONFIG+="ODL_NETVIRT_DEBUG_LOGS=True;"
-DEVSTACK_LOCAL_CONFIG+="ODL_JAVA_MIN_MEM=512m;"
-DEVSTACK_LOCAL_CONFIG+="ODL_JAVA_MAX_MEM=784m;"
-DEVSTACK_LOCAL_CONFIG+="ODL_JAVA_MAX_PERM_MEM=784m;"
-
-# Set ODL_URL_PREFIX if "nexus proxy" is provided
-export URL_PREFIX="${ODLNEXUSPROXY:-https://nexus.opendaylight.org}"
-if [ -n "$ODLNEXUSPROXY" ] ; then
-    DEVSTACK_LOCAL_CONFIG+="ODL_URL_PREFIX=$ODLNEXUSPROXY;"
-fi
-
-## # Trim down the boot wait time
-## export ODL_BOOT_WAIT=30
-
-# Use specific build, if asked to do so
-if [ "${ODL_VERSION}" == "lithium-latest" ] ; then
-    # FIXME: Support more recent ODL release versions.
-    DEVSTACK_LOCAL_CONFIG+="ODL_RELEASE=lithium-snapshot;"
-fi
-
-# If Karaf netvirt feature was explicitly provided, add it to DEVSTACK_LOCAL_CONFIG
-if [ -n "$KARAFFEATURE" ] ; then
-    DEVSTACK_LOCAL_CONFIG+="ODL_NETVIRT_KARAF_FEATURE=${KARAFFEATURE};"
-fi
-
-# And this runs devstack-gate
-export PYTHONUNBUFFERED=true
-export DEVSTACK_GATE_TIMEOUT=120
-export DEVSTACK_GATE_NEUTRON=1
-export DEVSTACK_GATE_TEMPEST=1
-export BRANCH_OVERRIDE=master
-if [ "$BRANCH_OVERRIDE" != "default" ] ; then
-    export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
-fi
-# Because we are testing a non standard project, add
-# our project repository. This makes zuul do the right
-# reference magic for testing changes.
-export PROJECTS="openstack/networking-odl $PROJECTS"
-# Note the actual url here is somewhat irrelevant because it
-# caches in nodepool, however make it a valid url for
-# documentation purposes.
-if [ "$GERRIT_PROJECT" == "openstack/networking-odl" ]; then
-    export DEVSTACK_LOCAL_CONFIG+="enable_plugin networking-odl https://$GERRIT_HOST/$GERRIT_PROJECT $GERRIT_REFSPEC"
-else
-    export DEVSTACK_LOCAL_CONFIG+="enable_plugin networking-odl https://git.openstack.org/openstack/networking-odl"
-fi
-
-
-# Keep localrc to be able to set some vars in pre_test_hook
-export KEEP_LOCALRC=1
-
-# Unset this because it's set by the underlying Jenkins node ...
-unset GIT_BASE
-
-# By default, only run certain tempest tests
-export DEVSTACK_GATE_TEMPEST_REGEX=${TEMPEST_REGEX:-"tempest.api.network.test_networks_negative tempest.api.network.test_networks.NetworksTestJSON"}
-
-# Specifically set the services we want
-#OVERRIDE_ENABLED_SERVICES=q-svc,q-dhcp,q-l3,q-meta,quantum,key,g-api,g-reg,n-api,n-crt,n-obj,n-cpu,n-cond,n-sch,n-xvnc,n-cauth,h-eng,h-api,h-api-cfn,h-api-cw,rabbit,tempest,mysql
-
-echo "Copying devstack-vm-gate-wrap.sh"
-cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
-echo "Running safe-devstack-vm-gate-wrap.sh"
-./safe-devstack-vm-gate-wrap.sh
-# Save the return value so we can exit with this
-DGRET=$?
-
-# Restore WORKSPACE
-OS_WORKSPACE=$WORKSPACE
-export WORKSPACE=$SAVED_WORKSPACE
-
-# Copy all the logs
-cp -r "$OS_WORKSPACE/logs" "$WORKSPACE"
-cp -a /opt/stack/new/logs/q-odl-karaf* "$WORKSPACE/logs"
-mkdir -p "$WORKSPACE/logs/opendaylight"
-cp -a /opt/stack/new/opendaylight/distribution*/etc "$WORKSPACE/logs/opendaylight"
-# Unzip the logs to make them easier to view
-gunzip "$WORKSPACE"/logs/*.gz
-
-exit $DGRET
index 42771d028ffdaf5307752f5500ff20724e7caa6e..2a29e6dcdaf2bda1358ac17dbc4a0d994873ae8a 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: next-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'next'
+    project-name: 'next'
+    branch: 'master'
+    mvn-settings: 'next-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: ''
+    email-upstream: '[next]'
+
+    # Used by the release job
+    staging-profile-id: a67e7c516f385
+
 - project:
     name: next-fluorine
     jobs:
@@ -7,7 +24,7 @@
     stream: fluorine
     project: 'next'
     project-name: 'next'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'next-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: ''
index c11083876675c300a4b5bb5fa8ab980d59452682..77176cfab30c76024c7a938ba9457a4c5c0c31e0 100644 (file)
@@ -1,4 +1,22 @@
 ---
+- project:
+    name: nic-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'nic'
+    project-name: 'nic'
+    branch: 'master'
+    build-node: centos7-builder-2c-8g
+    mvn-settings: 'nic-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'vtn-merge-{stream},groupbasedpolicy-merge-{stream}'
+    email-upstream: '[nic] [vtn] [groupbasedpolicy]'
+
+    # Used by the release job
+    staging-profile-id: a67ef386204aa
+
 - project:
     name: nic-fluorine
     jobs:
@@ -7,7 +25,7 @@
     stream: fluorine
     project: 'nic'
     project-name: 'nic'
-    branch: 'master'
+    branch: 'stable/fluorine'
     build-node: centos7-builder-2c-8g
     mvn-settings: 'nic-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
index 5f3c2313cfb04c8feef84dfc45987c639f162b1e..36dc2f892a8ee32ac99096d564678dc155805528 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: ocpplugin-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'ocpplugin'
+    project-name: 'ocpplugin'
+    branch: 'master'
+    mvn-settings: 'ocpplugin-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
+    email-upstream: '[ocpplugin] [odlparent] [yangtools] [controller]'
+
+    # Used by the release job
+    staging-profile-id: a687673279f9c
+
 - project:
     name: ocpplugin-fluorine
     jobs:
@@ -7,7 +24,7 @@
     stream: fluorine
     project: 'ocpplugin'
     project-name: 'ocpplugin'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'ocpplugin-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
index 77a669e0bbbe6a59628228f4c87284677ce35f8e..76a68e5bc040f3acf7f17a0c469ab6d98d669499 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2017 The Linux Foundation and others.
@@ -17,9 +17,6 @@
 # by the cleanup old images job.
 echo "---> Check image protection"
 
-# shellcheck source=/tmp/v/openstack/bin/activate disable=SC1091
-source "/tmp/v/openstack/bin/activate"
-
 declare -a yaml_images
 readarray -t yaml_images <<< "$(grep -r _system_image: --include \*.yaml \
     | awk -F": " -e '{print $3}' | sed "s:'::;s:'$::;/^$/d" | sort -u)"
index 01e420dde66d9d30d6a91fa87ed01ffa8fc4891a..9cc82cd823d518d47e9702d620eda20018f33c9d 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2017 - 2018 The Linux Foundation and others.
@@ -11,6 +11,4 @@
 # Removes openstack images older than 30 days in the cloud
 echo "---> Cleanup old images"
 
-# shellcheck source=/tmp/v/openstack/bin/activate disable=SC1091
-source "/tmp/v/openstack/bin/activate"
 lftools openstack --os-cloud vex image cleanup --days=30
index c3c6b35a24e23c25b85e77ff60dd2851ee8d2dc1..df598b473d83eba76ae30b3803f28df1afadfe3d 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2017 - 2018 The Linux Foundation and others.
@@ -43,9 +43,6 @@ minion_in_jenkins() {
 # Fetch server list before fetching active minions to minimize race condition
 # where we might be trying to delete servers while jobs are trying to start
 
-# shellcheck source=/tmp/v/openstack/bin/activate disable=SC1091
-source "/tmp/v/openstack/bin/activate"
-
 # We purposely need word splitting here to create the OS_SERVERS array.
 # shellcheck disable=SC2207
 mapfile -t OS_SERVERS < <(openstack server list -f value -c "Name" | grep -E 'prd|snd')
@@ -69,5 +66,3 @@ for server in "${OS_SERVERS[@]}"; do
             server remove --minutes 15 "$server"
     fi
 done
-
-deactivate
index f9af3c8e168918ceec06153f9bc65551ec6ca2a4..25cf88c70f2c33b5b63404719e81d898b60344c6 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2017 - 2018 The Linux Foundation and others.
@@ -10,9 +10,6 @@
 ##############################################################################
 echo "---> Cleanup stale nodes"
 
-# shellcheck source=/tmp/v/openstack/bin/activate disable=SC1091
-source "/tmp/v/openstack/bin/activate"
-
 # 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
 # skip deleting those nodes. This step may not be required since there is already
index 16559c9feb8c5a3079a0415a579808b071899f1a..6d5e553c1a0fb6baa3a325607110dd1d145d71da 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2017 The Linux Foundation and others.
@@ -13,9 +13,6 @@
 # list of Jenkins instances to check for active builds.
 echo "---> Cleanup stale stacks"
 
-# shellcheck source=/tmp/v/openstack/bin/activate disable=SC1091
-source "/tmp/v/openstack/bin/activate"
-
 stack_in_jenkins() {
     # Usage: check_stack_in_jenkins STACK_NAME JENKINS_URL [JENKINS_URL...]
     # Returns: 0 If stack is in Jenkins and 1 if stack is not in Jenkins.
index 433aecf2cc45aeb33d47e2005160d2f1544b1f83..3745eb25349b2974d1f0f65e05d044da6a46d19d 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2018 The Linux Foundation and others.
@@ -10,8 +10,6 @@
 ##############################################################################
 # Scans OpenStack for orphaned volumes
 
-# shellcheck source=/tmp/v/openstack/bin/activate disable=SC1091
-source "/tmp/v/openstack/bin/activate"
 mapfile -t os_volumes < <(openstack volume list -f value -c ID --status Available)
 
 echo "---> Orphaned volumes"
@@ -23,5 +21,3 @@ else
         lftools openstack --os-cloud vex volume remove --minutes 15 "$volume"
     done
 fi
-
-deactivate
index 792b369141a4dbec90811a34394178aaa9b2ee19..1ba9d383be03469e4b91533625200f4552f59f2e 100644 (file)
@@ -7,9 +7,12 @@
     project: 'odlparent'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           os-branch: 'queens'
+      - fluorine:
+          branch: 'stable/fluorine'
+          os-branch: 'queens'
       - oxygen:
           branch: 'stable/oxygen'
           os-branch: 'queens'
@@ -27,4 +30,4 @@
 
       - genius:
           csit-list: >
-              genius-csit-1node-gate-all-{stream}
+              genius-csit-1node-gate-only-{stream}
index cb942ae1d1f69c8007c443399474cad65399ba65..a1abf4669de961921764172b9c3c49cd0fea6658 100644 (file)
@@ -15,6 +15,7 @@
     mvn-settings: odlparent-settings
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     mvn-version: mvn35
+    sign-artifacts: true
 
     dependencies: ''
     email-upstream: '[odlparent]'
     # Used by the release job
     staging-profile-id: 880d5ac25eaa
 
-- project:
-    name: odlparent-3.2.x
-    jobs:
-      - '{project-name}-maven-javadoc-jobs'
-      - odl-maven-jobs
-      - gerrit-tox-verify
-
-    project: odlparent
-    project-name: odlparent
-    stream: 3.2.x
-    branch: 3.2.x
-    distribution_branch: master
-
-    mvn-settings: odlparent-settings
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-
-    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:
     name: odlparent-3.1.x
     jobs:
@@ -74,6 +45,7 @@
 
     mvn-settings: odlparent-settings
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    sign-artifacts: true
 
     dependencies: ''
     email-upstream: '[odlparent]'
 
     mvn-settings: odlparent-settings
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    sign-artifacts: true
 
     dependencies: ''
     email-upstream: '[odlparent]'
diff --git a/jjb/odltools/odltools-csit.yaml b/jjb/odltools/odltools-csit.yaml
new file mode 100644 (file)
index 0000000..ec2c33f
--- /dev/null
@@ -0,0 +1,24 @@
+---
+- project:
+    name: odltools-csit
+    jobs:
+      - inttest-csit-1node
+      - inttest-csit-verify-1node
+
+    project: odltools
+    tools_system_count: 0
+    testplan: '{project}-basic.txt'
+
+    stream:
+      - neon:
+          branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
+
+    functionality:
+      - 'upstream'
+      - 'gate'
+
+    install:
+      - all:
+          scope: 'all'
diff --git a/jjb/odltools/odltools-patch-test.yaml b/jjb/odltools/odltools-patch-test.yaml
new file mode 100644 (file)
index 0000000..6104f4f
--- /dev/null
@@ -0,0 +1,19 @@
+---
+- project:
+    name: odltools-patch-test
+    jobs:
+      - inttest-patch-test
+
+    project: odltools
+    jdk: openjdk8
+
+    stream:
+      - neon:
+          branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
+
+    feature:
+      - current:
+          csit-list: >
+              odltools-csit-1node-gate-all-{stream}
index 58b3797b9dce9cffe98dce81a1be39b6d889bb3f..110fa84a6de94ee6fb7c219f5c7ceef7cfb7ab00 100644 (file)
           rtd-token: 225d4ef64e1efce4fe3ba4c9c4fe772355d3c8b2
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
 
     project: odltools
     project-name: odltools
     build-node: centos7-builder-2c-2g
     build-timeout: 60
+
+- view:
+    name: odltools
+    description: 'List of odltools jobs'
+    regex: '^odltools-.*'
+    <<: *releng_view_common
diff --git a/jjb/of-config/of-config-csit-basic.yaml b/jjb/of-config/of-config-csit-basic.yaml
deleted file mode 100644 (file)
index 5af3883..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
----
-- project:
-    name: of-config-csit-basic
-    jobs:
-      - inttest-csit-verify-1node
-      - inttest-csit-1node
-
-    # The project name
-    project: 'of-config'
-
-    # The functionality under test
-    functionality: 'basic'
-
-    # Project branches
-    stream:
-      - fluorine:
-          branch: 'master'
-      - oxygen:
-          branch: 'stable/oxygen'
-
-    install:
-      - all:
-          scope: 'all'
-
-    # Features to install
-    install-features: 'odl-restconf,odl-of-config-all,odl-of-config-rest'
-
-    # Robot custom options
-    robot-options: ''
index 322f2a585adab6ec06a3ee57ea99772d2723881c..37f2475a8f1217ebb6a548d0a115de2f24213ab0 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: of-config-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'of-config'
+    project-name: 'of-config'
+    branch: 'master'
+    mvn-settings: 'of-config-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: netconf-merge-{stream}'
+    email-upstream: '[of-config] [netconf]'
+
+    # Used by the release job
+    staging-profile-id: a6880455efe67
+
 - project:
     name: of-config-fluorine
     jobs:
@@ -7,7 +24,7 @@
     stream: fluorine
     project: 'of-config'
     project-name: 'of-config'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'of-config-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: netconf-merge-{stream}'
diff --git a/jjb/ofextensions/circuitsw/circuitsw.yaml b/jjb/ofextensions/circuitsw/circuitsw.yaml
deleted file mode 100644 (file)
index bd0d288..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
----
-- project:
-    name: circuitsw-fluorine
-    jobs:
-      - odl-maven-jobs
-
-    stream: fluorine
-    project: 'ofextensions/circuitsw'
-    project-name: 'circuitsw'
-    branch: 'master'
-    mvn-settings: 'ofextensions-circuitsw-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-    dependencies: ''
-    email-upstream: '[circuitsw]'
-
-    # Used by the release job
-    staging-profile-id: a68970cf5b25c
-
-- project:
-    name: circuitsw-oxygen
-    jobs:
-      - odl-maven-jobs
-
-    stream: oxygen
-    project: 'ofextensions/circuitsw'
-    project-name: 'circuitsw'
-    branch: 'stable/oxygen'
-    mvn-settings: 'ofextensions-circuitsw-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-    dependencies: ''
-    email-upstream: '[circuitsw]'
-
-    # Used by the release job
-    staging-profile-id: a68970cf5b25c
-
-- project:
-    name: circuitsw-sonar
-    jobs:
-      - gerrit-maven-sonar
-    project: 'ofextensions/circuitsw'
-    project-name: 'circuitsw'
-    branch: 'master'
-    mvn-settings: 'ofextensions-circuitsw-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-
-- view:
-    name: circuitsw
-    description: 'List of circuitsw jobs'
-    regex: '^circuitsw-.*'
-    <<: *releng_view_common
index 3a4c8afafedb246788f73635dd3e95c35ff077f8..5bd3a0676fcc0ded0e60d28a65110b86de90d135 100755 (executable)
@@ -11,19 +11,37 @@ set -o errexit
 set -o nounset
 set -o pipefail
 
+# workaround for https://github.com/pypa/virtualenv/issues/1029
+export PS1=${PS1:-}
+
 # This script creates ArtifactPublishedEvent (APE)
-# The JMS Messaging Plugin doesn't handle the newlines well so the eventBody is
-# constructed on a single line. This is something that needs to be fixed properly
 
-cat << EOF > $WORKSPACE/event.properties
-type=$PUBLISH_EVENT_TYPE
-origin=$PUBLISH_EVENT_ORIGIN
-eventBody="{ 'type': '$PUBLISH_EVENT_TYPE', 'id': '$(uuidgen)', \
-'time': '$(date -u +%Y-%m-%d_%H:%M:%SUTC)', 'origin': '$PUBLISH_EVENT_ORIGIN', \
-'buildUrl': '$BUILD_URL', 'branch': 'master', 'artifactLocation': '$ARTIFACT_LOCATION', \
-'confidenceLevel': { $CONFIDENCE_LEVEL } }"
+git clone https://gitlab.openci.io/openci/prototypes.git
+cd prototypes/federated-cicd
+virtualenv openci_publish
+cd openci_publish
+source bin/activate
+python setup.py install
+
+# generate event body
+cat <<EOF > ./json_body.txt
+{
+    "type": "$PUBLISH_EVENT_TYPE",
+    "id": "$(uuidgen)",
+    "time": "$(date -u +%Y-%m-%d_%H:%M:%SUTC)",
+    "buildUrl": "$BUILD_URL",
+    "branch": "master",
+    "origin": "$PUBLISH_EVENT_ORIGIN",
+    "artifactLocation": "$ARTIFACT_LOCATION",
+    "confidenceLevel": "$CONFIDENCE_LEVEL"
+}
 EOF
+
 echo "Constructed $PUBLISH_EVENT_TYPE"
 echo "--------------------------------------------"
-cat $WORKSPACE/event.properties
+cat  ./json_body.txt
 echo "--------------------------------------------"
+
+python openci_publish -H 129.192.69.55 -U ${ACTIVEMQ_USER} -p ${ACTIVEMQ_PASSWORD} -n openci.prototype -B ./json_body.txt
+
+deactivate
index 104c388820232ef9e8b66dc3709f9034d5625e52..350306a6f5a91ff385487d8c74d69add4b44a50c 100644 (file)
           default: "'autorelease': 'SUCCESS'"
           description: 'The confidence level the published artifact gained'
 
+    wrappers:
+      - credentials-binding:
+          - username-password-separated:
+              credential-id: openci-connect-activemq
+              username: ACTIVEMQ_USER
+              password: ACTIVEMQ_PASSWORD
+      - workspace-cleanup
+
     builders:
-      # first build step in the job executes create-ape.sh to construct the
-      # ArtifactPublishedEvent (ape)
+      # this build step in the job executes create-ape.sh to construct the
+      # ArtifactPublishedEvent (ape) and publishes it using the python utility
       - shell:
           !include-raw-escape: ./create-ape.sh
-      # constructed event gets injected into environment so JME Messaging
-      # plugin can publish the event and its properties in post-build step
-      - inject:
-          properties-file: "$WORKSPACE/event.properties"
-
-    publishers:
-      - jms-messaging:
-          provider-name: openci.activemq
-          msg-type: Custom
-          msg-props: |
-            type=$type
-            origin=$origin
-          msg-content:
-            $eventBody
 
 # This job gets triggered by a ConfidenceLevelModifiedEvent published
 # by OPNFV jobs so ODL can promote the autorelease artifact even further.
     triggers:
       - jms-messaging:
           provider-name: openci.activemq
-          selector: CI_TYPE = 'custom'
-          checks:
-            - field: origin
-              expected-value: 'OPNFV'
-            - field: type
-              expected-value: 'ConfidenceLevelModifiedEvent'
-            - field: scenario
-              expected-value: 'os-odl-nofeature'
+          selector: >
+            JMSType = 'ConfidenceLevelModifiedEvent' and
+            JMSOrigin = 'OPNFV' and
+            JMSScenario = 'os-odl-nofeature-ha'
 
     builders:
       - shell: |
diff --git a/jjb/opendaylight-infra-apex-image-management.sh b/jjb/opendaylight-infra-apex-image-management.sh
new file mode 100644 (file)
index 0000000..80054fa
--- /dev/null
@@ -0,0 +1,140 @@
+#!/bin/bash
+# SPDX-License-Identifier: EPL-1.0
+##############################################################################
+# Copyright (c) 2018 Red Hat, Inc. 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
+##############################################################################
+
+# Ensure we fail the job if any steps fail.
+set -x -o pipefail -o errexit
+
+virtualenv "/tmp/v/openstack"
+# shellcheck source=/tmp/v/openstack/bin/activate disable=SC1091
+source "/tmp/v/openstack/bin/activate"
+pip install --upgrade --quiet "pip<10.0.0" setuptools
+pip install --upgrade --quiet python-openstackclient
+pip freeze
+
+df -h
+
+mkdir -p /tmp/apex_snapshots
+pushd /tmp/apex_snapshots
+
+wget artifacts.opnfv.org/apex/queens/noha/snapshot.properties
+cat snapshot.properties
+source snapshot.properties
+SNAPSHOT_FILENAME=$(basename $OPNFV_SNAP_URL)
+
+wget --progress=dot:giga $OPNFV_SNAP_URL
+gunzip -c $SNAPSHOT_FILENAME > snapshots.tar
+
+# builder VMs don't have enough disk to handle a full un-tarring, so doing one
+# big file at a time and deleting it from the tarball as a workaround for now
+tar -tf snapshots.tar
+
+images=$(tar --list -f snapshots.tar | grep qcow2)
+for image in $images; do
+  tar -xf snapshots.tar $image
+  tar --delete --file=snapshots.tar $image
+done
+
+# get the ssh keys and node.yaml for uploading to swift at the end
+tar -xf snapshots.tar ./id_rsa
+tar -xf snapshots.tar ./node.yaml
+tar -xf snapshots.tar ./overcloudrc
+
+ls -altr
+
+# grab the right baremetal# for the controller(s) and compute(s)
+CONTROLLER_NODE=$(egrep 'type|vNode-name' node.yaml | egrep -A1 controller | tail -n1 | awk '{print $2}')
+COMPUTE_0_NODE=$(egrep 'type|vNode-name' node.yaml | egrep -A1 compute | tail -n1 | awk '{print $2}')
+COMPUTE_1_NODE=$(egrep 'type|vNode-name' node.yaml | egrep -A1 compute | head -n2 | tail -n1 | awk '{print $2}')
+
+# Customize images to work in ODL Vexxhost infra
+sudo yum install -y libguestfs-tools
+export LIBGUESTFS_BACKEND=direct
+virt-customize -a $CONTROLLER_NODE.qcow2 \
+  --run-command "crudini --set /var/lib/config-data/puppet-generated/neutron/etc/neutron/plugins/ml2/ml2_conf.ini ml2 physical_network_mtus datacentre:1458" \
+  --run-command "crudini --set /var/lib/config-data/puppet-generated/neutron/etc/neutron/plugins/ml2/ml2_conf.ini ml2 path_mtu 1458" \
+  --run-command "crudini --set /var/lib/config-data/puppet-generated/neutron/etc/neutron/neutron.conf '' global_physnet_mtu 1458" \
+  --run-command "crudini --set /var/lib/config-data/puppet-generated/neutron/etc/neutron/dhcp_agent.ini '' debug true" \
+
+virt-customize -a $COMPUTE_0_NODE.qcow2 \
+  --run-command "crudini --set /var/lib/config-data/puppet-generated/nova_libvirt/etc/nova/nova.conf libvirt virt_type qemu"
+
+virt-customize -a $COMPUTE_1_NODE.qcow2 \
+  --run-command "crudini --set /var/lib/config-data/puppet-generated/nova_libvirt/etc/nova/nova.conf libvirt virt_type qemu"
+
+for image in $CONTROLLER_NODE $COMPUTE_0_NODE $COMPUTE_1_NODE
+do
+  # Change interface MTU to account for default network mtu of 1458
+  virt-customize -a $image.qcow2 \
+    --run-command 'sudo echo "MTU=\"1458\"" >> /etc/sysconfig/network-scripts/ifcfg-eth0' \
+    --run-command 'sudo echo "MTU=\"1458\"" >> /etc/sysconfig/network-scripts/ifcfg-br-int' \
+    --run-command 'sudo echo "MTU=\"1458\"" >> /etc/sysconfig/network-scripts/ifcfg-ovs-system' \
+    --run-command "sudo crudini --set /etc/selinux/config '' SELINUX permissive"
+done
+
+popd
+
+openstack image list
+
+# clean out any zombie OPNFV - apex images that *may* be left over from troubled jobs
+openstack image list | egrep 'OPNFV - apex.*new ' | awk '{print "openstack image delete",$2}' | sh || true
+
+qemu-img convert -f qcow2 -O raw /tmp/apex_snapshots/$CONTROLLER_NODE.qcow2 /tmp/apex_snapshots/$CONTROLLER_NODE.raw
+rm /tmp/apex_snapshots/$CONTROLLER_NODE.qcow2
+qemu-img convert -f qcow2 -O raw /tmp/apex_snapshots/$COMPUTE_0_NODE.qcow2 /tmp/apex_snapshots/$COMPUTE_0_NODE.raw
+rm /tmp/apex_snapshots/$COMPUTE_0_NODE.qcow2
+qemu-img convert -f qcow2 -O raw /tmp/apex_snapshots/$COMPUTE_1_NODE.qcow2 /tmp/apex_snapshots/$COMPUTE_1_NODE.raw
+rm /tmp/apex_snapshots/$COMPUTE_1_NODE.qcow2
+
+# create .new images first, then we can delete the existing and rename .new
+# to existing to reduce the delta of when these images might be unavailable
+CONTROLLER_IMAGE_NAME="ZZCI - OPNFV - apex - controller - 0"
+COMPUTE_0_IMAGE_NAME="ZZCI - OPNFV - apex - compute - 0"
+COMPUTE_1_IMAGE_NAME="ZZCI - OPNFV - apex - compute - 1"
+
+openstack image create \
+  --disk-format raw --container-format bare \
+  --file /tmp/apex_snapshots/$CONTROLLER_NODE.raw "$CONTROLLER_IMAGE_NAME.new"
+openstack image create \
+  --disk-format raw --container-format bare \
+  --file /tmp/apex_snapshots/$COMPUTE_0_NODE.raw "$COMPUTE_0_IMAGE_NAME.new"
+openstack image create \
+  --disk-format raw --container-format bare \
+  --file /tmp/apex_snapshots/$COMPUTE_1_NODE.raw "$COMPUTE_1_IMAGE_NAME.new"
+
+# clean out any non ".new" OPNFV - apex images. In the case of a previously failed
+# or aborted apex management job, we can end up with multiple images with the same
+# name so being thorough here.
+openstack image list | egrep 'OPNFV - apex' | egrep -v 'new' | awk '{print "openstack image delete",$2}' | sh
+
+openstack image set --name "$CONTROLLER_IMAGE_NAME" "$CONTROLLER_IMAGE_NAME.new"
+openstack image set --tag "Date Uploaded: $(date)" "$CONTROLLER_IMAGE_NAME"
+openstack image set --tag "Apex Archive: $(basename $OPNFV_SNAP_URL)" "$CONTROLLER_IMAGE_NAME"
+
+openstack image set --name "$COMPUTE_0_IMAGE_NAME" "$COMPUTE_0_IMAGE_NAME.new"
+openstack image set --tag "Date Uploaded: $(date)" "$COMPUTE_0_IMAGE_NAME"
+openstack image set --tag "Apex Archive: $(basename $OPNFV_SNAP_URL)" "$COMPUTE_0_IMAGE_NAME"
+
+openstack image set --name "$COMPUTE_1_IMAGE_NAME" "$COMPUTE_1_IMAGE_NAME.new"
+openstack image set --tag "Date Uploaded: $(date)" "$COMPUTE_1_IMAGE_NAME"
+openstack image set --tag "Apex Archive: $(basename $OPNFV_SNAP_URL)" "$COMPUTE_1_IMAGE_NAME"
+
+# Now that the images should be up, active and ready, we can update
+# the ssh key and node.yaml in swift
+openstack container create OPNFV-APEX-SNAPSHOTS
+openstack object create OPNFV-APEX-SNAPSHOTS /tmp/apex_snapshots/node.yaml --name node.yaml
+openstack object create OPNFV-APEX-SNAPSHOTS /tmp/apex_snapshots/id_rsa --name id_rsa
+openstack object create OPNFV-APEX-SNAPSHOTS /tmp/apex_snapshots/overcloudrc --name overcloudrc
+openstack object list OPNFV-APEX-SNAPSHOTS
+
+openstack image list
+
+df -h
+
index 1bf889d7078cc1b56055dc0b604838db7d460e32..493f776b7549cda38814220fa9dfcf1ab70c63b6 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2017 The Linux Foundation and others.
@@ -11,9 +11,6 @@
 
 echo "----------> Copy ssh public keys to csit lab"
 
-# shellcheck source=/tmp/v/openstack/bin/activate disable=SC1091
-source "/tmp/v/openstack/bin/activate"
-
 function copy-ssh-keys-to-slave() {
     RETRIES=60
     for j in $(seq 1 $RETRIES); do
index 972ec210a087332af21927858ae2c7656396460a..26e68becdf2288c4d89f867986242fe309cbdb68 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2017 The Linux Foundation and others.
@@ -9,18 +9,9 @@
 # http://www.eclipse.org/legal/epl-v10.html
 ##############################################################################
 
-virtualenv "/tmp/v/openstack"
-# shellcheck source=/tmp/v/openstack/bin/activate disable=SC1091
-source "/tmp/v/openstack/bin/activate"
-pip install --upgrade "pip<10.0.0" setuptools
-# hardcoding cmd2 version as the most recent version seems to be broken.
-# reference: https://pypi.org/project/cmd2/#history
-pip install --upgrade cmd2==0.8.5 python-openstackclient python-heatclient
-pip freeze
-
 # TODO: Remove the if-statement once we have fully migrated to /opt/ciman
-if [ -d "/opt/ciman" ]; then
-    cd /opt/ciman || exit 1
+if [ -d "/opt/ciman/openstack-hot" ]; then
+    cd /opt/ciman/openstack-hot || exit 1
 else
     cd /builder/openstack-hot || exit 1
 fi
index 1d204fb82bbac13d6f628989d0397dbfe5ebae84..4cda23afcd78b588732113a154b87782828f10b5 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
@@ -21,7 +23,7 @@
 
     # Job images
     tools_system_count: 2
-    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20180723-235605.507'
+    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20181001-220228.326'
 
     # Features to install
     install-features: 'odl-openflowplugin-flow-services-rest'
index 5e518c1270bc68b149e855b92162644daca0136d..27540e73ccef4d1eeae307fec6d004e4cc426aa8 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
@@ -22,7 +24,7 @@
           scope: 'only'
 
     # Job images
-    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20180723-235605.507'
+    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20181001-220228.326'
 
     # Features to install
     install-features: 'odl-openflowplugin-flow-services-rest,odl-openflowplugin-drop-test'
index 8dcbbc35d4bab1f085c3ad528c2cede6bba07ede..04b07adb1f677b61f1fb9f872ff15c45ad8ae55b 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
@@ -24,7 +26,7 @@
           scope: 'only'
 
     # Job images
-    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20180723-235605.507'
+    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20181001-220228.326'
 
     # Features to install
     install-features: 'odl-openflowplugin-flow-services-rest,odl-openflowplugin-app-bulk-o-matic'
index a1c65c659062a3161f1f74cad6359061c1826e7c..ff8ba430f00d2baba6bca5e6c21174be694e7b79 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
@@ -24,7 +26,7 @@
           scope: 'only'
 
     # Job images
-    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20180723-235605.507'
+    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20181001-220228.326'
 
     # Features to install
     install-features: >
index de884107d4776c225082e569f4a4d4f0c436f519..9bbc4cf698cde000b6576fff60d2b5b33b52ba10 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
@@ -24,7 +26,7 @@
           scope: 'only'
 
     # Job images
-    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20180723-235605.507'
+    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20181001-220228.326'
 
     # Features to install
     install-features: >
index 7b6f51859ad65e4d3ecefbad2eca229d89b7e5f2..36c42a25308ce6be16775c7450add4a55d9a1f1d 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
@@ -24,7 +26,7 @@
           scope: 'all'
 
     # Job images
-    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20180723-235605.507'
+    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20181001-220228.326'
 
     # Features to install
     install-features: >
index 5a43439c1187eb9a47b90486b62ef6461f5bb102..ca0d53dbe07e80754405eec5f0e5715112493002 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
@@ -23,7 +25,7 @@
           scope: 'only'
 
     # Job images
-    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20180723-235605.507'
+    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20181001-220228.326'
 
     # Features to install
     install-features: >
index a5e190ec9ff775e41a9b559137044b2c95f15c90..540f34830855505b7f2c7b53fa7566651026a7a7 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
@@ -24,7 +26,7 @@
           scope: 'only'
 
     # Job images
-    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20180723-235605.507'
+    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20181001-220228.326'
 
     # Features to install
     install-features: >
index cb43fc97ba4a7af30a77918bd49cc78683825c69..1232f7ff9dbb45834d8fc0122dcd2baecb76dff0 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
@@ -24,7 +26,7 @@
           scope: 'only'
 
     # Job images
-    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20180723-235605.507'
+    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20181001-220228.326'
 
     # Features to install
     install-features: 'odl-openflowplugin-flow-services-rest'
index 66165551b5f55a96fb727d638bc8eced678f1f30..aa2a4db56aa826284460afec764323678b4b6920 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
@@ -23,7 +25,7 @@
           scope: 'only'
 
     # Job images
-    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20180723-235605.507'
+    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20181001-220228.326'
 
     # Features to install
     install-features: >
index c85c13dcf8d5df5d5aa228d39f4ae99e0d38a179..f5287d8b9cd3ce36d370f7c4e5aa6c61177f8554 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
@@ -22,7 +24,7 @@
           scope: 'only'
 
     # Job images
-    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20180723-235605.507'
+    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20181001-220228.326'
 
     # Features to install
     install-features: >
index 2fd214190228b466bbb06feaf3893d1e68b74f7c..7bd8ad239e5e831f3f376f9f3236e951f6b7d22b 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
@@ -22,7 +24,7 @@
           scope: 'only'
 
     # Job images
-    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20180723-235605.507'
+    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20181001-220228.326'
 
     # Features to install
     install-features: >
index e0c77626e2119eb016f1d700c98f162f6b87238f..7d0a84343612501424320651bb236e3204ec3414 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
@@ -24,7 +26,7 @@
           scope: 'only'
 
     # Job images
-    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20180723-235605.507'
+    tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20181001-220228.326'
 
     # Features to install
     install-features: >
index dfe30a048c455c783c624249070086a5e39d8b49..bcfd5647e3a9c417485658667ad1553c84e215a3 100644 (file)
@@ -9,9 +9,12 @@
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           os-branch: 'queens'
+      - fluorine:
+          branch: 'stable/fluorine'
+          os-branch: 'queens'
       - oxygen:
           branch: 'stable/oxygen'
           os-branch: 'queens'
@@ -39,4 +42,4 @@
 
       - genius:
           csit-list: >
-              genius-csit-1node-gate-all-{stream}
+              genius-csit-1node-gate-only-{stream}
index f4630fd143b918261905c1aaaac1c164115938ef..4e63550a9c1da0e1adf4db6fd9ce91dc55734939 100644 (file)
@@ -1,4 +1,36 @@
 ---
+- project:
+    name: openflowplugin-neon
+    jobs:
+      - '{project-name}-distribution-check-{stream}'
+      - '{project-name}-maven-javadoc-jobs'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          doc-dir: .tox/docs/tmp/html
+          project-pattern: openflowplugin
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-openflowplugin/38994/
+          rtd-token: 86ce095922558b890c61b1b05d682521d1d66d5f
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'openflowplugin'
+    project-name: 'openflowplugin'
+    branch: 'master'
+    build-node: centos7-builder-2c-8g
+    build-timeout: 90
+    mvn-settings: 'openflowplugin-settings'
+    mvn-goals: 'clean deploy javadoc:aggregate'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: >
+        odlparent-merge-{stream},
+        yangtools-merge-{stream},
+        controller-merge-{stream},
+        openflowjava-merge-{stream}
+    email-upstream: '[openflowplugin] [odlparent] [yangtools] [controller] [openflowjava]'
+
+    # Used by the release job
+    staging-profile-id: a68a76dc1b44c
+
 - project:
     name: openflowplugin-fluorine
     jobs:
@@ -15,7 +47,7 @@
     stream: fluorine
     project: 'openflowplugin'
     project-name: 'openflowplugin'
-    branch: 'master'
+    branch: 'stable/fluorine'
     build-node: centos7-builder-2c-8g
     build-timeout: 90
     mvn-settings: 'openflowplugin-settings'
index d1ca270379adabc14c0176c33d56e8cad99afcfa..9702ce9c814dec8a62c89e48daa75defcdca0a3a 100644 (file)
@@ -6,11 +6,16 @@
       - 'opflex-merge-{stream}'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           libuv-version: '1.8.0'
           rapidjson-version: '1.0.2'
           openvswitch-version: '2.6.0'
+      - fluorine:
+          branch: 'stable/fluorine'
+          libuv-version: '1.8.0'
+          rapidjson-version: '1.0.2'
+          openvswitch-version: '2.6.0'
       - oxygen:
           branch: 'stable/oxygen'
           libuv-version: '1.8.0'
index aef8a08695bb29a75a504fd51933e4253898d54b..640f4213bb1a0f764b86010499bcbcce2f8bbb26 100644 (file)
@@ -2,14 +2,24 @@
 - project:
     name: opflex-release
     jobs:
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: opflex
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-opflex/52373/
+          rtd-token: bf99281866a176904cf12861789deaf04d4b0c45
       - 'opflex-release-{stream}'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           libuv-version: '1.8.0'
           rapidjson-version: '1.0.2'
           openvswitch-version: '2.6.0'
+      - fluorine:
+          branch: 'stable/fluorine'
+          libuv-version: '1.8.0'
+          rapidjson-version: '1.0.2'
+          openvswitch-version: '2.6.0'
       - oxygen:
           branch: 'stable/oxygen'
           libuv-version: '1.8.0'
index d25238db6e5740b028c6bbcd9fedb70de6fbaa52..ea6cbc85b086b4097df528c99f2bdfb7cfae97a8 100644 (file)
@@ -1,4 +1,23 @@
 ---
+- project:
+    name: ovil-neon
+    jobs:
+      - odl-maven-jobs
+      - gerrit-tox-verify
+
+    stream: neon
+    project: ovil
+    project-name: ovil
+    branch: 'master'
+    mvn-settings: ovil-settings
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+
+    dependencies: ''
+    email-upstream: '[ovil]'
+
+    # Used by the release job
+    staging-profile-id: 7b48866c207d8
+
 - project:
     name: ovil-fluorine
     jobs:
@@ -8,7 +27,7 @@
     stream: fluorine
     project: ovil
     project-name: ovil
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: ovil-settings
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
 
index d819198819a94e4a42e66d1610eb88d24caa50e1..4eb6ee08b65c163b925699ccb88f6a0d090c5a4e 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index bb00aba5f0791842259ffc0ba11aaafec337cb5a..7453bddb94aad3719e4a7809094d66671dc23d99 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 034696f571437adbe2a17c7285bebdb9e0a287e7..e110e35a979ee06687a1e8181c998c660d895676 100644 (file)
@@ -5,8 +5,10 @@
       - 'ovsdb-daily-full-integration-{stream}'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index dfd1d59acf6d468476c7e7a0454cc2745962bb62..560e8b127b4ff5ddec1282d609fe4e72efa64094 100644 (file)
@@ -8,9 +8,12 @@
     project: 'ovsdb'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           os-branch: 'queens'
+      - fluorine:
+          branch: 'stable/fluorine'
+          os-branch: 'queens'
       - oxygen:
           branch: 'stable/oxygen'
           os-branch: 'queens'
@@ -20,7 +23,7 @@
     feature:
       - genius:
           csit-list: >
-              genius-csit-1node-gate-all-{stream}
+              genius-csit-1node-gate-only-{stream}
       - netvirt:
           csit-list: >
               netvirt-csit-1node-{os-std-topo}-openstack-{os-branch}-gate-stateful-{stream}
index 47413b7095846a3f9e4259633334d64c0b266b6b..257c99ab03b71a69afd984303e69675992437342 100644 (file)
 
     triggers:
       - timed: '{schedule-saturday}'
-      - gerrit-trigger-patch-sonar:
-          gerrit-server-name: '{gerrit-server-name}'
-          name: 'ovsdb'
+      - gerrit:
+          server-name: '{gerrit-server-name}'
+          trigger-on:
+            - comment-added-contains-event:
+                comment-contains-value: 'run-sonar$'
+          projects:
+            - project-compare-type: 'ANT'
+              project-pattern: '{project}'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**/master'
+          skip-vote:
+            successful: true
+            failed: true
+            unstable: true
+            notbuilt: true
 
     builders:
       - shell: !include-raw-escape: setup-docker.sh
index 149e76adef62ed50f74633918f27605eb6cf87f9..3553845105175b2d7a4e80c2bf386fdf2708407f 100644 (file)
@@ -1,4 +1,29 @@
 ---
+- project:
+    name: ovsdb-neon
+    jobs:
+      - '{project-name}-distribution-check-{stream}'
+      - '{project-name}-maven-javadoc-jobs'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: ovsdb
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/opendaylight-ovsdb/35667/
+          rtd-token: 46030df8681cf7fc857aa80c1a7695f46ed252be
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'ovsdb'
+    project-name: 'ovsdb'
+    branch: 'master'
+    build-node: centos7-builder-2c-8g
+    mvn-settings: 'ovsdb-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream},controller-merge-{stream},yangtools-merge-{stream}'
+    email-upstream: '[ovsdb] [odlparent] [controller] [yangtools]'
+
+    # Used by the release job
+    staging-profile-id: a68b188166958
+
 - project:
     name: ovsdb-fluorine
     jobs:
@@ -14,7 +39,7 @@
     stream: fluorine
     project: 'ovsdb'
     project-name: 'ovsdb'
-    branch: 'master'
+    branch: 'stable/fluorine'
     build-node: centos7-builder-2c-8g
     mvn-settings: 'ovsdb-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
diff --git a/jjb/p4plugin/p4plugin-csit-basic.yaml b/jjb/p4plugin/p4plugin-csit-basic.yaml
deleted file mode 100644 (file)
index 0b892c0..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
----
-- project:
-    name: p4plugin-csit-basic
-    jobs:
-      - inttest-csit-1node
-
-    # The project name
-    project: 'p4plugin'
-
-    # The functionality under test
-    functionality: 'basic'
-
-    # Project branches
-    stream:
-      - fluorine:
-          branch: 'master'
-      - oxygen:
-          branch: 'stable/oxygen'
-
-    install:
-      - all:
-          scope: 'all'
-
-    # Features to install
-    install-features: 'odl-p4plugin-all'
-
-    # Robot custom options
-    robot-options: ''
index 39e0d8a2dd6fa1181591dc7199eee350fac34358..d96dd73e99716168106aa407c6e76f6034685f48 100644 (file)
@@ -1,4 +1,22 @@
 ---
+- project:
+    name: p4plugin-neon
+    jobs:
+      - '{project-name}-maven-javadoc-jobs'
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'p4plugin'
+    project-name: 'p4plugin'
+    branch: 'master'
+    mvn-settings: 'p4plugin-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: ''
+    email-upstream: '[p4plugin]'
+
+    # Used by the release job
+    staging-profile-id: a68bf26e208d4
+
 - project:
     name: p4plugin-fluorine
     jobs:
@@ -8,7 +26,7 @@
     stream: fluorine
     project: 'p4plugin'
     project-name: 'p4plugin'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'p4plugin-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: ''
index 6502165b6893a3927e001e16e79d479ec2587a71..c3dca13bce26ee8e5fedcdfb90b44102c12a9f42 100644 (file)
@@ -17,7 +17,7 @@
 - job-template:
     name: '{project-name}-test-rpm-{stream}'
 
-    node: centos7-builder-2c-8g
+    node: centos7-builder-2c-2g
 
     project-type: freestyle
 
@@ -44,8 +44,9 @@
           build-timeout: '{build-timeout}'
 
     builders:
-      - shell: !include-raw: test-ansible-rpm.sh
-      - shell: !include-raw: test-ansible-odl-user.sh
+      - shell: !include-raw: setup-ansible-rpm.sh
+      - shell: !include-raw: test-ansible-rpm-default-config.sh
+      - shell: !include-raw: test-ansible-rpm-custom-config.sh
 
     triggers:
       - timed: '@daily'
@@ -90,7 +91,9 @@
           build-timeout: '{build-timeout}'
 
     builders:
-      - shell: !include-raw: test-ansible-deb.sh
+      - shell: !include-raw: setup-ansible-deb.sh
+      - shell: !include-raw: test-ansible-deb-default-config.sh
+      - shell: !include-raw: test-ansible-deb-custom-config.sh
 
     triggers:
       - timed: '@daily'
index cffc29bdbbb79b39716f2ada594d6d5fd570cc09..7076350381c4057f3a25b5b6b4cc6c462342bb60 100644 (file)
@@ -19,6 +19,8 @@ if [ "$STREAM" == "oxygen" ]; then
   VERSION_MAJOR=8
 elif [ "$STREAM" == "fluorine" ]; then
   VERSION_MAJOR=9
+elif [ "$STREAM" == "neon" ]; then
+  VERSION_MAJOR=10
 else
   echo "Unable to convert stream to major version"
   exit 1
index 4f2f0d620454fd371cd861a8d51c5675f39d1530..da0fdcf6d275e0d36530d47bd238551e74d55b99 100644 (file)
@@ -46,7 +46,8 @@ fi
                                          --changelog_name "$CHANGELOG_NAME" \
                                          --changelog_email "$CHANGELOG_EMAIL" \
                                          direct \
-                                         --download_url "$DOWNLOAD_URL"
+                                         --download_url "$DOWNLOAD_URL" \
+                                         --pkg_version "$PKG_VERSION_OVERRIDE"
 
 # Always allow push to scratch repos, only push to CD repos in RelEng Jenkins
 if [ "$DEPLOY_TO_REPO" == "opendaylight-epel-7-x86_64-devel" ]; then
index 568f942239313c766fb585e7d2d004cceceda75f..ae1e2573bb509ca6015c8adadf2ca731a9104da9 100644 (file)
@@ -1,5 +1,74 @@
 # Integration/Packaging macros
 ---
+- builder:
+    name: install-rpm
+    builders:
+      - shell: !include-raw: install-rpm.sh
+
+- builder:
+    name: install-repo-cfg-rpm
+    builders:
+      - shell: |
+          # shellcheck disable=SC2154
+          repo_file="${REPO_CFG_FILE_URL##*/}"
+          sudo curl -s -o /etc/yum.repos.d/"$repo_file" "$REPO_CFG_FILE_URL"
+
+- builder:
+    name: start-odl
+    builders:
+      - shell: !include-raw: start-odl.sh
+
+- builder:
+    name: test-odl
+    builders:
+      - 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-ports-nofeature.sh
+      - shell: !include-raw: test-karaf-oxygensafe.expect
+      # Disable this test until ODLPARENT-139 is fixed
+      # - shell: !include-raw: test-rest-ok.sh
+
+- builder:
+    name: stop-odl
+    builders:
+      - shell: !include-raw: stop-odl.sh
+
+- builder:
+    name: uninstall-rpm
+    builders:
+      - shell: !include-raw: uninstall-rpm.sh
+
+- builder:
+    name: upgrade-odl
+    builders:
+      - shell: |
+          sudo yum upgrade -y opendaylight
+
+- builder:
+    name: install-start-test-stop-rpm
+    builders:
+      - install-rpm
+      - start-odl
+      - test-odl
+      - stop-odl
+
+- builder:
+    name: install-start-test-stop-uninstall-rpm
+    builders:
+      - install-start-test-stop-rpm
+      - uninstall-rpm
+
+- builder:
+    name: installrepcfg-upgrade-start-test-stop-rpm
+    builders:
+      - install-repo-cfg-rpm
+      - upgrade-odl
+      - start-odl
+      - test-odl
+      - stop-odl
+
 - builder:
     name: install-test-uninstall-rpm
     builders:
@@ -20,8 +89,9 @@
       - 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 || echo "No known_hosts file"
+          # Remove old host key (if exists) so future installs don't fail SSH
+          rm /home/jenkins/.ssh/known_hosts || \
+            echo "No known_hosts file to clean up, which is fine"
 
 - builder:
     name: install-test-uninstall-deb
       - shell: !include-raw: stop-odl.sh
       - shell: !include-raw: uninstall-deb.sh
       - shell: |
-          # Remove old host key so future installs don't fail to SSH
-          rm /home/jenkins/.ssh/known_hosts || echo "No known_hosts file"
+          # Remove old host key (if exists) so future installs don't fail SSH
+          rm /home/jenkins/.ssh/known_hosts || \
+            echo "No known_hosts file to clean up, which is fine"
index b3e52ed0d10b427184e32c06148c2a73c06417da..1f3459ea51271ff28f6cbc3ab8e0ab42743cac8f 100644 (file)
@@ -25,6 +25,7 @@
     project: 'integration/packaging'
 
     stream:
+      - neon
       - fluorine
       - oxygen
     distro:
@@ -40,7 +41,7 @@
 - job-template:
     name: 'packaging-build-rpm-{stream}'
 
-    node: centos7-builder-2c-8g
+    node: centos7-builder-2c-2g
 
     project-type: freestyle
 
           name: DEPLOY_TO_REPO
           default: 'opendaylight-{stream}-epel-7-x86_64-devel'
           description: 'Repository to deploy resulting package to'
+      - string:
+          name: PKG_VERSION_OVERRIDE
+          default: ''
+          description: 'Override autodetected package component of RPM version (maj.min.pat-pkg)'
 
     scm:
       - integration-gerrit-scm:
 - job-template:
     name: 'packaging-build-rpm-{distro}-snap-{stream}'
 
-    node: centos7-docker-2c-8g
+    node: centos7-docker-2c-2g
 
     project-type: freestyle
 
 - job-template:
     name: 'packaging-verify-rpm-master'
 
-    node: centos7-builder-2c-8g
+    node: centos7-builder-2c-2g
 
     project-type: freestyle
 
           build-timeout: '{build-timeout}'
 
     builders:
-      # Test Oxygen SR2 release tarball
+      # Test Oxygen SR3 release 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.8.2/karaf-0.8.2.tar.gz'
+          properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.3/karaf-0.8.3.tar.gz'
       - shell: !include-raw-escape: build-rpm.sh
       - install-test-uninstall-rpm
 
-      # Test latest Oxygen snapshot
+      # Test Fluorine ('Managed Release Common Distro') release tarball
       - inject:
-          properties-content: 'STREAM=oxygen'
-      - shell: !include-raw: build-rpm-snap.sh
+          # yamllint disable-line rule:line-length
+          properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/opendaylight/0.9.0/opendaylight-0.9.0.tar.gz'
+      - shell: !include-raw-escape: build-rpm.sh
       - install-test-uninstall-rpm
 
-      # Test Fluorine pre-release autorelease tarball
+      # Test Neon 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-2265/org/opendaylight/integration/karaf/0.9.0/karaf-0.9.0.tar.gz'
+          properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2393/org/opendaylight/integration/karaf/0.10.0/karaf-0.10.0.tar.gz'
       - shell: !include-raw-escape: build-rpm.sh
       - install-test-uninstall-rpm
 
-      # Test Fluorine multipatch zip (no parallel tarball available)
+      # Test Neon 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.9.0-SNAPSHOT/karaf-0.9.0-20180802.041004-76.zip'
+          properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.10.0-SNAPSHOT/karaf-0.10.0-20181011.124523-10.zip'
       - shell: !include-raw-escape: build-rpm.sh
       - install-test-uninstall-rpm
 
-      # Test latest Fluorine snapshot
+      # Test latest Neon snapshot
       - inject:
-          properties-content: 'STREAM=fluorine'
+          properties-content: 'STREAM=neon'
       - shell: !include-raw: build-rpm-snap.sh
       - install-test-uninstall-rpm
 
 - job-template:
     name: 'packaging-verify-full-rpm-master'
 
-    node: centos7-builder-2c-8g
+    node: centos7-builder-2c-2g
 
     project-type: freestyle
 
           build-timeout: '{build-timeout}'
 
     builders:
-      # Test Oxygen SR2 release tarball
+      # Test Oxygen SR3 release 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.8.2/karaf-0.8.2.tar.gz'
+          properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.3/karaf-0.8.3.tar.gz'
       - shell: !include-raw-escape: build-rpm.sh
       - install-test-uninstall-rpm
 
       # 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-2261/org/opendaylight/integration/karaf/0.8.3/karaf-0.8.3.tar.gz'
-      - shell: !include-raw-escape: build-rpm.sh
-      - install-test-uninstall-rpm
-
-      # Test Oxygen 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.8.3-SNAPSHOT/karaf-0.8.3-20180726.143755-1.zip'
+          properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2395/org/opendaylight/integration/karaf/0.8.4/karaf-0.8.4.tar.gz'
       - shell: !include-raw-escape: build-rpm.sh
       - install-test-uninstall-rpm
 
       - shell: !include-raw: build-rpm-snap.sh
       - install-test-uninstall-rpm
 
+      # Test Fluorine ('Managed Release Common Distro') release tarball
+      - inject:
+          # yamllint disable-line rule:line-length
+          properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/opendaylight/0.9.0/opendaylight-0.9.0.tar.gz'
+      - shell: !include-raw-escape: build-rpm.sh
+      - install-test-uninstall-rpm
+
       # Test Fluorine 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-2265/org/opendaylight/integration/karaf/0.9.0/karaf-0.9.0.tar.gz'
+          properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2394/org/opendaylight/integration/karaf/0.9.1/karaf-0.9.1.tar.gz'
       - shell: !include-raw-escape: build-rpm.sh
       - install-test-uninstall-rpm
 
       # 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.9.0-SNAPSHOT/karaf-0.9.0-20180802.041004-76.zip'
+          properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.9.1-SNAPSHOT/karaf-0.9.1-20181015.150828-5.zip'
       - shell: !include-raw-escape: build-rpm.sh
       - install-test-uninstall-rpm
 
       - shell: !include-raw: build-rpm-snap.sh
       - install-test-uninstall-rpm
 
+      # Test Neon 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-2393/org/opendaylight/integration/karaf/0.10.0/karaf-0.10.0.tar.gz'
+      - shell: !include-raw-escape: build-rpm.sh
+      - install-test-uninstall-rpm
+
+      # Test Neon 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.10.0-SNAPSHOT/karaf-0.10.0-20181011.124523-10.zip'
+      - shell: !include-raw-escape: build-rpm.sh
+      - install-test-uninstall-rpm
+
+      # Test latest Neon snapshot
+      - inject:
+          properties-content: 'STREAM=neon'
+      - shell: !include-raw: build-rpm-snap.sh
+      - install-test-uninstall-rpm
+
     triggers:
       - timed: '@daily'
       - gerrit:
 - job-template:
     name: 'packaging-test-rpm-master'
 
-    node: centos7-builder-2c-8g
+    node: centos7-builder-2c-2g
 
     parameters:
       - opendaylight-infra-parameters:
 - job-template:
     name: 'packaging-test-rpm-upgrade-master'
 
-    node: centos7-builder-2c-8g
+    node: centos7-builder-2c-2g
 
     parameters:
       - opendaylight-infra-parameters:
           branch: '{branch}'
           refspec: 'refs/heads/{branch}'
           artifacts: '{archive-artifacts}'
-      - string:
-          name: URL
-          # yamllint disable-line rule:line-length
-          default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-8-release.repo'
-          description: 'Link to .repo or .rpm file'
-      - string:
-          name: UPGRADE_URL
-          # yamllint disable-line rule:line-length
-          default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-8-devel.repo'
-          description: 'Link to .repo or .rpm file'
 
     scm:
       - integration-gerrit-scm:
           build-timeout: '{build-timeout}'
 
     builders:
-      - 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
-      - shell: !include-raw: test-karaf-oxygensafe.expect
-      - shell: !include-raw: stop-odl.sh
-      - shell: !include-raw: test-rpm-upgrade.sh
-      - shell: !include-raw: start-odl.sh
-      - shell: !include-raw: test-karaf-oxygensafe.expect
-      - shell: !include-raw: stop-odl.sh
-      - shell: !include-raw: uninstall-rpm.sh
+      # Tests (current and future):
+      #   * Install latest release, stop/uninstall, install latest CD
+      #   * Upgrade from latest release latest CD
+      #   * TODO: Upgrade from latest release to proposed packaging/** logic
+      #   * TODO: Upgrade from CD to proposed packaging/** logic
+      #   * TODO: Upgrade from proposed packaging/** logic (older ODL) to
+      #     proposed packaging logic (latest ODL)
+
+      # Test 1: Install latest release, stop/uninstall, install latest CD
+      - inject:
+          # yamllint disable-line rule:line-length
+          properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-90-release.repo'
+      - install-start-test-stop-uninstall-rpm
+      - inject:
+          # yamllint disable-line rule:line-length
+          properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-9-devel.repo'
+      - install-start-test-stop-uninstall-rpm
+
+      # Test 2: Install latest release, stop, upgrade to latest CD
+      - inject:
+          # yamllint disable-line rule:line-length
+          properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-90-release.repo'
+      - install-start-test-stop-rpm
+      - inject:
+          # yamllint disable-line rule:line-length
+          properties-content: 'REPO_CFG_FILE_URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-9-devel.repo'
+      - installrepcfg-upgrade-start-test-stop-rpm
+
+    triggers:
+      - gerrit-trigger-patch-submitted:
+          gerrit-server-name: '{gerrit-server-name}'
+          project: '{project}'
+          branch: '{branch}'
+          files: 'packages/**'
+          forbidden-files: ''
 
     publishers:
       - lf-infra-publish
           name: CHANGELOG_EMAIL
           default: 'jenkins-donotreply@opendaylight.org'
           description: 'Email of person who defined .deb'
+      - string:
+          name: PKG_VERSION_OVERRIDE
+          default: ''
+          description: 'Override autodetected package component of RPM version (maj.min.pat-pkg)'
 
     scm:
       - integration-gerrit-scm:
index 60d3a826ea5cbc10b78d0054732e60a11d6af3d0..8dfc9de3ba3ce7ef212428d5a83418df38bf5220 100644 (file)
@@ -13,6 +13,8 @@
     stream:
       - master:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
similarity index 86%
rename from jjb/packaging/test-ansible-deb.sh
rename to jjb/packaging/setup-ansible-deb.sh
index c9e617db4c058a6061b79d86aa0252b70b1a8da1..4a64b8763b926d541941444907b8f293b39d0f76 100644 (file)
@@ -28,8 +28,3 @@ sudo apt-get install -y ansible
 # is called "ansible", which causes the cloned repo name to not match the role
 # name "opendaylight". So we need a cp/mv either way and this is simplest.
 sudo cp -R $WORKSPACE/ansible /etc/ansible/roles/opendaylight
-
-# Install OpenDaylight via repo using example Ansible playbook
-sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/examples/deb_repo.yml
-
-# Add more tests
similarity index 82%
rename from jjb/packaging/test-ansible-rpm.sh
rename to jjb/packaging/setup-ansible-rpm.sh
index d408377c62d35c0b5714ed34bffa893da2581c68..eec7cbf037408381a46746d7faef81b3d53af24a 100644 (file)
@@ -21,8 +21,3 @@ sudo yum install -y ansible
 # is called "ansible", which causes the cloned repo name to not match the role
 # name "opendaylight". So we need a cp/mv either way and this is simplest.
 sudo cp -R $WORKSPACE/ansible /etc/ansible/roles/opendaylight
-
-# Install OpenDaylight via repo using example Ansible playbook
-sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/examples/rpm_8_devel.yml
-
-# Add more tests
diff --git a/jjb/packaging/test-ansible-deb-custom-config.sh b/jjb/packaging/test-ansible-deb-custom-config.sh
new file mode 100644 (file)
index 0000000..0418c41
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+# Uninstall any previous installation
+sudo apt-get remove opendaylight && sudo apt-get purge opendaylight
+
+# Delete the ODL directory to ensure a clean working enviroment
+sudo rm -rf /opt/opendaylight
+
+# Install OpenDaylight via repo using example Ansible playbook
+sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/examples/deb_repo_api.yml --extra-vars "@$WORKSPACE/ansible/examples/log_vars.json"
+
+# Create Ansible custom module directories
+sudo mkdir -p /usr/share/ansible/plugins/modules
+
+# Copy the custom module to the directory above
+sudo cp $WORKSPACE/ansible/library/odl_usermod.py /usr/share/ansible/plugins/modules/
+
+# Execute the odl-user-test playbook
+sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/tests/test-odl-users.yaml -v
+
+# Test the custom log configurations
+sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/tests/test-odl-logs.yaml -e test_log_level=DEBUG -e test_log_mechanism=console -v
diff --git a/jjb/packaging/test-ansible-deb-default-config.sh b/jjb/packaging/test-ansible-deb-default-config.sh
new file mode 100644 (file)
index 0000000..031a306
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+# Uninstall any previous installation
+sudo apt-get remove opendaylight && sudo apt-get purge opendaylight
+
+# Delete the ODL directory to ensure a clean working enviroment
+sudo rm -rf /opt/opendaylight
+
+# Install OpenDaylight via repo using example Ansible playbook
+sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/examples/deb_repo_api.yml
+
+# Create Ansible custom module directories
+sudo mkdir -p /usr/share/ansible/plugins/modules
+
+# Copy the custom module to the directory above
+sudo cp $WORKSPACE/ansible/library/odl_usermod.py /usr/share/ansible/plugins/modules/
+
+# Execute the odl-user-test playbook
+sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/tests/test-odl-users.yaml -v
+
+# Test the custom log configurations
+sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/tests/test-odl-logs.yaml -e test_log_level=INFO -e test_log_mechanism=file -v
index 8e7ad21c0ce07e2156d3927a497f8a777eec5361..7535807fd7de9b70adeb4a68bcaa82c6828c6c7a 100644 (file)
@@ -1,34 +1,10 @@
 #!/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
-
-# Install required packages
-virtualenv rpm_build
-source rpm_build/bin/activate
-rpm_build/bin/python -m pip install --upgrade pip
-
-# Install Ansible
-sudo yum install -y ansible
-
-# Install local version of ansible-opendaylight to path expected by Ansible.
-# Could almost do this by setting ANSIBLE_ROLES_PATH=$WORKSPACE, but Ansible
-# expects the dir containing the role to have the name of role. The JJB project
-# is called "ansible", which causes the cloned repo name to not match the role
-# name "opendaylight". So we need a cp/mv either way and this is simplest.
-sudo cp -R $WORKSPACE/ansible /etc/ansible/roles/opendaylight
-
-# Install OpenDaylight via repo using example Ansible playbook
-sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/examples/rpm_8_devel.yml
-
 # Create Ansible custom module directories
 sudo mkdir -p /usr/share/ansible/plugins/modules
 
 # Copy the custom module to the directory above
 sudo cp $WORKSPACE/ansible/library/odl_usermod.py /usr/share/ansible/plugins/modules/
 
-# Execute the tests playnook
-sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/tests/test-odl-users.yaml -vvv
+# Execute the odl-user-test playbook
+sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/tests/test-odl-users.yaml -v
diff --git a/jjb/packaging/test-ansible-rpm-custom-config.sh b/jjb/packaging/test-ansible-rpm-custom-config.sh
new file mode 100644 (file)
index 0000000..07a8c17
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+# Uninstall any previous installation
+sudo yum remove opendaylight -y
+
+# Delete the ODL directory to ensure a clean working enviroment
+sudo rm -rf /opt/opendaylight
+
+# Install OpenDaylight with custom config via repo using example Ansible playbook
+sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/examples/rpm_8_devel_odl_api.yml --extra-vars "@$WORKSPACE/ansible/examples/log_vars.json"
+
+# Create Ansible custom module directories
+sudo mkdir -p /usr/share/ansible/plugins/modules
+
+# Copy the custom module to the directory above
+sudo cp $WORKSPACE/ansible/library/odl_usermod.py /usr/share/ansible/plugins/modules/
+
+# Execute the odl-user-test playbook
+sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/tests/test-odl-users.yaml -v
+
+# Test the custom log configurations
+sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/tests/test-odl-logs.yaml -e test_log_level=DEBUG -e test_log_mechanism=console -v
diff --git a/jjb/packaging/test-ansible-rpm-default-config.sh b/jjb/packaging/test-ansible-rpm-default-config.sh
new file mode 100644 (file)
index 0000000..fe88d0e
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+# Uninstall any previous installation
+sudo yum remove opendaylight -y
+
+# Delete the ODL directory to ensure a clean working enviroment
+sudo rm -rf /opt/opendaylight
+
+# Install OpenDaylight with custom config via repo using example Ansible playbook
+sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/examples/rpm_8_devel_odl_api.yml
+
+# Create Ansible custom module directories
+sudo mkdir -p /usr/share/ansible/plugins/modules
+
+# Copy the custom module to the directory above
+sudo cp $WORKSPACE/ansible/library/odl_usermod.py /usr/share/ansible/plugins/modules/
+
+# Execute the odl-user-test playbook
+sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/tests/test-odl-users.yaml -v
+
+# Test the custom log configurations
+sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/tests/test-odl-logs.yaml -e test_log_level=INFO -e test_log_mechanism=file -v
index 8b5fbcd67e1651992b74c6aa27f6e9c39e2caebe..efcdf4a2c58919d9d7b7e0e651d3769487205891 100644 (file)
@@ -18,6 +18,7 @@ send_user "Waiting on OpenDaylight to start listening for SSH on port 8101\n"
 exec bash -c "while ! nmap -Pn -p8101 localhost | grep -q open; do sleep 0.1; done"
 
 # SSH into Karaf shell
+send_user "SSH into ODL Karaf shell\n"
 spawn ssh -p 8101 -o StrictHostKeyChecking=no karaf@127.0.0.1
 
 # Auth to Karaf shell
@@ -26,8 +27,18 @@ expect "Password: "
 send "$password\r"
 
 # Show features to make debugging easier
+# Check for "No features available" error message
 expect "$prompt"
 send "feature:list\r"
+expect {{
+  timeout {{
+    send_user "\nFeatures seem to be available\n"
+  }}
+  "No features available" {{
+    send_user "\nNo features available, error\n"
+    exit 1
+  }}
+}}
 
 # Verify that a major feature is present
 expect "$prompt"
@@ -66,3 +77,5 @@ expect {{
 #     send_user "\nTest feature installed successfully\n"
 #   }}
 # }}
+
+send_user "End of Karaf shell tests\n"
diff --git a/jjb/packaging/test-odl-logs.sh b/jjb/packaging/test-odl-logs.sh
new file mode 100644 (file)
index 0000000..a8cca75
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+# Execute the test ODL logs playbook
+sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/tests/test-odl-logs.yaml -v
index c91acc53a26c223ab4686b39310f78616d8e2e1b..a7faeb446229094923f756f0160c521ab3959b2e 100644 (file)
@@ -26,7 +26,7 @@ sudo docker exec $docker_id /bin/bash $scripts_path/start-odl.sh
 sudo docker exec $docker_id /bin/bash $scripts_path/test-ports-nofeature.sh
 
 # Don't install test feature and check REST for Oxygen, ODLPARENT-139 breaks it
-if [ "$STREAM" == "oxygen" ] || [ "$STREAM" == "fluorine" ]; then
+if [ "$STREAM" == "oxygen" ] || [ "$STREAM" == "fluorine" ] || [ "$STREAM" == "neon" ]; then
   sudo docker exec $docker_id /usr/bin/expect $scripts_path/test-karaf-oxygensafe.expect
 else
   sudo docker exec $docker_id /usr/bin/expect $scripts_path/test-karaf.expect
index 44a7263f0885b323e864ac11a7f14b76a1775f8e..1c2b4563232d0c20282ba690140db508d468b94a 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 67d37c5a5993ad456f05cf699264043f16422247..af6a871cf4944ff99330c833bc48edf52d827fda 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: packetcable-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'packetcable'
+    project-name: 'packetcable'
+    branch: 'master'
+    mvn-settings: 'packetcable-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: ''
+    email-upstream: '[packetcable]'
+
+    # Used by the release job
+    staging-profile-id: a68ca4a24655c
+
 - project:
     name: packetcable-fluorine
     jobs:
@@ -7,7 +24,7 @@
     stream: fluorine
     project: 'packetcable'
     project-name: 'packetcable'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'packetcable-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: ''
diff --git a/jjb/persistence/persistence.yaml b/jjb/persistence/persistence.yaml
deleted file mode 100644 (file)
index ec7f7e5..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
----
-- project:
-    name: persistence-fluorine
-    jobs:
-      - odl-maven-jobs
-
-    stream: fluorine
-    project: 'persistence'
-    project-name: 'persistence'
-    branch: 'master'
-    jdk: openjdk7
-    mvn-settings: 'persistence-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-    dependencies: ''
-    email-upstream: '[persistence]'
-
-    # Used by the release job
-    staging-profile-id: a68d3c2bb44d1
-
-- project:
-    name: persistence-oxygen
-    jobs:
-      - odl-maven-jobs
-
-    stream: oxygen
-    project: 'persistence'
-    project-name: 'persistence'
-    branch: 'stable/oxygen'
-    jdk: openjdk7
-    mvn-settings: 'persistence-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-    dependencies: ''
-    email-upstream: '[persistence]'
-
-    # Used by the release job
-    staging-profile-id: a68d3c2bb44d1
-
-- project:
-    name: persistence-sonar
-    jobs:
-      - gerrit-maven-sonar
-    project: 'persistence'
-    project-name: 'persistence'
-    branch: 'master'
-    mvn-settings: 'persistence-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-
-- view:
-    name: persistence
-    description: 'List of persistence jobs'
-    regex: '^persistence-.*'
-    <<: *releng_view_common
index 7cbd88e5d30e16825f8c547324b3641518d08ef4..327ee7ac7366454be4e8430412aae5b682aa1fec 100644 (file)
@@ -8,6 +8,7 @@
           rtd-token: e9fa62bd60a39c22de631791309ccacc37a9929e
       - gerrit-jenkins-cfg-merge:
           jenkins-silos: releng sandbox
+      - gerrit-jenkins-sandbox-cleanup
       - gerrit-jjb-deploy-job
       - gerrit-jjb-merge:
           build-node: centos7-builder-4c-4g
       - timed: '0,30 * * * *'
 
     builders:
-      - odl-openstack-install
+      - lf-infra-pre-build
+      - shell: |
+          #!/bin/bash -l
+          pip install --user --upgrade lftools[openstack]~=0.17.1
       # Servers
       - odl-openstack-cleanup-stale-stacks
       - odl-openstack-cleanup-stale-nodes
index 74f42ae9f9cbf8d95ce8bbfb408868a5c46ff669..893d6b7236229b8d0f3097df2f45e7fdaf8d6951 100644 (file)
           gerrit-build-unstable-codereview-value: 0
           gerrit-build-notbuilt-codereview-value: 0
 
-# TODO: Unify argument names across gerrit-trigger-* macros.
-- trigger:
-    name: gerrit-trigger-patch-sonar
-    triggers:
-      - gerrit:
-          server-name: '{gerrit-server-name}'
-          trigger-on:
-            - comment-added-contains-event:
-                comment-contains-value: 'run-sonar'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{name}'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/master'
-          skip-vote:
-            successful: true
-            failed: true
-            unstable: true
-            notbuilt: true
-
 - publisher:
     name: email-notification
     publishers:
       - shell: !include-raw: opendaylight-infra-stack.sh
       - shell: !include-raw-escape: opendaylight-infra-copy-ssh-keys.sh
 
+- builder:
+    name: opendaylight-apex-stack
+    # opendaylight-apex-stack.sh has a required variable {stack-template} that
+    # must be passed into this macro.
+    builders:
+      - shell: !include-raw: opendaylight-infra-stack.sh
+
 - builder:
     name: distribute-build-url
     # Place URL of the current run of a build job to a file at given path.
                 - UNSTABLE
               build-steps:
                 - shell: |
-                    #!/bin/bash
+                    #!/bin/bash -l
                     echo "Deleting $STACK_NAME"
-                    source "/tmp/v/openstack/bin/activate"
                     openstack stack delete --yes "$STACK_NAME"
           mark-unstable-if-failed: false
 
index a2d1fd44beef1159da4aa3a57601bfee1217f0df..f5c4d26a879406fb9ba7cc2b0509ff08155ce69d 100644 (file)
@@ -39,8 +39,8 @@
     build-timeout: 90
     cron: '00 H 1 * *'
 
-    templates: devstack
     platforms: centos-7
+    templates: devstack
 
 - project:
     name: packer-devstack-pre-pip-pike-jobs
@@ -56,8 +56,8 @@
     build-timeout: 75
     cron: '00 H 1 * *'
 
-    templates: devstack-pre-pip-pike
     platforms: centos-7
+    templates: devstack-pre-pip-pike
 
 - project:
     name: packer-devstack-pre-pip-queens-jobs
@@ -73,8 +73,8 @@
     build-timeout: 75
     cron: '00 H 1 * *'
 
-    templates: devstack-pre-pip-queens
     platforms: centos-7
+    templates: devstack-pre-pip-queens
 
 - project:
     name: packer-docker-jobs
@@ -90,7 +90,9 @@
     build-timeout: 60
     cron: '00 H 1 * *'
 
-    platforms: centos-7
+    platforms:
+      - centos-7
+      - ubuntu-16.04
     templates: docker
 
 - project:
     build-timeout: 90
     cron: '00 H 1 * *'
 
-    templates: gbp
     platforms:
       - ubuntu-14.04
       - ubuntu-16.04
+      - ubuntu-18.04
+    templates: gbp
 
 - project:
     name: packer-mininet-ovs-2.5-jobs
     build-timeout: 60
     cron: '00 H 1 * *'
 
+    platforms:
+      - ubuntu-16.04
+      - ubuntu-18.04
     templates: mininet-ovs-2.5
-    platforms: ubuntu-16.04
 
 - project:
     name: packer-mininet-ovs-2.6-jobs
     build-timeout: 75
     cron: '00 H 1 * *'
 
+    platforms:
+      - ubuntu-16.04
+      - ubuntu-18.04
     templates: mininet-ovs-2.6
-    platforms: ubuntu-16.04
 
 - project:
     name: packer-mininet-ovs-2.8-jobs
     build-timeout: 90
     cron: '00 H 1 * *'
 
+    platforms:
+      - ubuntu-16.04
+      - ubuntu-18.04
     templates: mininet-ovs-2.8
-    platforms: ubuntu-16.04
 
 - project:
     name: packer-robot-jobs
     build-timeout: 90
     cron: '00 H 1 * *'
 
-    platforms: ubuntu-16.04
+    platforms:
+      - ubuntu-16.04
+      - ubuntu-18.04
     templates: kubernetes
index 1a65cab6e39062e4d0baf33bd2e3665198921dbc..584d8f8a56691f2dd821830f56476fd73939246a 100644 (file)
@@ -3,7 +3,8 @@
     name: odl-maven-jobs
 
     jobs:
-      - gerrit-maven-clm
+      - gerrit-maven-clm:
+          nexus-iq-namespace: odl-
 
       # TODO: Figure out what's wrong with the gerrit-maven-merge job.
       # - gerrit-maven-merge:
@@ -16,7 +17,7 @@
           build-timeout: 180
           mvn-goals: clean install -V -Dmaven.compile.fork=true -Dintegrationtests -Dvtn.build.jobs=2
 
-      - gerrit-maven-release
+      - gerrit-maven-stage
       - gerrit-maven-verify
       - gerrit-maven-verify-dependencies:
           build-timeout: 180
       **/target/**/feature.xml
       **/target/failsafe-reports/failsafe-summary.xml
       **/target/surefire-reports/*-output.txt
-    cron: 'H H * * 0'
+    cron: '@daily'
     mvn-opts: ''
     mvn-version: mvn35
     java-version: openjdk8
index c63614ba5ae9d1a82d5363971dc3bb255bbc3ca0..6d879573e6eda69b08c930f36e85de5c04793a89 100644 (file)
       - robot-list
     recurse: false
 
+- view:
+    name: '00-Empty View'
+    description: >
+      Empty job view. This is used as the default landing view to keep the
+      Jenkins UI responding better while a) under high load and b) when there
+      are a lot of jobs defined in the system'
+    view-type: list
+    filter-executors: false
+    filter-queue: false
+    recurse: false
+    regex: ''
+
 - view:
     name: 01-Recent
     regex: '.*'
diff --git a/jjb/reservation/reservation.yaml b/jjb/reservation/reservation.yaml
deleted file mode 100644 (file)
index 3239c60..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
----
-- project:
-    name: reservation-fluorine
-    jobs:
-      - odl-maven-jobs
-
-    stream: fluorine
-    project: 'reservation'
-    project-name: 'reservation'
-    branch: 'master'
-    mvn-settings: 'reservation-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-    dependencies: ''
-    email-upstream: '[reservation]'
-
-    # Used by the release job
-    staging-profile-id: a68d9bc504037
-
-- project:
-    name: reservation-oxygen
-    jobs:
-      - odl-maven-jobs
-
-    stream: oxygen
-    project: 'reservation'
-    project-name: 'reservation'
-    branch: 'stable/oxygen'
-    mvn-settings: 'reservation-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-    dependencies: ''
-    email-upstream: '[reservation]'
-
-    # Used by the release job
-    staging-profile-id: a68d9bc504037
-
-- project:
-    name: reservation-sonar
-    jobs:
-      - gerrit-maven-sonar
-    project: 'reservation'
-    project-name: 'reservation'
-    branch: 'master'
-    mvn-settings: 'reservation-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-
-- view:
-    name: reservation
-    description: 'List of reservation jobs'
-    regex: '^reservation-.*'
-    <<: *releng_view_common
diff --git a/jjb/sdninterfaceapp/sdninterfaceapp-csit-basic.yaml b/jjb/sdninterfaceapp/sdninterfaceapp-csit-basic.yaml
deleted file mode 100644 (file)
index 91b9e89..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
----
-- project:
-    name: sdninterfaceapp-csit-basic
-    jobs:
-      - inttest-csit-1node
-      - inttest-csit-verify-1node
-
-    # The project name
-    project: 'sdninterfaceapp'
-
-    # The functionality under test
-    functionality: 'basic'
-
-    # Project branches
-    stream:
-      - fluorine:
-          branch: 'master'
-      - oxygen:
-          branch: 'stable/oxygen'
-
-    install:
-      - only:
-          scope: 'only'
-
-    # Features to install
-    install-features: 'odl-restconf,odl-sdninterfaceapp-all'
-
-    # Robot custom options
-    robot-options: ''
index bc5124e5f9e7c0cb024d4562ce9fb1a5c6a18a16..8f16f15412caf7d1a829bec2d0047c7aa29831a0 100644 (file)
@@ -1,4 +1,22 @@
 ---
+- project:
+    name: sdninterfaceapp-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'sdninterfaceapp'
+    project-name: 'sdninterfaceapp'
+    branch: 'master'
+    build-node: centos7-builder-2c-8g
+    mvn-settings: 'sdninterfaceapp-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'bgpcep-merge-{stream}'
+    email-upstream: '[sdninterfaceapp] [bgpcep]'
+
+    # Used by the release job
+    staging-profile-id: a68e3d1ff55e3
+
 - project:
     name: sdninterfaceapp-fluorine
     jobs:
@@ -7,7 +25,7 @@
     stream: fluorine
     project: 'sdninterfaceapp'
     project-name: 'sdninterfaceapp'
-    branch: 'master'
+    branch: 'stable/fluorine'
     build-node: centos7-builder-2c-8g
     mvn-settings: 'sdninterfaceapp-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
index 1c29f81a2c2de55e78b5742bc33399999e5ac6b1..da018f3a1bd522538555cb6abe29ec1328c8af1c 100644 (file)
@@ -7,9 +7,12 @@
     project: 'serviceutils'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           os-branch: 'queens'
+      - fluorine:
+          branch: 'stable/fluorine'
+          os-branch: 'queens'
       - oxygen:
           branch: 'stable/oxygen'
           os-branch: 'queens'
@@ -27,4 +30,4 @@
 
       - genius:
           csit-list: >
-              genius-csit-1node-gate-all-{stream}
+              genius-csit-1node-gate-only-{stream}
index b76c175959e335bbfe1350a1708f4efe70686e39..dcd019835bd268a650fa757e2fbbe5f76a63a35e 100644 (file)
       - odl-maven-jobs
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 56d49f56369cbe042b0bc0fa8e053d8acc498bb3..05b7fd2f825a8100355b234eb181d9bb7a2aa507 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index e085c8e68d93aa262e18cf4d064c6f842936f9be..d12157507d4179ce7a55737ab03d5b47bdda43dd 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 422d4e4d387cd409f0ed96515426d1b953d29078..1e4833e31b9cafd84d241149a68b59756a6eb7e4 100644 (file)
@@ -9,9 +9,12 @@
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           os-branch: 'queens'
+      - fluorine:
+          branch: 'stable/fluorine'
+          os-branch: 'queens'
       - oxygen:
           branch: 'stable/oxygen'
           os-branch: 'queens'
index ec17b9949bdd5855d21a78587ea16048ae7a6515..3dfecd935726b5ce9ecbb8e2ee488770295352ab 100644 (file)
@@ -5,8 +5,10 @@
       - 'gerrit-tox-verify'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 2b1c073b7d2c4994514551795b47fbaa253bf08a..2633981ab8972fc9b2d5c0118cfe7dc08f724b63 100644 (file)
@@ -1,4 +1,29 @@
 ---
+- project:
+    name: sfc-neon
+    jobs:
+      - '{project-name}-distribution-check-{stream}'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: sfc
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-sfc/38996/
+          rtd-token: 2fa6c2900bbe181b0427ad65df3dc494ac749edb
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'sfc'
+    project-name: 'sfc'
+    branch: 'master'
+    mvn-settings: 'sfc-settings'
+    mvn-opts: '-Xmx2048m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
+    build-timeout: 120
+    dependencies: 'openflowplugin-merge-{stream},ovsdb-merge-{stream},lispflowmapping-merge-{stream}'
+    email-upstream: '[sfc] [openflowplugin] [ovsdb] [lispflowmapping]'
+    build-node: centos7-builder-8c-8g
+
+    # Used by the release job
+    staging-profile-id: a68eb361ca48a
+
 - project:
     name: sfc-fluorine
     jobs:
@@ -13,7 +38,7 @@
     stream: fluorine
     project: 'sfc'
     project-name: 'sfc'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'sfc-settings'
     mvn-opts: '-Xmx2048m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
     build-timeout: 120
index 1faecb9f5a5ff2b2630d9469e159fb8e6f9fe688..f220373229c8cb5c342507018ad5301e87e4ba22 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: snbi-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'snbi'
+    project-name: 'snbi'
+    branch: 'master'
+    mvn-settings: 'snbi-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: ''
+    email-upstream: '[snbi]'
+
+    # Used by the release job
+    staging-profile-id: a68f328cefed6
+
 - project:
     name: snbi-fluorine
     jobs:
@@ -7,7 +24,7 @@
     stream: fluorine
     project: 'snbi'
     project-name: 'snbi'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'snbi-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: ''
index 0ec71847e7557f3927130526d4253dcb36f10f00..881caab1819e757ddb61ca45e22eb4a0b361c423 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: snmp-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'snmp'
+    project-name: 'snmp'
+    branch: 'master'
+    mvn-settings: 'snmp-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream}'
+    email-upstream: '[snmp] [odlparent]'
+
+    # Used by the release job
+    staging-profile-id: a68fb236b93a6
+
 - project:
     name: snmp-fluorine
     jobs:
@@ -7,7 +24,7 @@
     stream: fluorine
     project: 'snmp'
     project-name: 'snmp'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'snmp-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'odlparent-merge-{stream}'
index 3da5fb41f4d48e5753a02ff67245512bd12a0bde..570a42948dad82ba69df9b8ecc6d6c1781e001c8 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: snmp4sdn-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'snmp4sdn'
+    project-name: 'snmp4sdn'
+    branch: 'master'
+    mvn-settings: 'snmp4sdn-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream},controller-merge-{stream},yangtools-merge-{stream}'
+    email-upstream: '[snmp4sdn] [odlparent] [controller] [yangtools]'
+
+    # Used by the release job
+    staging-profile-id: a69034a4b6ef5
+
 - project:
     name: snmp4sdn-fluorine
     jobs:
@@ -7,7 +24,7 @@
     stream: fluorine
     project: 'snmp4sdn'
     project-name: 'snmp4sdn'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'snmp4sdn-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'odlparent-merge-{stream},controller-merge-{stream},yangtools-merge-{stream}'
index 4c3271bc68c813ea192070d2f144be3757b41241..3cb0856e0bb6ecd2790741a74a5c131f4abd9b4c 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
+          # yamllint disable-line rule:line-length
+          repo-url: 'mvn:org.opendaylight.sxp/features-sxp//xml/features'
+      - fluorine:
+          branch: 'stable/fluorine'
+          trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
           # yamllint disable-line rule:line-length
-          repo-url: 'mvn:org.opendaylight.sxp/features-sxp/1.7.0-SNAPSHOT/xml/features'
+          repo-url: 'mvn:org.opendaylight.sxp/features-sxp//xml/features'
       - oxygen:
           branch: 'stable/oxygen'
 
diff --git a/jjb/sxp/sxp-csit-binding-origin.yaml b/jjb/sxp/sxp-csit-binding-origin.yaml
new file mode 100644 (file)
index 0000000..a46a8d1
--- /dev/null
@@ -0,0 +1,36 @@
+---
+- project:
+    name: sxp-csit-binding-origin
+    jobs:
+      - inttest-csit-1node
+
+    # The project name
+    project: 'sxp'
+
+    # The functionality under test
+    functionality: 'binding-origin'
+
+    # Project branches
+    stream:
+      - neon:
+          branch: 'master'
+          trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
+          # yamllint disable-line rule:line-length
+          repo-url: 'mvn:org.opendaylight.sxp/features-sxp//xml/features'
+      - fluorine:
+          branch: 'stable/fluorine'
+          trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
+          # yamllint disable-line rule:line-length
+          repo-url: 'mvn:org.opendaylight.sxp/features-sxp//xml/features'
+
+    install:
+      - all:
+          scope: 'all'
+
+    # Features to install
+    install-features: 'odl-restconf,odl-sxp-controller'
+
+    # Robot custom options
+    robot-options: ''
index 71d140be32282a95c9a656d1838f0f85fa7feefe..723c3e4a2e1cf94385906ec2da525fa492e18f24 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
+          # yamllint disable-line rule:line-length
+          repo-url: 'mvn:org.opendaylight.sxp/features-sxp//xml/features'
+      - fluorine:
+          branch: 'stable/fluorine'
+          trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
           # yamllint disable-line rule:line-length
-          repo-url: 'mvn:org.opendaylight.sxp/features-sxp/1.7.0-SNAPSHOT/xml/features'
+          repo-url: 'mvn:org.opendaylight.sxp/features-sxp//xml/features'
       - oxygen:
           branch: 'stable/oxygen'
 
index f4488e2474b0313127c8caa85a896a2646373cee..700753c2429922ccde177eeef8309ba7bc7869b4 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
+          # yamllint disable-line rule:line-length
+          repo-url: 'mvn:org.opendaylight.sxp/features-sxp//xml/features'
+      - fluorine:
+          branch: 'stable/fluorine'
+          trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
           # yamllint disable-line rule:line-length
-          repo-url: 'mvn:org.opendaylight.sxp/features-sxp/1.7.0-SNAPSHOT/xml/features'
+          repo-url: 'mvn:org.opendaylight.sxp/features-sxp//xml/features'
       - oxygen:
           branch: 'stable/oxygen'
 
index 922b788958cf024f96fa2a2ab145a1302d3f5999..9bd243f7bca975ffaa368ec326acee5d768f2092 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
+          # yamllint disable-line rule:line-length
+          repo-url: 'mvn:org.opendaylight.sxp/features-sxp//xml/features'
+      - fluorine:
+          branch: 'stable/fluorine'
+          trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
           # yamllint disable-line rule:line-length
-          repo-url: 'mvn:org.opendaylight.sxp/features-sxp/1.7.0-SNAPSHOT/xml/features'
+          repo-url: 'mvn:org.opendaylight.sxp/features-sxp//xml/features'
       - oxygen:
           branch: 'stable/oxygen'
 
index 9a4f593310f11c741be0c4957834959a9bee3892..be41e19483781437bce7bf0a06c4312ebb9f5893 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
+          # yamllint disable-line rule:line-length
+          repo-url: 'mvn:org.opendaylight.sxp/features-sxp//xml/features'
+      - fluorine:
+          branch: 'stable/fluorine'
+          trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
           # yamllint disable-line rule:line-length
-          repo-url: 'mvn:org.opendaylight.sxp/features-sxp/1.7.0-SNAPSHOT/xml/features'
+          repo-url: 'mvn:org.opendaylight.sxp/features-sxp//xml/features'
       - oxygen:
           branch: 'stable/oxygen'
 
index 3db08c4126a0692f33dd874ecb23c43d1ffcd9c4..55bec1ec27237bf4089d694d2134b8b705b22ba1 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
+          # yamllint disable-line rule:line-length
+          repo-url: 'mvn:org.opendaylight.sxp/features-sxp//xml/features'
+      - fluorine:
+          branch: 'stable/fluorine'
+          trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
           # yamllint disable-line rule:line-length
-          repo-url: 'mvn:org.opendaylight.sxp/features-sxp/1.7.0-SNAPSHOT/xml/features'
+          repo-url: 'mvn:org.opendaylight.sxp/features-sxp//xml/features'
       - oxygen:
           branch: 'stable/oxygen'
 
index 0d64f56ae47e897b1d14841242a8b5a01e8e0e2a..6910317ec056ca71bc9443744abd94b335c79ae8 100644 (file)
@@ -1,13 +1,40 @@
 ---
+- project:
+    name: sxp-neon
+    jobs:
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: sxp
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-sxp/47573/
+          rtd-token: 4a78556e59ce3ef35e61e2fa19ebae049acf6d5d
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'sxp'
+    project-name: 'sxp'
+    branch: 'master'
+    mvn-settings: 'sxp-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream},controller-merge-{stream},yangtools-merge-{stream}'
+    email-upstream: '[sxp] [odlparent] [controller] [yangtools]'
+
+    # Used by the release job
+    staging-profile-id: a6909c75719b7
+
 - project:
     name: sxp-fluorine
     jobs:
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: sxp
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-sxp/47573/
+          rtd-token: 4a78556e59ce3ef35e61e2fa19ebae049acf6d5d
       - odl-maven-jobs
 
     stream: fluorine
     project: 'sxp'
     project-name: 'sxp'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'sxp-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'odlparent-merge-{stream},controller-merge-{stream},yangtools-merge-{stream}'
index 0adb0ca98e152f6693c1c95ec0a5bc78cfc9314e..09d519ea140218d3db1dfad2dca005e5432d6dbf 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: systemmetrics-neon
+    jobs:
+      - odl-maven-jobs
+
+    project: 'systemmetrics'
+    project-name: 'systemmetrics'
+    stream: neon
+    branch: 'master'
+    mvn-settings: 'systemmetrics-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
+    email-upstream: '[systemmetrics] [odlparent] [yangtools] [controller]'
+
+    # Used by the release job
+    staging-profile-id: a69113575458e
+
 - project:
     name: systemmetrics-fluorine
     jobs:
@@ -7,7 +24,7 @@
     project: 'systemmetrics'
     project-name: 'systemmetrics'
     stream: fluorine
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'systemmetrics-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
index 81e8d30c233b712f6794c29fd104ed612a6eb6ec..b7f34dcc5db9f4d367f93e6c5539e999e5243331 100644 (file)
@@ -1,4 +1,29 @@
 ---
+- project:
+    name: telemetry-neon
+    jobs:
+      - 'odl-maven-jobs'
+      - '{project-name}-integration-{stream}'
+
+    stream: neon
+    project: 'telemetry'
+    project-name: 'telemetry'
+    branch: 'master'
+    jdks:
+      - openjdk8
+    maven:
+      - mvn33:
+          mvn-version: 'mvn33'
+    mvn-settings: 'telemetry-settings'
+    mvn-goals: 'clean install'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: ''
+    email-upstream: '[telemetry]'
+    archive-artifacts: ''
+
+    # Used by the release job
+    staging-profile-id: 8ed9c52266504
+
 - project:
     name: telemetry-fluorine
     jobs:
@@ -8,7 +33,7 @@
     stream: fluorine
     project: 'telemetry'
     project-name: 'telemetry'
-    branch: 'master'
+    branch: 'stable/fluorine'
     jdks:
       - openjdk8
     maven:
diff --git a/jjb/topoprocessing/topoprocessing.yaml b/jjb/topoprocessing/topoprocessing.yaml
deleted file mode 100644 (file)
index 28faf07..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
----
-- project:
-    name: topoprocessing-fluorine
-    jobs:
-      - odl-maven-jobs
-
-    stream: fluorine
-    project: 'topoprocessing'
-    project-name: 'topoprocessing'
-    branch: 'master'
-    mvn-settings: 'topoprocessing-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-    dependencies: 'odlparent-merge-{stream},controller-merge-{stream},yangtools-merge-{stream}'
-    email-upstream: '[topoprocessing] [odlparent] [controller] [yangtools]'
-
-    # Used by the release job
-    staging-profile-id: a691bbe2328cb
-
-- project:
-    name: topoprocessing-oxygen
-    jobs:
-      - '{project-name}-distribution-check-{stream}'
-      - odl-maven-jobs
-
-    stream: oxygen
-    project: 'topoprocessing'
-    project-name: 'topoprocessing'
-    branch: 'stable/oxygen'
-    mvn-settings: 'topoprocessing-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-    dependencies: 'odlparent-merge-{stream},controller-merge-{stream},yangtools-merge-{stream}'
-    email-upstream: '[topoprocessing] [odlparent] [controller] [yangtools]'
-
-    # Used by the release job
-    staging-profile-id: a691bbe2328cb
-
-- project:
-    name: topoprocessing-sonar
-    jobs:
-      - gerrit-maven-sonar
-    project: 'topoprocessing'
-    project-name: 'topoprocessing'
-    branch: 'master'
-    mvn-settings: 'topoprocessing-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-
-- view:
-    name: topoprocessing
-    description: 'List of topoprocessing jobs'
-    regex: '^topoprocessing-.*'
-    <<: *releng_view_common
index c73709f0475f22ae217fa5f369caf3ca9bdc3dc7..b347ad8c9fcfa71f248935520dd967889202c7c1 100644 (file)
@@ -1,13 +1,40 @@
 ---
+- project:
+    name: transportpce-neon
+    jobs:
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: transportpce
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-transportpce/47688/
+          rtd-token: 6f37ba63226bdcc6c823ee455e62237cf68813fd
+      - odl-maven-jobs
+
+    project: 'transportpce'
+    project-name: 'transportpce'
+    stream: neon
+    branch: 'master'
+    mvn-settings: 'transportpce-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
+    email-upstream: '[transportpce] [odlparent] [yangtools] [controller]'
+
+    # Used by the release job
+    staging-profile-id: a6927323fa3d4
+
 - project:
     name: transportpce-fluorine
     jobs:
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: transportpce
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-transportpce/47688/
+          rtd-token: 6f37ba63226bdcc6c823ee455e62237cf68813fd
       - odl-maven-jobs
 
     project: 'transportpce'
     project-name: 'transportpce'
     stream: fluorine
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'transportpce-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
index 66c28d422f0b051636def09f81f4584a6f1600ea..3af4a36affbfb574c5cab5dbc605ae66f6c38aa1 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
+          # yamllint disable-line rule:line-length
+          repo-url: 'mvn:org.opendaylight.tsdr/features-tsdr//xml/features'
+      - fluorine:
+          branch: 'stable/fluorine'
+          trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
           # yamllint disable-line rule:line-length
-          repo-url: 'mvn:org.opendaylight.tsdr/features-tsdr/1.6.0-SNAPSHOT/xml/features'
+          repo-url: 'mvn:org.opendaylight.tsdr/features-tsdr//xml/features'
       - oxygen:
           branch: 'stable/oxygen'
 
index 906577b5b7469cf0d610151085656c3517d4f22a..f18d9c41fb01b13bb53d428d600bca435c5d96cf 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
+          # yamllint disable-line rule:line-length
+          repo-url: 'mvn:org.opendaylight.tsdr/features-tsdr//xml/features'
+      - fluorine:
+          branch: 'stable/fluorine'
+          trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
           # yamllint disable-line rule:line-length
-          repo-url: 'mvn:org.opendaylight.tsdr/features-tsdr/1.6.0-SNAPSHOT/xml/features'
+          repo-url: 'mvn:org.opendaylight.tsdr/features-tsdr//xml/features'
       - oxygen:
           branch: 'stable/oxygen'
 
index 689105582025ad0dd99b6a2aefc562231857b4bc..219472b649569275aba672fde32e2851c822233e 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
+          # yamllint disable-line rule:line-length
+          repo-url: 'mvn:org.opendaylight.tsdr/features-tsdr//xml/features'
+      - fluorine:
+          branch: 'stable/fluorine'
+          trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
           # yamllint disable-line rule:line-length
-          repo-url: 'mvn:org.opendaylight.tsdr/features-tsdr/1.6.0-SNAPSHOT/xml/features'
+          repo-url: 'mvn:org.opendaylight.tsdr/features-tsdr//xml/features'
       - oxygen:
           branch: 'stable/oxygen'
 
index fcffa2ac0701e8d251de6c180bc6a0f85f886015..cf00cd88636d3b1fdde25ba7807fbf4de5367849 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
+          # yamllint disable-line rule:line-length
+          repo-url: 'mvn:org.opendaylight.tsdr/features-tsdr//xml/features'
+      - fluorine:
+          branch: 'stable/fluorine'
+          trigger-jobs: '{project}-merge-{stream}'
+          karaf-version: 'odl'
           # yamllint disable-line rule:line-length
-          repo-url: 'mvn:org.opendaylight.tsdr/features-tsdr/1.6.0-SNAPSHOT/xml/features'
+          repo-url: 'mvn:org.opendaylight.tsdr/features-tsdr//xml/features'
       - oxygen:
           branch: 'stable/oxygen'
 
index 6b5dede2e14fdd71935a19a34e50ac5ac476e72e..9221d23bebe84e310aa25f56a2672ef9fbefb6ca 100644 (file)
@@ -1,13 +1,40 @@
 ---
+- project:
+    name: tsdr-neon
+    jobs:
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: tsdr
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/opendaylight-tsdr/47532/
+          rtd-token: 96c97641155132afcc5900bafc68af3364d91c99
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'tsdr'
+    project-name: 'tsdr'
+    branch: 'master'
+    mvn-settings: 'tsdr-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: ''
+    email-upstream: '[tsdr]'
+
+    # Used by the release job
+    staging-profile-id: a69373036303c
+
 - project:
     name: tsdr-fluorine
     jobs:
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: tsdr
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/opendaylight-tsdr/47532/
+          rtd-token: 96c97641155132afcc5900bafc68af3364d91c99
       - odl-maven-jobs
 
     stream: fluorine
     project: 'tsdr'
     project-name: 'tsdr'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'tsdr-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: ''
index 1b3deeb8da8d3f7383e8c75d4ae0b628c95fdaf7..b271cb3197defcbbfa1c2a61bfe7e8a2df897d1b 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: ttp-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'ttp'
+    project-name: 'ttp'
+    branch: 'master'
+    mvn-settings: 'ttp-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream}'
+    email-upstream: '[ttp] [odlparent]'
+
+    # Used by the release job
+    staging-profile-id: a693f948563d5
+
 - project:
     name: ttp-fluorine
     jobs:
@@ -7,7 +24,7 @@
     stream: fluorine
     project: 'ttp'
     project-name: 'ttp'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'ttp-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'odlparent-merge-{stream}'
index 28d6dd77686906adede2f0c66943a4441f579072..5e5af5b21e15aa52b1f2af59fb1b9b2bfb8c734e 100644 (file)
@@ -1,10 +1,15 @@
 ---
 - project:
-    name: unimgr-fluorine
+    name: unimgr-neon
     jobs:
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: unimgr
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-unimgr/49748/
+          rtd-token: e12225e9b9ac67f5439c1619dcad342393b7ea31
       - odl-maven-jobs
 
-    stream: fluorine
+    stream: neon
     project: 'unimgr'
     project-name: 'unimgr'
     branch: 'master'
     staging-profile-id: a695d0a0b8d51
 
 - project:
-    name: unimgr-oxygen
+    name: unimgr-fluorine
     jobs:
-      - '{project-name}-distribution-check-{stream}'
+      - '{project-name}-rtd-jobs':
+          build-node: centos7-builder-2c-2g
+          project-pattern: unimgr
+          rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-unimgr/49748/
+          rtd-token: e12225e9b9ac67f5439c1619dcad342393b7ea31
       - odl-maven-jobs
 
-    stream: oxygen
+    stream: fluorine
     project: 'unimgr'
     project-name: 'unimgr'
-    branch: 'stable/oxygen'
+    branch: 'stable/fluorine'
     mvn-settings: 'unimgr-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'ovsdb-merge-{stream}'
diff --git a/jjb/usc/usc-csit-channel.yaml b/jjb/usc/usc-csit-channel.yaml
deleted file mode 100644 (file)
index 72846d3..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
----
-- project:
-    name: usc-csit-channel
-    jobs:
-      - inttest-csit-1node
-      - inttest-csit-verify-1node
-
-    # The project name
-    project: 'usc'
-
-    # The functionality under test
-    functionality: 'channel'
-
-    # Project branches
-    stream:
-      - fluorine:
-          branch: 'master'
-          trigger-jobs: '{project}-merge-{stream}'
-          # yamllint disable-line rule:line-length
-          repo-url: 'mvn:org.opendaylight.usc/usc-features/1.6.0-SNAPSHOT/xml/features'
-      - oxygen:
-          branch: 'stable/oxygen'
-
-    install:
-      - all:
-          scope: 'all'
-
-    # Features to install
-    install-features: 'odl-restconf,odl-mdsal-apidocs,odl-usc-channel-ui'
-
-    # Robot custom options
-    robot-options: ''
index c0a3cf701d6b60cf1de9671cb3acad824b6ca5c0..0b71f0a2bc939c7bcc9ab853d961035917a58ce5 100644 (file)
 
     # Project branches
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
           # yamllint disable-line rule:line-length
           repo-url: 'mvn:org.opendaylight.usc/usc-features/1.6.0-SNAPSHOT/xml/features'
       - oxygen:
index 32a2ee35e1ab6d8ae4f5ea8d4ae7b2616676cce9..1e31b30a432ce77caed8340d8fe35ca5cb0d1c76 100644 (file)
@@ -1,4 +1,22 @@
 ---
+- project:
+    name: usc-neon
+    jobs:
+      - '{project-name}-maven-javadoc-jobs'
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'usc'
+    project-name: 'usc'
+    branch: 'master'
+    mvn-settings: 'usc-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'controller-merge-{stream},yangtools-merge-{stream},odlparent-merge-{stream}'
+    email-upstream: '[usc] [controller] [yangtools] [odlparent]'
+
+    # Used by the release job
+    staging-profile-id: a697b633b3ffe
+
 - project:
     name: usc-fluorine
     jobs:
@@ -8,7 +26,7 @@
     stream: fluorine
     project: 'usc'
     project-name: 'usc'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'usc-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'controller-merge-{stream},yangtools-merge-{stream},odlparent-merge-{stream}'
diff --git a/jjb/usecplugin/usecplugin-csit-basic.yaml b/jjb/usecplugin/usecplugin-csit-basic.yaml
deleted file mode 100644 (file)
index edbf360..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
----
-- project:
-    name: usecplugin-csit-basic
-    jobs:
-      - inttest-csit-1node
-      - inttest-csit-verify-1node
-
-    # The project name
-    project: 'usecplugin'
-
-    # The functionality under test
-    functionality: 'basic'
-
-    # Project branches
-    stream:
-      - fluorine:
-          branch: 'master'
-      - oxygen:
-          branch: 'stable/oxygen'
-
-    install:
-      - all:
-          scope: 'all'
-
-    # Features to install
-    install-features: 'odl-restconf,odl-usecplugin-aaa,odl-usecplugin-openflow'
-
-    # Robot custom options
-    robot-options: ''
index ce250f832d5c80eebc081bd6278a73827a5f3fca..edaee783db60d18a4073ddb72a6f2f2185a75be3 100644 (file)
@@ -1,4 +1,21 @@
 ---
+- project:
+    name: usecplugin-neon
+    jobs:
+      - odl-maven-jobs
+
+    stream: neon
+    project: 'usecplugin'
+    project-name: 'usecplugin'
+    branch: 'master'
+    mvn-settings: 'usecplugin-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'openflowplugin-merge-{stream}'
+    email-upstream: '[usecplugin] [openflowplugin]'
+
+    # Used by the release job
+    staging-profile-id: a69902281e037
+
 - project:
     name: usecplugin-fluorine
     jobs:
@@ -7,7 +24,7 @@
     stream: fluorine
     project: 'usecplugin'
     project-name: 'usecplugin'
-    branch: 'master'
+    branch: 'stable/fluorine'
     mvn-settings: 'usecplugin-settings'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
     dependencies: 'openflowplugin-merge-{stream}'
diff --git a/jjb/yang-push/yang-push.yaml b/jjb/yang-push/yang-push.yaml
deleted file mode 100644 (file)
index ca5d56e..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
----
-- project:
-    name: yang-push-fluorine
-    jobs:
-      - odl-maven-jobs
-
-    stream: fluorine
-    project: 'yang-push'
-    project-name: 'yang-push'
-    branch: 'master'
-    mvn-settings: 'yang-push-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-    dependencies: ''
-    email-upstream: '[yang-push]'
-
-    # Used by the release job
-    staging-profile-id: a69aae2832869
-
-- project:
-    name: yang-push-oxygen
-    jobs:
-      - '{project-name}-distribution-check-{stream}'
-      - odl-maven-jobs
-
-    stream: oxygen
-    project: 'yang-push'
-    project-name: 'yang-push'
-    branch: 'stable/oxygen'
-    mvn-settings: 'yang-push-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-    dependencies: ''
-    email-upstream: '[yang-push]'
-
-    # Used by the release job
-    staging-profile-id: a69aae2832869
-
-- project:
-    name: yang-push-sonar
-    jobs:
-      - gerrit-maven-sonar
-    project: 'yang-push'
-    project-name: 'yang-push'
-    branch: 'master'
-    mvn-settings: 'yang-push-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-
-- view:
-    name: yang-push
-    description: 'List of yang-push jobs'
-    regex: '^yang-push-.*'
-    <<: *releng_view_common
diff --git a/jjb/yangide/yangide-releng.yaml b/jjb/yangide/yangide-releng.yaml
deleted file mode 100644 (file)
index cad1f2f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
----
-- project:
-    name: yangide-releng
-    jobs:
-      - '{project-name}-publish-p2repo'
-      - '{project-name}-release-java'
-
-    project: yangide
-    project-name: 'yangide'
-    stage-id: 'fba306956f98'
-    mvn-settings: 'yangide-settings'
diff --git a/jjb/yangide/yangide.yaml b/jjb/yangide/yangide.yaml
deleted file mode 100644 (file)
index 18be811..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
----
-- project:
-    name: yangide-fluorine
-    jobs:
-      - odl-maven-jobs
-
-    stream: fluorine
-    project: 'yangide'
-    project-name: 'yangide'
-    branch: 'master'
-    mvn-settings: 'yangide-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-    dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream}'
-    email-upstream: '[yangide] [odlparent] [yangtools]'
-
-    # Used by the release job
-    staging-profile-id: fba306956f98
-
-- project:
-    name: yangide-oxygen
-    jobs:
-      - odl-maven-jobs
-
-    stream: oxygen
-    project: 'yangide'
-    project-name: 'yangide'
-    branch: 'stable/oxygen'
-    mvn-settings: 'yangide-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-    dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream}'
-    email-upstream: '[yangide] [odlparent] [yangtools]'
-
-    # Used by the release job
-    staging-profile-id: fba306956f98
-
-- project:
-    name: yangide-sonar
-    jobs:
-      - gerrit-maven-sonar
-
-    project: 'yangide'
-    project-name: 'yangide'
-    branch: 'master'
-    mvn-settings: 'yangide-settings'
-    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-
-- view:
-    name: yangide
-    description: 'List of yangide jobs'
-    regex: '^yangide-.*'
-    <<: *releng_view_common
index 5a68f2b1ecdf6d30c556fdb32561eff381245082..a40bcf5ab9e84dbf09258c21e8770e8625757e51 100644 (file)
 
     # Project branches.
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
+      - fluorine:
+          branch: 'stable/fluorine'
       - oxygen:
           branch: 'stable/oxygen'
 
index 73f910c11de44545f0f0812129a3c5797cb23651..e414787cd7c75c085865695cfe83be585b640e31 100644 (file)
@@ -7,9 +7,12 @@
     project: 'yangtools'
 
     stream:
-      - fluorine:
+      - neon:
           branch: 'master'
           os-branch: 'queens'
+      - fluorine:
+          branch: 'stable/fluorine'
+          os-branch: 'queens'
       - oxygen:
           branch: 'stable/oxygen'
           os-branch: 'queens'
@@ -27,4 +30,4 @@
 
       - genius:
           csit-list: >
-              genius-csit-1node-gate-all-{stream}
+              genius-csit-1node-gate-only-{stream}
index 009c3baf1becbd634c90c9e110274fc7c79b9611..cb00554c8289f94db49be1e3cd5e0a25589d6e99 100644 (file)
@@ -12,6 +12,7 @@
 
     mvn-settings: 'yangtools-settings'
     mvn-opts: '-Xmx1024m'
+    sign-artifacts: true
 
     dependencies: ''
     email-upstream: '[yangtools]'
@@ -39,6 +40,7 @@
 
     mvn-settings: 'yangtools-settings'
     mvn-opts: '-Xmx1024m'
+    sign-artifacts: true
 
     dependencies: ''
     email-upstream: '[yangtools]'
@@ -66,6 +68,7 @@
 
     mvn-settings: 'yangtools-settings'
     mvn-opts: '-Xmx1024m'
+    sign-artifacts: true
 
     dependencies: ''
     email-upstream: '[yangtools]'
 - project:
     name: yangtools-sonar
     jobs:
-      - gerrit-maven-sonar
+      - gerrit-maven-sonar:
+          mvn-params: >
+            -Dodl.jacoco.aggregateFile=$WORKSPACE/target/jacoco.exec
+            -Dsonar.jacoco.reportPath=$WORKSPACE/target/jacoco.exec
 
     project: 'yangtools'
     project-name: 'yangtools'
diff --git a/openstack-hot/apex-server.yaml b/openstack-hot/apex-server.yaml
new file mode 100644 (file)
index 0000000..6a483c6
--- /dev/null
@@ -0,0 +1,55 @@
+---
+heat_template_version: 2016-04-08
+
+parameters:
+    job_name:
+        type: string
+        description: Name of job running this template
+    silo:
+        type: string
+        default: vm
+        description: |
+            String to identify a Jenkins Master
+
+            Useful in scenarios where multiple Jenkins Masters might be
+            creating VMs in the same cloud to uniquely distinguish them.
+
+            TODO we should move to using tags once OpenStack Ocata which is
+            available to us with support for server tags properties.
+    index:
+        type: number
+    group:
+        type: number
+        default: "0"
+    vm_flavor:
+        type: string
+        default: v1-standard-4
+        description: OpenStack Flavor to use
+    vm_image:
+        type: string
+        description: VM Image to spin up
+    vm_network:
+        type: string
+        description: VM network
+
+resources:
+    instance:
+        type: "OS::Nova::Server"
+        properties:
+            image: {get_param: vm_image}
+            flavor: {get_param: vm_flavor}
+            name:
+                str_replace:
+                    template: SILO-JOB_NAME-GROUP-VM_TYPE-INDEX
+                    params:
+                        "SILO": {get_param: silo}
+                        "JOB_NAME": {get_param: job_name}
+                        "VM_TYPE":
+                            str_split:
+                                - ' - '
+                                - {get_param: vm_image}
+                                - 2
+                        "GROUP": {get_param: group}
+                        "INDEX": {get_param: index}
+            networks:
+                - network: {get_param: vm_network}
diff --git a/openstack-hot/csit-apex-3-instance-type.yaml b/openstack-hot/csit-apex-3-instance-type.yaml
new file mode 100644 (file)
index 0000000..6901032
--- /dev/null
@@ -0,0 +1,115 @@
+---
+heat_template_version: 2016-04-08
+
+parameters:
+    job_name:
+        type: string
+        description: Name of job running this template
+    silo:
+        type: string
+        description: Jenkins Silo job is running in (typically releng|sandbox)
+    vm_0_count:
+        type: number
+        description: Number of VMs for 1st VM type
+    vm_0_flavor:
+        type: string
+        default: v1-standard-1
+        description: Flavor to run instance on for 1st VM type
+    vm_0_image:
+        type: string
+        description: Image to run instance on for 1st VM type
+    vm_1_count:
+        type: number
+        description: Number of VMs for 2nd VM type
+    vm_1_flavor:
+        type: string
+        default: v1-standard-1
+        description: Flavor to run instance on for 2nd VM type
+    vm_1_image:
+        type: string
+        description: Image to run instance on for 2nd VM type
+    vm_2_count:
+        type: number
+        description: Number of VMs for 3rd VM type
+    vm_2_flavor:
+        type: string
+        default: v1-standard-1
+        description: Flavor to run instance on for 3rd VM type
+    vm_2_image:
+        type: string
+        description: Image to run instance on for 3rd VM type
+
+resources:
+    192_network:
+        type: OS::Neutron::Net
+        properties:
+            name:
+                str_replace:
+                    template: SILO-JOB_NAME-NET
+                    params:
+                        "SILO": {get_param: silo}
+                        "JOB_NAME": {get_param: job_name}
+                        "NET": 'APEX_192_network'
+            port_security_enabled: false
+
+    192_subnet:
+        type: OS::Neutron::Subnet
+        properties:
+            name:
+                str_replace:
+                    template: SILO-JOB_NAME-SUBNET
+                    params:
+                        "SILO": {get_param: silo}
+                        "JOB_NAME": {get_param: job_name}
+                        "SUBNET": 'APEX_192_subnet'
+            network_id: {get_resource: 192_network}
+            cidr: 192.0.2.0/24
+            gateway_ip: 192.0.2.1
+            allocation_pools:
+                - start: 192.0.2.51
+                  end: 192.0.2.99
+
+    vm_0_group:
+        type: "OS::Heat::ResourceGroup"
+        properties:
+            count: {get_param: vm_0_count}
+            resource_def:
+                type: apex-server.yaml
+                properties:
+                    job_name: {get_param: job_name}
+                    silo: {get_param: silo}
+                    index: "%index%"
+                    group: "0"
+                    vm_flavor: {get_param: vm_0_flavor}
+                    vm_image: {get_param: vm_0_image}
+                    vm_network: {get_resource: 192_network}
+
+    vm_1_group:
+        type: "OS::Heat::ResourceGroup"
+        properties:
+            count: {get_param: vm_1_count}
+            resource_def:
+                type: apex-server.yaml
+                properties:
+                    job_name: {get_param: job_name}
+                    silo: {get_param: silo}
+                    index: "%index%"
+                    group: "1"
+                    vm_flavor: {get_param: vm_1_flavor}
+                    vm_image: {get_param: vm_1_image}
+                    vm_network: {get_resource: 192_network}
+
+    vm_2_group:
+        type: "OS::Heat::ResourceGroup"
+        properties:
+            count: {get_param: vm_2_count}
+            resource_def:
+                type: apex-server.yaml
+                properties:
+                    job_name: {get_param: job_name}
+                    silo: {get_param: silo}
+                    index: "%index%"
+                    group: "2"
+                    vm_flavor: {get_param: vm_2_flavor}
+                    vm_image: {get_param: vm_2_image}
+                    vm_network: {get_resource: 192_network}
index 6fbab522c4999d80152f0b4c18029eabb5e00496..68fe7493778f50627c539f2f7bac7730d5df7ee5 100644 (file)
@@ -66,8 +66,8 @@ resources:
                 do
                     echo "Waiting until devvexx.opendaylight.org is resolvable..."
                 done
-                git clone git://devvexx.opendaylight.org/mirror/releng/builder /builder
-                /builder/jenkins-scripts/jenkins-init-script.sh
+                git clone --recurse-submodules git://devvexx.opendaylight.org/mirror/releng/builder /opt/ciman
+                /opt/ciman/jjb/global-jjb/jenkins-init-scripts/init.sh
 
 outputs:
     ip:
index e0319f3a5796486e27933827cb2b0c075c04dd70..ec01814071eaea55ea7b025308b58d3923897eb6 160000 (submodule)
@@ -1 +1 @@
-Subproject commit e0319f3a5796486e27933827cb2b0c075c04dd70
+Subproject commit ec01814071eaea55ea7b025308b58d3923897eb6
index 3e129f80c07bede1990ba736578c95cdf76518e3..8a910d972d4407f38cc2b5add60c2fcea2d5abb2 100644 (file)
@@ -3,10 +3,8 @@
 # force any errors to cause the script and job to end in failure
 set -xeu -o pipefail
 
-# add in a test copr repo
-wget http://copr.fedoraproject.org/coprs/tykeal/odl-updates/repo/epel-7/tykeal-odl-updates-epel-7.repo -O /etc/yum.repos.d/tykeal-odl-updates-epel-7.repo
 # Install xpath
-yum install -y perl-XML-XPath python-pip python-six
+yum install -y perl-XML-XPath python-pip
 
 # install crudini command line tool for editing config files
 yum install -y crudini
index 149e5efd270df7a0a9031a787ea886d291e8ebb0..a420da9dcbbb2c7608027984a5c9b4101baf631c 100644 (file)
@@ -3,10 +3,8 @@
 # force any errors to cause the script and job to end in failure
 set -xeu -o pipefail
 
-# add in a test copr repo
-wget http://copr.fedoraproject.org/coprs/tykeal/odl-updates/repo/epel-7/tykeal-odl-updates-epel-7.repo -O /etc/yum.repos.d/tykeal-odl-updates-epel-7.repo
 # Install xpath
-yum install -y perl-XML-XPath python-pip python-six
+yum install -y perl-XML-XPath python-pip
 
 # install crudini command line tool for editing config files
 yum install -y crudini
index 149060c537d6f77d025bfa36ee244fdcca9372da..dfaa7e3bc41ab613e315cd31030f4eab7a25daec 100644 (file)
     elastic_search_version: 1.7.5
     hbase_checksum: sha256:9cd990939403fd43dfb665b14603e3772ca3ed813a6e21a81de1778583b35eb8
     hbase_version: 0.94.27
+    openjdk10_checksum: 'sha256:f3b26abc9990a0b8929781310e14a339a7542adfd6596afb842fa0dd7e3848b2'
+    openjdk10_url: https://download.java.net/java/GA/jdk10/{{openjdk10_version}}/19aef61b38124481863b1413dce1855f/13/openjdk-{{openjdk10_version}}_linux-x64_bin.tar.gz
+    openjdk10_version: 10.0.2
+    openjdk11_checksum: 'sha256:3784cfc4670f0d4c5482604c7c513beb1a92b005f569df9bf100e8bef6610f2e'
+    openjdk11_url: https://download.java.net/java/ga/jdk11/openjdk-{{openjdk11_version}}_linux-x64_bin.tar.gz
+    openjdk11_version: 11
 
   pre_tasks:
     - include_role: name=lfit.system-update
     - lfit.mono-install
 
   tasks:
+    - name: 'Install OpenJDK {{openjdk10_version}}'
+      block:
+        - name: 'Fetch OpenJDK {{openjdk10_version}} to /tmp/jdk-{{openjdk10_version}}_linux-x64_bin.tar.gz'
+          get_url:
+            url: "{{openjdk10_url}}"
+            dest: '/tmp/jdk-{{openjdk10_version}}_linux-x64_bin.tar.gz'
+            checksum: '{{openjdk10_checksum}}'
+        - name: 'Untar OpenJDK {{openjdk10_version}} in /opt/'
+          unarchive:
+            src: '/tmp/jdk-{{openjdk10_version}}_linux-x64_bin.tar.gz'
+            dest: /opt/
+            mode: 0755
+            remote_src: true
+          become: true
+        - name: 'Setup Java master and slave links for OpenJDK {{openjdk10_version}}'
+          command: 'alternatives --install "/usr/bin/java" "java" "/opt/jdk-{{openjdk10_version}}/bin/java" 10 \
+                    --slave "/usr/bin/jar" "jar" "/opt/jdk-{{openjdk10_version}}/bin/jar" \
+                    --slave "/usr/bin/jarsigner" "jarsigner" "/opt/jdk-{{openjdk10_version}}/bin/jarsigner" \
+                    --slave "/usr/bin/javac" "javac" "/opt/jdk-{{openjdk10_version}}/bin/javac" \
+                    --slave "/usr/bin/javadoc" "javadoc" "/opt/jdk-{{openjdk10_version}}/bin/javadoc" \
+                    --slave "/usr/bin/javah" "javah" "/opt/jdk-{{openjdk10_version}}/bin/javah" \
+                    --slave "/usr/bin/javap" "javap" "/opt/jdk-{{openjdk10_version}}/bin/javap" \
+                    --slave "/usr/bin/javaws" "javaws" "/opt/jdk-{{openjdk10_version}}/bin/javaws"'
+          become: true
+    - name: 'Install OpenJDK {{openjdk11_version}}'
+      block:
+        - name: 'Fetch OpenJDK 11 to /tmp/jdk-{{openjdk11_version}}_linux-x64_bin.tar.gz'
+          get_url:
+            url: "{{openjdk11_url}}"
+            dest: '/tmp/jdk-{{openjdk11_version}}_linux-x64_bin.tar.gz'
+            checksum: '{{openjdk11_checksum}}'
+        - name: 'Untar OpenJDK {{openjdk11_version}} in /opt/'
+          unarchive:
+            src: '/tmp/jdk-{{openjdk11_version}}_linux-x64_bin.tar.gz'
+            dest: /opt/
+            mode: 0755
+            remote_src: true
+          become: true
+        - name: 'Setup Java master and slave links for OpenJDK {{openjdk11_version}}'
+          command: 'alternatives --install "/usr/bin/java" "java" "/opt/jdk-{{openjdk11_version}}/bin/java" 10 \
+                    --slave "/usr/bin/jar" "jar" "/opt/jdk-{{openjdk11_version}}/bin/jar" \
+                    --slave "/usr/bin/jarsigner" "jarsigner" "/opt/jdk-{{openjdk11_version}}/bin/jarsigner" \
+                    --slave "/usr/bin/javac" "javac" "/opt/jdk-{{openjdk11_version}}/bin/javac" \
+                    --slave "/usr/bin/javadoc" "javadoc" "/opt/jdk-{{openjdk11_version}}/bin/javadoc" \
+                    --slave "/usr/bin/javah" "javah" "/opt/jdk-{{openjdk11_version}}/bin/javah" \
+                    --slave "/usr/bin/javap" "javap" "/opt/jdk-{{openjdk11_version}}/bin/javap" \
+                    --slave "/usr/bin/javaws" "javaws" "/opt/jdk-{{openjdk11_version}}/bin/javaws"'
+          become: true
     - name: Install Cassandra Server
       block:
         - name: 'Fetch Cassandra Server to /tmp/apache-cassandra-{{cassandra_version}}-bin.tar.gz'