Merge "Update Centos 7 devstack images"
authorAnil Belur <abelur@linuxfoundation.org>
Tue, 31 Jul 2018 06:44:26 +0000 (06:44 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Tue, 31 Jul 2018 06:44:26 +0000 (06:44 +0000)
31 files changed:
docs/cloud-images.rst
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
jjb/autorelease/autorelease-templates.yaml
jjb/defaults.yaml
jjb/docs/docs-rtd.yaml
jjb/integration/common-functions.sh
jjb/integration/csit-jobs-fluorine.lst
jjb/integration/csit-jobs-oxygen.lst
jjb/integration/distribution/distribution-jobs.yaml
jjb/integration/distribution/distribution-macros.yaml
jjb/integration/distribution/distribution-templates.yaml
jjb/integration/integration-deploy-openstack-run-test.sh
jjb/netvirt/netvirt-csit-multi-openstack.yaml
jjb/opflex/opflex-custom.yaml
jjb/packaging/ansible.yaml
jjb/packaging/packaging.yaml
jjb/packaging/puppet.yaml
jjb/releng-jobs.yaml
jjb/releng-macros.yaml
jjb/releng-templates-java.yaml
jjb/yangtools/yangtools.yaml
tox.ini

index fde93b609febf3199f954b361d39e3fb3a535a6b..634de9f9cb564c228aabc51b755866937c3c7617 100644 (file)
@@ -3,6 +3,7 @@ Following are the list of published images available to be used with Jenkins job
 * ZZCI - CentOS 7 - autorelease - 20180125-2240
 * ZZCI - CentOS 7 - builder - 20180201-2139
 * ZZCI - CentOS 7 - builder - 20180611-1830
+* ZZCI - CentOS 7 - builder - 20180723-235310.638
 * ZZCI - CentOS 7 - devstack - 20171208-1648
 * ZZCI - CentOS 7 - devstack-ocata - 20171208-1649
 * ZZCI - CentOS 7 - devstack-pike - 20171208-1649
index f70a2ac8fa2bd032debbba04884386119e29758c..d5c54579545a14213e57edea0f84e73610f974cc 100644 (file)
@@ -1,3 +1,3 @@
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180611-1830
+IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180723-235310.638
 VOLUME_SIZE=150
 HARDWARE_ID=odl-standard-4
index 8736582c6ea16428417ac1d37fc872198eff6030..5d9f1e2a0c0b1ae9799b014d68677e6b70e0c4cb 100644 (file)
@@ -1,3 +1,3 @@
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180611-1830
+IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180723-235310.638
 VOLUME_SIZE=150
 HARDWARE_ID=odl-standard-8
index 31f23a56878761bc3597d2641ed0b7e31c394aa4..d60027871a42e1c0b31a8a640f400053ca228b5b 100644 (file)
@@ -1,3 +1,3 @@
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180611-1830
+IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180723-235310.638
 VOLUME_SIZE=150
 HARDWARE_ID=odl-highcpu-8
index 87f3b099e82da0c305b608417403e96512fb1748..1bf7d23eb4c0b180ac14db23b387f0ae22c7d8b6 100644 (file)
@@ -1,2 +1,2 @@
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180611-1830
+IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180723-235310.638
 HARDWARE_ID=v1-standard-1
index ece6865261058934a8f563ebc12e3b809ab2d4ba..6fd4f01d75664539c4d82a0e78899a12032811f6 100644 (file)
@@ -1,2 +1,2 @@
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180611-1830
+IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180723-235310.638
 HARDWARE_ID=odl-highcpu-2
index 3523491c1ef041db12770ee61e3c5883b31e5738..98803c7f79c6efc939d285b4505f8960e11e8a9e 100644 (file)
@@ -1,2 +1,2 @@
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180611-1830
+IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180723-235310.638
 HARDWARE_ID=odl-standard-2
index c30c966c1413eb2727491ede4b6bebb57bff2a0a..a38d6e99d1c2255f4306773b7f2e63d5f8842a83 100644 (file)
@@ -1,2 +1,2 @@
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180611-1830
+IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180723-235310.638
 HARDWARE_ID=odl-standard-4
index fbb7e78e46d852d26bdf12115935b35f61e6e174..ffa9d6c7be21724eb06a56f207bf9969ad87c33e 100644 (file)
@@ -1,2 +1,2 @@
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180611-1830
+IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180723-235310.638
 HARDWARE_ID=odl-highcpu-4
index 95a5a0e8b47b9a97168ac789b77ff4934831fc17..ce2a9c7e374a3d2fa3c480f04434b7ac843bbc4e 100644 (file)
@@ -1,2 +1,2 @@
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180611-1830
+IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180723-235310.638
 HARDWARE_ID=odl-highcpu-8
index 2627fc375f7136ed735fd1d262f4dbb5eb3374b9..128f4a983c32caeed6eea7732358cfbd0e10b769 100644 (file)
@@ -5,7 +5,7 @@ CLOUD_IGNORE_SSL=false
 CLOUD_ZONE=ca-ymq-1
 
 # Default Template Configuration
-IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180611-1830
+IMAGE_NAME=ZZCI - CentOS 7 - builder - 20180723-235310.638
 HARDWARE_ID=v1-standard-1
 NETWORK_ID=b5fcd86e-efac-4997-b8bc-dbe0d35bc229
 USER_DATA_ID=jenkins-init-script
index f0baa163161731c932a273e7f6f2a28d0dc37922..64383697f16539d99839d1ac151df5891af76733 100644 (file)
           project: '{project}'
           branch: '{branch}'
           files: '**/*.xml'
+          forbidden-files: ''
 
     builders:
       - autorelease-checkout-gerrit-patch
index 8701e8ef639ecac87129eeb2ee1520f19c20efce..57ebbe2fb899b770154ca28ae01eb64ee54ff111 100644 (file)
     build-days-to-keep: 30
     use-features-boot: 'True'
 
+    # File triggers
+    files: '**'
+    forbidden-files: ''
+
     # Timeout in minutes
     build-timeout: 360
     build-node: centos7-builder-4c-4g
@@ -92,7 +96,7 @@
     docker_system_image: ZZCI - CentOS 7 - docker - 20180417-0311
     odl_system_count: 1
     odl_system_flavor: odl-highcpu-4
-    odl_system_image: ZZCI - CentOS 7 - builder - 20180611-1830
+    odl_system_image: ZZCI - CentOS 7 - builder - 20180723-235310.638
     openstack_system_count: 1
     openstack_system_flavor: odl-standard-4
     openstack_system_image: ZZCI - CentOS 7 - devstack - 20180723-235345.727
index f445b322716007e629fa40138fff3c2862c0daa6..a3a9bea5b96850aa58df8dc45f85b915562c3609 100644 (file)
@@ -13,6 +13,7 @@
 
     project: docs
     project-name: docs
+    project-pattern: docs
     build-node: centos7-builder-4c-4g
     build-timeout: 60
     rtd-build-url: https://readthedocs.org/api/v2/webhook/opendaylight/32322/
index a77c5ac30b23426c189c351987cfd4772b7e07c2..e2066b4153ce550c89515ef9fe8eec664e27d983 100644 (file)
@@ -117,6 +117,22 @@ function configure_karaf_log() {
     cat ${LOGCONF}
 } # function configure_karaf_log()
 
+function get_os_deploy() {
+    local -r num_systems=${1:-$NUM_OPENSTACK_SYSTEM}
+    case ${num_systems} in
+    1)
+        OS_DEPLOY="1cmb-0ctl-0cmp"
+        ;;
+    2)
+        OS_DEPLOY="1cmb-0ctl-1cmp"
+        ;;
+    3|*)
+        OS_DEPLOY="0cmb-1ctl-2cmp"
+        ;;
+    esac
+    export OS_DEPLOY
+}
+
 function run_plan() {
     local -r type=$1
 
@@ -152,6 +168,31 @@ function run_plan() {
     printf "Finished running ${type} plans\n"
 } # function run_plan()
 
+# Return elapsed time. Usage:
+# - Call first time with no arguments and a new timer is returned.
+# - Next call with the first argument as the timer and the elapsed time is returned.
+function timer()
+{
+    if [ $# -eq 0 ]; then
+        # return the current time
+        printf "$(date "+%s")"
+    else
+        local start_time=$1
+        end_time=$(date "+%s")
+
+        if [ -z "$start_time" ]; then
+            start_time=$end_time;
+        fi
+
+        delta_time=$((end_time - start_time))
+        ds=$((delta_time % 60))
+        dm=$(((delta_time / 60) % 60))
+        dh=$((delta_time / 3600))
+        # return the elapsed time
+        printf "%d:%02d:%02d" $dh $dm $ds
+    fi
+}
+
 # convert commas in csv strings to spaces (ssv)
 function csv2ssv() {
     local csv=$1
@@ -162,6 +203,17 @@ function csv2ssv() {
     echo "${ssv}"
 } # csv2ssv
 
+function is_openstack_feature_enabled() {
+    local feature=$1
+    for enabled_feature in $(csv2ssv ${ENABLE_OS_SERVICES}); do
+        if [ "${enabled_feature}" == "${feature}" ]; then
+           echo 1
+           return
+        fi
+    done
+    echo 0
+}
+
 SSH="ssh -t -t"
 
 # shellcheck disable=SC2153
@@ -211,6 +263,28 @@ ODL_SNAT_MODE: ${ODL_SNAT_MODE}
 EOF
 }
 
+function tcpdump_start() {
+    local -r prefix=$1
+    local -r ip=$2
+    local -r filter=$3
+    filter_=${filter// /_}
+
+    printf "node ${ip}, ${prefix}_${ip}__${filter}: starting tcpdump\n"
+    ssh ${ip} "nohup sudo /usr/sbin/tcpdump -vvv -ni eth0 ${filter} -w /tmp/tcpdump_${prefix}_${ip}__${filter_}.pcap > /tmp/tcpdump_start.log 2>&1 &"
+    ${SSH} ${ip} "ps -ef | grep tcpdump"
+}
+
+function tcpdump_stop() {
+    local -r ip=$1
+
+    printf "node $ip: stopping tcpdump\n"
+    ${SSH} ${ip} "ps -ef | grep tcpdump.sh"
+    ${SSH} ${ip} "sudo pkill -f tcpdump"
+    ${SSH} ${ip} "sudo xz -9ekvvf /tmp/*.pcap"
+    ${SSH} ${ip} "sudo ls -al /tmp/*.pcap"
+    # copy_logs will copy any *.xz files
+}
+
 # Collect the list of files on the hosts
 function collect_files() {
     local -r ip=$1
@@ -390,10 +464,23 @@ EOF
     # Control Node
     for i in `seq 1 ${NUM_OPENSTACK_CONTROL_NODES}`; do
         OSIP=OPENSTACK_CONTROL_NODE_${i}_IP
-        echo "collect_logs: for openstack control node ip: ${!OSIP}"
-        NODE_FOLDER="control_${i}"
+        if [ "$(is_openstack_feature_enabled n-cpu)" == "1" ]; then
+            echo "collect_logs: for openstack combo node ip: ${!OSIP}"
+            NODE_FOLDER="combo_${i}"
+        else
+            echo "collect_logs: for openstack control node ip: ${!OSIP}"
+            NODE_FOLDER="control_${i}"
+        fi
         mkdir -p ${NODE_FOLDER}
+        tcpdump_stop "${!OSIP}"
         scp extra_debug.sh ${!OSIP}:/tmp
+        # Capture compute logs if this is a combo node
+        if [ "$(is_openstack_feature_enabled n-cpu)" == "1" ]; then
+            scp ${!OSIP}:/etc/nova/nova.conf ${NODE_FOLDER}
+            scp ${!OSIP}:/etc/nova/nova-cpu.conf ${NODE_FOLDER}
+            scp ${!OSIP}:/etc/openstack/clouds.yaml ${NODE_FOLDER}
+            rsync --rsync-path="sudo rsync" -avhe ssh ${!OSIP}:/var/log/nova-agent.log ${NODE_FOLDER}
+        fi
         ${SSH} ${!OSIP} "bash /tmp/extra_debug.sh > /tmp/extra_debug.log 2>&1"
         scp ${!OSIP}:/etc/dnsmasq.conf ${NODE_FOLDER}
         scp ${!OSIP}:/etc/keystone/keystone.conf ${NODE_FOLDER}
@@ -423,6 +510,7 @@ EOF
         scp ${!OSIP}:/tmp/get_devstack.sh.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}
         collect_files "${!OSIP}" "${NODE_FOLDER}"
         ${SSH} ${!OSIP} "sudo tar -cf - -C /var/log rabbitmq | xz -T 0 > /tmp/rabbitmq.tar.xz "
         scp ${!OSIP}:/tmp/rabbitmq.tar.xz ${NODE_FOLDER}
@@ -448,6 +536,7 @@ EOF
         echo "collect_logs: for openstack compute node ip: ${!OSIP}"
         NODE_FOLDER="compute_${i}"
         mkdir -p ${NODE_FOLDER}
+        tcpdump_stop "${!OSIP}"
         scp extra_debug.sh ${!OSIP}:/tmp
         ${SSH} ${!OSIP} "bash /tmp/extra_debug.sh > /tmp/extra_debug.log 2>&1"
         scp ${!OSIP}:/etc/nova/nova.conf ${NODE_FOLDER}
@@ -463,6 +552,7 @@ EOF
         scp ${!OSIP}:/tmp/get_devstack.sh.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}
         collect_files "${!OSIP}" "${NODE_FOLDER}"
         ${SSH} ${!OSIP} "sudo tar -cf - -C /var/log libvirt | xz -T 0 > /tmp/libvirt.tar.xz "
         scp ${!OSIP}:/tmp/libvirt.tar.xz ${NODE_FOLDER}
index 80bb041234fa60ebe4bef4d7ad442c0c9805e1ad..d1fbb77032335432695f7b2626ae65cce2734e15 100644 (file)
@@ -17,6 +17,7 @@ controller-csit-3node-rest-clust-cars-perf-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,
 lispflowmapping-csit-1node-msmr-all-fluorine,
@@ -38,12 +39,24 @@ netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-queens-upgrade-snat-conntrack-fluori
 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,
index 649942b2cd73ecc3217432b93cd04fb8a1877595..034572eb83dbde1c5639dfae9dbea06b93c4b316 100644 (file)
@@ -19,6 +19,7 @@ controller-csit-3node-rest-clust-cars-perf-only-oxygen,
 daexim-csit-1node-basic-only-oxygen,
 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,
index ce35b2fa0ca3fac0d99debf0db17b0653e8ee4a1..95a30eefa8ab68f649dfb300c0b5d7ae1fe0ea6d 100644 (file)
@@ -3,11 +3,7 @@
     name: distribution
     jobs:
       # gerrit- is generic template, distribution- is project specific.
-      - 'distribution-merge-{stream}'
-      - 'distribution-verify-{stream}'
-      - 'distribution-check-{stream}'
       - 'distribution-sanity-{stream}'
-      - 'distribution-managed-{stream}'
       - gerrit-maven-clm
       - gerrit-maven-verify-dependencies
       - gerrit-tox-verify
@@ -21,9 +17,7 @@
     mvn-settings: integration-distribution-settings
     mvn-goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-    dependencies: ''
     email-upstream: '[int/dist]'
-
     stream:
       - fluorine:
           branch: 'master'
           karaf-version: karaf4
 
 - project:
-    name: distribution-sonar
+    name: distribution-managed
     jobs:
-      - gerrit-maven-sonar
+      # gerrit- is generic template, distribution- is project specific.
+      - 'distribution-merge-{type}-{stream}'
+      - 'distribution-verify-{type}-{stream}'
+      - 'distribution-check-{type}-{stream}'
+      - 'distribution-csit-managed-{stream}'
 
     project: integration/distribution
     project-name: distribution
-    branch: master
     mvn-settings: integration-distribution-settings
-    mvn-goals: clean install dependency:tree -DoutputFile=dependency_tree.txt
+    mvn-goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt'
     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    email-upstream: '[int/dist]'
+    type: managed
+    profile: '-Pmanaged'
+    forbidden-files: 'opendaylight/**'
+    karaf-version: karaf4
 
-- job-template:
-    name: 'distribution-verify-{stream}'
-
-    project-type: freestyle
-    node: centos7-builder-8c-8g
-    concurrent: true
-    jdk: '{java-version}'
-
-    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'
-          choosing-strategy: 'gerrit'
-
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - gerrit-trigger-patch-submitted:
-          gerrit-server-name: '{gerrit-server-name}'
-          project: '{project}'
-          branch: '{branch}'
-          files: '**'
-
-    builders:
-      - wipe-org-opendaylight-repo
-      - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: 'integration-settings'
-      - maven-target:
-          maven-version: mvn35
-          pom: pom.xml
-          goals: |
-              clean install dependency:tree -DoutputFile=dependency_tree.txt
-              -Dstream={stream}
-              -Dsft.heap.max=4g
-              -Pmanaged -Punmanaged
-              {opendaylight-infra-mvn-opts}
-          # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
-          java-opts:
-            - '-Xmx1024m -XX:MaxPermSize=256m'
-          settings: integration-settings
-          settings-type: cfp
-          global-settings: global-settings
-          global-settings-type: cfp
-
-    publishers:
-      - findbugs
-      - lf-jacoco-report
-      - lf-infra-publish
-      - email-notification:
-          email-recipients: '{email-recipients}'
-          email-prefix: '[{project-name}]'
-
-- job-template:
-    name: 'distribution-merge-{stream}'
-
-    # Need to keep jobs that deploy to Nexus at end of build as Maven
-    # projects. Maybe reconsider this once upstream moves deploy to a
-    # separate lifecycle:
-    #     https://issues.apache.org/jira/browse/MNG-5666
-
-    project-type: maven
-    node: 'centos7-builder-8c-8g'
-    jdk: '{java-version}'
-
-    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}'
-      - distribution-karaf-version:
-          karaf-version: '{karaf-version}'
-
-    scm:
-      - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - gerrit-trigger-patch-merged:
-          gerrit-server-name: '{gerrit-server-name}'
-          name: '{project}'
-          branch: '{branch}'
-
-    prebuilders:
-      - wipe-org-opendaylight-repo
-      - jacoco-nojava-workaround
-      - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: 'integration-settings'
-      - integration-set-variables
-      - distribute-build-url:
-          path: '$KARAF_ARTIFACT/src/main/assembly'
-
-    maven:
-      maven-name: 'mvn35'
-      root-pom: 'pom.xml'
-      goals: >
-          clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B
-          -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
-          -Dsft.heap.max=4g
-          -Djenkins -Dmerge -Dstream={stream}
-          -Pmanaged -Punmanaged
-      maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-      settings: integration-settings
-      settings-type: cfp
-      global-settings: global-settings
-      global-settings-type: cfp
-
-    postbuilders:
-      - integration-compare-distributions
-    # TODO: the output of the above command is not *friendly* for the reader because the most important info
-    # is listed last. This is fine/best for command line output, but for keeping in a file it would be better
-    # to put the summary at the beginning of the file. Some bash magic can be done here to make that happen.
-
-    reporters:
-      - findbugs
-
-    publishers:
-      - maven-deploy:
-          id: ''
-          unique-version: true
-          deploy-unstable: false
-      - lf-jacoco-report
-      - lf-infra-publish
-      - email-notification:
-          email-recipients: '{email-recipients}'
-          email-prefix: '[{project-name}]'
-
-- job-template:
-    name: 'distribution-check-{stream}'
-
-    ######################
-    # Default parameters #
-    ######################
-
-    mvn-version: mvn35
-
-    #####################
-    # Job Configuration #
-    #####################
-
-    # Like a {project}-distribution-check, but few steps less as there is no upstream project involved.
-    disabled: false
-
-    project-type: freestyle
-    node: 'centos7-builder-8c-8g'
-    concurrent: true
-    jdk: '{java-version}'
-
-    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}'
-      - integration-distribution-stream:
-          stream: '{stream}'
-      - distribution-karaf-version:
-          karaf-version: '{karaf-version}'
-      - maven-exec:
-          maven-version: mvn35
-
-    scm:
-      - integration-gerrit-scm:
-          basedir: 'distribution'
-          refspec: '$GERRIT_REFSPEC'
-          branch: '{branch}'
-
-    wrappers:
-      - opendaylight-infra-wrappers:
-          # Distro-check jobs typically run within 10 - 30 minutes
-          # with 45 minutes being the occassional edge case.
-          # enforce a 60 minute limit to ensure stuck jobs get
-          # cleared up sooner.
-          # Double that as Karaf 3+4 may take longer.
-          build-timeout: '120'
-
-    triggers:
-      - gerrit-trigger-patch-submitted:
-          gerrit-server-name: '{gerrit-server-name}'
-          project: '{project}'
-          branch: '{branch}'
-          files: '**'
-
-    builders:
-      - distribution-check-wipe
-      - inject:
-          properties-file: 'allowed_projects.txt'
-      - distribution-check-build-project:
-          pom: 'distribution/pom.xml'
-          mvn-opts: '{opendaylight-infra-mvn-opts}'
-          mvn-version: '{mvn-version}'
-          # '{opendaylight-infra-parallel-mvn-opts}' is bad when there are multiple big features in SFT.
-      - distribution-check-verify-groupid:
-          gerrit-project: 'integration'
-      - distribution-check-delete-snapshots
-      - distribution-check-configure-remotes
-      - distribution-check-repeat-project-build:
-          pom: 'distribution/pom.xml'
-          mvn-opts: '{opendaylight-infra-mvn-opts}'
-          mvn-version: '{mvn-version}'
-          # '{opendaylight-infra-parallel-mvn-opts}' is bad when there are multiple big features in SFT.
-      - integration-set-variables
-      - distribution-check-warn-9191
-      - distribution-check-warn-9192
-      - integration-upload-distribution:
-          dist-pom: distribution/pom.xml
-      - distribution-check-bootup
-
-    publishers:
-      - email-notification:
-          email-recipients: '{email-recipients}'
-          email-prefix: '[{project-name}]'
-      - integration-csit-archive-build
-      - lf-infra-publish
-
-- job-template:
-    name: 'distribution-sanity-{stream}'
-    # Goal: Verify distribution starts with no issues when all features are loaded.
-    # Operation: This job deploys odl-integration-all + list of UM features.
-    # This job works for both managed & self-managed distro.
-
-    project-type: freestyle
-    node: centos7-builder-4c-4g
-    concurrent: 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}'
-      - integration-distribution-stream:
-          stream: '{stream}'
-      - integration-distribution-branch:
-          branch: '{branch}'
-      - integration-bundle-url:
-          bundle-url: '{bundle-url}'
-      - integration-repo-url:
-          repo-url: '{sm-repos}'
-      - integration-controller-features:
-          controller-features: '{sm-features}'
-      - integration-jdk-version:
-          jdkversion: '{jre}'
-      - distribution-karaf-version:
-          karaf-version: '{karaf-version}'
-
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    builders:
-      - integration-detect-variables
-      - distribution-check-bootup
-
-    publishers:
-      - email-notification:
-          email-recipients: '{email-recipients}'
-          email-prefix: '[{project-name}]'
-      - integration-csit-archive-build
-      - lf-infra-publish
-
-- job-template:
-    name: 'distribution-managed-{stream}'
-    # Goal: Verify distribution starts with no issues when all features are loaded.
-    # Operation: This job deploys odl-integration-all.
-    # This job works for just managed distro.
+    stream:
+      - fluorine:
+          branch: 'master'
+          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}
 
-    project-type: freestyle
-    node: centos7-builder-4c-4g
-    concurrent: false
+      - oxygen:
+          branch: 'stable/oxygen'
+          dependencies: >
+              aaa-merge-{stream},
+              alto-merge-{stream},
+              bgpcep-merge-{stream},
+              bier-merge-{stream},
+              coe-merge-{stream},
+              controller-merge-{stream},
+              daexim-merge-{stream},
+              dluxapps-merge-{stream},
+              dlux-merge-{stream},
+              faas-merge-{stream},
+              genius-merge-{stream},
+              groupbasedpolicy-merge-{stream},
+              infrautils-merge-{stream},
+              jsonrpc-merge-{stream},
+              l2switch-merge-{stream},
+              lispflowmapping-merge-{stream},
+              mdsal-merge-{stream},
+              nemo-merge-{stream},
+              netconf-merge-{stream},
+              netvirt-merge-{stream},
+              neutron-merge-{stream},
+              of-config-merge-{stream},
+              openflowplugin-merge-{stream},
+              ovsdb-merge-{stream},
+              p4plugin-merge-{stream},
+              packetcable-merge-{stream},
+              serviceutils-merge-{stream},
+              sfc-merge-{stream},
+              snmp4sdn-merge-{stream},
+              snmp-merge-{stream},
+              sxp-merge-{stream},
+              tsdr-merge-{stream},
+              usc-merge-{stream},
+              vbd-merge-{stream}
 
-    properties:
-      - opendaylight-infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+- project:
+    name: distribution-full
+    jobs:
+      # gerrit- is generic template, distribution- is project specific.
+      - 'distribution-merge-{type}-{stream}'
+      - 'distribution-verify-{type}-{stream}'
+      - 'distribution-check-{type}-{stream}'
 
-    parameters:
-      - opendaylight-infra-parameters:
-          os-cloud: '{os-cloud}'
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-      - integration-distribution-stream:
-          stream: '{stream}'
-      - integration-distribution-branch:
-          branch: '{branch}'
-      - integration-bundle-url:
-          bundle-url: '{bundle-url}'
-      - integration-jdk-version:
-          jdkversion: '{jre}'
-      - distribution-karaf-version:
-          karaf-version: 'karaf4'
+    project: integration/distribution
+    project-name: distribution
+    mvn-settings: integration-distribution-settings
+    mvn-goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    email-upstream: '[int/dist]'
+    type: full
+    profile: '-Punmanaged'
+    files: 'opendaylight/**'
+    karaf-version: odl
 
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
+    stream:
+      - fluorine:
+          branch: 'master'
+          karaf-version: odl
+          dependencies: >
+              distribution-merge-managed-{stream},
+              sxp-merge-{stream}
 
-    builders:
-      - integration-detect-variables
-      - distribution-check-bootup
+- project:
+    name: distribution-sonar
+    jobs:
+      - gerrit-maven-sonar
 
-    publishers:
-      - email-notification:
-          email-recipients: '{email-recipients}'
-          email-prefix: '[{project-name}]'
-      - integration-csit-archive-build
-      - lf-infra-publish
+    project: integration/distribution
+    project-name: distribution
+    branch: master
+    mvn-settings: integration-distribution-settings
+    mvn-goals: clean install dependency:tree -DoutputFile=dependency_tree.txt
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
 
 - view:
     name: distribution
index 2e3ba043b449673ddaed4363ea73f5e29eae1515..1579fb2bbf17bc0f8fe2ba7e6213a18ece11d85d 100644 (file)
           echo "detecting distribution allowed projects"
           # Some allowed projects cannot be detected in distribution because they do not produce features.
           ALLOW_PROJECTS=(yangtools mdsal openflowjava)
+          if [[ "$KARAF_VERSION" == "odl" ]]; then
           ALLOW_PROJECTS+=(`grep '<groupId>org.opendaylight.' -Rh distribution \
           | sed -e 's%^[ \t]*<groupId>org.opendaylight.%%' \
           | sed -e 's%</groupId>%%' | sort -u`)
+          else
+          # For Managed distro we only look at the features folder
+          ALLOW_PROJECTS+=(`grep '<groupId>org.opendaylight.' -Rh distribution/features \
+          | sed -e 's%^[ \t]*<groupId>org.opendaylight.%%' \
+          | sed -e 's%</groupId>%%' | sort -u`)
+          fi
           echo "Allowed projects are ${ALLOW_PROJECTS[@]}"
           echo "ALLOW_PROJECTS=${ALLOW_PROJECTS[@]}" > allowed_projects.txt
 
@@ -35,7 +42,7 @@
           goals: |
               clean deploy
               dependency:tree -DoutputFile=dependency_tree.txt
-              -Pq -Pmanaged -Punmanaged
+              -Pq
               -DaltDeploymentRepository=fake-nexus::default::file:///tmp/n/
               {mvn-opts}
           java-opts:
@@ -87,7 +94,7 @@
           goals: |
               clean install
               dependency:tree -DoutputFile=dependency_tree.txt
-              -Pq -Pmanaged -Punmanaged
+              -Pq
               {mvn-opts}
           java-opts:
             - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
               clean install
               dependency:tree -DoutputFile=dependency_tree.txt
               -s fake_remotes.xml
-              -Pq -Pmanaged -Punmanaged
+              -Pq
               {mvn-opts}
           java-opts:
             - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
               clean install
               dependency:tree -DoutputFile=dependency_tree.txt
               -s fake_remotes.xml
-              -Pq -Pmananaged -Punmanaged
+              -Pq
               -Dsft.heap.max=4g
               -DskipTests=false
               {mvn-opts}
index 45fda0b3218e3e9445a5490e8cea136b51214b83..b86d2dd8f01f06f4b1c99bc9368f4449616cd47b 100644 (file)
@@ -69,6 +69,7 @@
           project: '{project}'
           branch: '{branch}'
           files: '**'
+          forbidden-files: ''
 
     builders:
       - distribution-check-wipe
           email-prefix: '[{project-name}]'
       - integration-csit-archive-build
       - lf-infra-publish
+
+- job-template:
+    name: 'distribution-verify-{type}-{stream}'
+
+    project-type: freestyle
+    node: centos7-builder-8c-8g
+    concurrent: true
+    jdk: '{java-version}'
+
+    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'
+          choosing-strategy: 'gerrit'
+
+    wrappers:
+      - opendaylight-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - gerrit-trigger-patch-submitted:
+          gerrit-server-name: '{gerrit-server-name}'
+          project: '{project}'
+          branch: '{branch}'
+          files: '{files}'
+          forbidden-files: '{forbidden-files}'
+
+    builders:
+      - wipe-org-opendaylight-repo
+      - provide-maven-settings:
+          global-settings-file: 'global-settings'
+          settings-file: 'integration-settings'
+      - maven-target:
+          maven-version: mvn35
+          pom: pom.xml
+          goals: |
+              clean install dependency:tree -DoutputFile=dependency_tree.txt
+              -Dstream={stream}
+              -Dsft.heap.max=4g
+              {opendaylight-infra-mvn-opts}
+              {profile}
+          # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
+          java-opts:
+            - '-Xmx1024m -XX:MaxPermSize=256m'
+          settings: integration-settings
+          settings-type: cfp
+          global-settings: global-settings
+          global-settings-type: cfp
+
+    publishers:
+      - findbugs
+      - lf-jacoco-report
+      - lf-infra-publish
+      - email-notification:
+          email-recipients: '{email-recipients}'
+          email-prefix: '[{project-name}]'
+
+- job-template:
+    name: 'distribution-merge-{type}-{stream}'
+
+    # Need to keep jobs that deploy to Nexus at end of build as Maven
+    # projects. Maybe reconsider this once upstream moves deploy to a
+    # separate lifecycle:
+    #     https://issues.apache.org/jira/browse/MNG-5666
+
+    project-type: maven
+    node: 'centos7-builder-8c-8g'
+    jdk: '{java-version}'
+
+    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}'
+      - distribution-karaf-version:
+          karaf-version: '{karaf-version}'
+
+    scm:
+      - gerrit-trigger-scm:
+          refspec: ''
+          choosing-strategy: 'default'
+
+    wrappers:
+      - opendaylight-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - gerrit-trigger-patch-merged:
+          gerrit-server-name: '{gerrit-server-name}'
+          name: '{project}'
+          branch: '{branch}'
+          files: '{files}'
+          forbidden-files: '{forbidden-files}'
+      - reverse:
+          jobs: '{dependencies}'
+
+    prebuilders:
+      - wipe-org-opendaylight-repo
+      - jacoco-nojava-workaround
+      - provide-maven-settings:
+          global-settings-file: 'global-settings'
+          settings-file: 'integration-settings'
+      - integration-set-variables
+      - distribute-build-url:
+          path: '$KARAF_ARTIFACT/src/main/assembly'
+
+    maven:
+      maven-name: 'mvn35'
+      root-pom: 'pom.xml'
+      goals: >
+          clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B
+          -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
+          -Dsft.heap.max=4g
+          -Djenkins -Dmerge -Dstream={stream}
+          {profile}
+      maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+      settings: integration-settings
+      settings-type: cfp
+      global-settings: global-settings
+      global-settings-type: cfp
+
+    postbuilders:
+      - integration-compare-distributions
+    # TODO: the output of the above command is not *friendly* for the reader because the most important info
+    # is listed last. This is fine/best for command line output, but for keeping in a file it would be better
+    # to put the summary at the beginning of the file. Some bash magic can be done here to make that happen.
+
+    reporters:
+      - findbugs
+
+    publishers:
+      - maven-deploy:
+          id: ''
+          unique-version: true
+          deploy-unstable: false
+      - lf-jacoco-report
+      - lf-infra-publish
+      - email-notification:
+          email-recipients: '{email-recipients}'
+          email-prefix: '[{project-name}]'
+
+- job-template:
+    name: 'distribution-check-{type}-{stream}'
+
+    ######################
+    # Default parameters #
+    ######################
+
+    mvn-version: mvn35
+
+    #####################
+    # Job Configuration #
+    #####################
+
+    # Like a {project}-distribution-check, but few steps less as there is no upstream project involved.
+    disabled: false
+
+    project-type: freestyle
+    node: 'centos7-builder-8c-8g'
+    concurrent: true
+    jdk: '{java-version}'
+
+    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}'
+      - integration-distribution-stream:
+          stream: '{stream}'
+      - distribution-karaf-version:
+          karaf-version: '{karaf-version}'
+      - maven-exec:
+          maven-version: mvn35
+
+    scm:
+      - integration-gerrit-scm:
+          basedir: 'distribution'
+          refspec: '$GERRIT_REFSPEC'
+          branch: '{branch}'
+
+    wrappers:
+      - opendaylight-infra-wrappers:
+          # Distro-check jobs typically run within 10 - 30 minutes
+          # with 45 minutes being the occassional edge case.
+          # enforce a 60 minute limit to ensure stuck jobs get
+          # cleared up sooner.
+          # Double that as Karaf 3+4 may take longer.
+          build-timeout: '120'
+
+    triggers:
+      - gerrit-trigger-patch-submitted:
+          gerrit-server-name: '{gerrit-server-name}'
+          project: '{project}'
+          branch: '{branch}'
+          files: '{files}'
+          forbidden-files: '{forbidden-files}'
+
+    builders:
+      - distribution-check-wipe
+      - inject:
+          properties-file: 'allowed_projects.txt'
+      - distribution-check-build-project:
+          pom: 'distribution/pom.xml'
+          mvn-opts: |
+              {opendaylight-infra-mvn-opts}
+              {profile}
+          mvn-version: '{mvn-version}'
+          # '{opendaylight-infra-parallel-mvn-opts}' is bad when there are multiple big features in SFT.
+      - distribution-check-verify-groupid:
+          gerrit-project: 'integration'
+      - distribution-check-delete-snapshots
+      - distribution-check-configure-remotes
+      - distribution-check-repeat-project-build:
+          pom: 'distribution/pom.xml'
+          mvn-opts: |
+              {opendaylight-infra-mvn-opts}
+              {profile}
+          mvn-version: '{mvn-version}'
+          # '{opendaylight-infra-parallel-mvn-opts}' is bad when there are multiple big features in SFT.
+      - integration-set-variables
+      - distribution-check-warn-9191
+      - distribution-check-warn-9192
+      - integration-upload-distribution:
+          dist-pom: distribution/pom.xml
+      - distribution-check-bootup
+
+    publishers:
+      - email-notification:
+          email-recipients: '{email-recipients}'
+          email-prefix: '[{project-name}]'
+      - integration-csit-archive-build
+      - lf-infra-publish
+
+- job-template:
+    name: 'distribution-sanity-{stream}'
+    # Goal: Verify distribution starts with no issues when all features are loaded.
+    # Operation: This job deploys odl-integration-all + list of UM features.
+    # This job works for both managed & self-managed distro.
+
+    project-type: freestyle
+    node: centos7-builder-4c-4g
+    concurrent: 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}'
+      - integration-distribution-stream:
+          stream: '{stream}'
+      - integration-distribution-branch:
+          branch: '{branch}'
+      - integration-bundle-url:
+          bundle-url: '{bundle-url}'
+      - integration-repo-url:
+          repo-url: '{sm-repos}'
+      - integration-controller-features:
+          controller-features: '{sm-features}'
+      - integration-jdk-version:
+          jdkversion: '{jre}'
+      - distribution-karaf-version:
+          karaf-version: '{karaf-version}'
+
+    wrappers:
+      - opendaylight-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    builders:
+      - integration-detect-variables
+      - distribution-check-bootup
+
+    publishers:
+      - email-notification:
+          email-recipients: '{email-recipients}'
+          email-prefix: '[{project-name}]'
+      - integration-csit-archive-build
+      - lf-infra-publish
+
+- job-template:
+    name: 'distribution-csit-managed-{stream}'
+    # Goal: Verify distribution starts with no issues when all features are loaded.
+    # Operation: This job deploys odl-integration-all.
+    # This job works for just managed distro.
+
+    project-type: freestyle
+    node: centos7-builder-4c-4g
+    concurrent: 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}'
+      - integration-distribution-stream:
+          stream: '{stream}'
+      - integration-distribution-branch:
+          branch: '{branch}'
+      - integration-bundle-url:
+          bundle-url: '{bundle-url}'
+      - integration-jdk-version:
+          jdkversion: '{jre}'
+      - distribution-karaf-version:
+          karaf-version: 'karaf4'
+
+    wrappers:
+      - opendaylight-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    builders:
+      - integration-detect-variables
+      - distribution-check-bootup
+
+    publishers:
+      - email-notification:
+          email-recipients: '{email-recipients}'
+          email-prefix: '[{project-name}]'
+      - integration-csit-archive-build
+      - lf-infra-publish
+
index 4c6f737b51af22df25250090828da7e892ee2201..1f3483f3e10a02dd82de3dd0f05d831d3efdb0eb 100644 (file)
@@ -5,6 +5,10 @@
 # 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
+totaltmr=$(timer)
+get_os_deploy
 
 PYTHON="${ROBOT_VENV}/bin/python"
 SSH="ssh -t -t"
@@ -54,8 +58,7 @@ function create_etc_hosts() {
     NODE_IP=$1
     CTRL_IP=$2
     : > ${WORKSPACE}/hosts_file
-    for iter in `seq 1 ${NUM_OPENSTACK_COMPUTE_NODES}`
-    do
+    for iter in `seq 1 ${NUM_OPENSTACK_COMPUTE_NODES}`; do
         COMPUTE_IP=OPENSTACK_COMPUTE_NODE_${iter}_IP
         if [ "${!COMPUTE_IP}" == "${NODE_IP}" ]; then
            CONTROL_HNAME=$(${SSH}  ${CTRL_IP}  "hostname")
@@ -102,18 +105,6 @@ function install_openstack_clients_in_robot_vm() {
     fi
 }
 
-function is_openstack_feature_enabled() {
-    local feature=$1
-    for enabled_feature in $(csv2ssv ${ENABLE_OS_SERVICES})
-    do
-        if [ "${enabled_feature}" == "${feature}" ]; then
-           echo 1
-           return
-        fi
-    done
-    echo 0
-}
-
 #Function to install rdo release
 # This will help avoiding installing wrong version of packages which causes
 # functionality failures
@@ -349,16 +340,32 @@ enable_isolated_metadata = True
 log_dir = /opt/stack/logs
 
 [[post-config|/etc/nova/nova.conf]]
+[scheduler]
+discover_hosts_in_cells_interval = 30
+
 [DEFAULT]
 force_config_drive = False
 force_raw_images = False
 log_dir = /opt/stack/logs
 
-[scheduler]
-discover_hosts_in_cells_interval = 30
 EOF
 
-    echo "Control local.conf created:"
+    if [ "$(is_openstack_feature_enabled n-cpu)" == "1" ]; then
+        cat >> ${local_conf_file_name} << EOF
+use_neutron = True
+force_raw_images = False
+log_dir = /opt/stack/logs
+[libvirt]
+live_migration_uri = qemu+tcp://%s/system
+virt_type = qemu
+EOF
+    fi
+
+    if [ "$(is_openstack_feature_enabled n-cpu)" == "1" ]; then
+        echo "Combo local.conf created:"
+    else
+        echo "Control local.conf created:"
+    fi
     cat ${local_conf_file_name}
 } # create_control_node_local_conf()
 
@@ -410,8 +417,6 @@ SERVICE_PASSWORD=${ADMIN_PASSWORD}
 PUBLIC_BRIDGE=${PUBLIC_BRIDGE}
 PUBLIC_PHYSICAL_NETWORK=${PUBLIC_PHYSICAL_NETWORK}
 ODL_PROVIDER_MAPPINGS=${ODL_PROVIDER_MAPPINGS}
-Q_L3_ENABLED=True
-ODL_L3=${ODL_L3}
 EOF
 
     if [[ "${ENABLE_OS_PLUGINS}" =~ networking-odl ]]; then
@@ -621,7 +626,6 @@ function retry() {
 }
 
 ODL_PROVIDER_MAPPINGS="\${PUBLIC_PHYSICAL_NETWORK}:${PUBLIC_BRIDGE}"
-ODL_L3=False
 RECLONE=False
 ODL_PORT=8181
 
@@ -731,6 +735,24 @@ for i in `seq 1 ${NUM_OPENSTACK_SITES}`; do
     fi
 done
 
+os_ip_list=()
+for i in `seq 1 ${NUM_OPENSTACK_CONTROL_NODES}`; do
+    cip=OPENSTACK_CONTROL_NODE_${i}_IP
+    ip=${!cip}
+    os_ip_list+=("${ip}")
+done
+
+for i in `seq 1 ${NUM_OPENSTACK_COMPUTE_NODES}`; do
+    cip=OPENSTACK_COMPUTE_NODE_${i}_IP
+    ip=${!cip}
+    os_ip_list+=("${ip}")
+done
+
+for i in "${!os_ip_list[@]}"; do
+    ip=${os_ip_list[i]}
+    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
@@ -757,6 +779,9 @@ for i in `seq 1 ${NUM_OPENSTACK_CONTROL_NODES}`; do
     echo "Install rdo release to avoid incompatible Package versions"
     install_rdo_release ${!CONTROLIP}
     setup_live_migration_control ${!CONTROLIP}
+    if [ "$(is_openstack_feature_enabled n-cpu)" == "1" ]; then
+        setup_live_migration_compute ${!CONTROLIP} ${!CONTROLIP}
+    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"
@@ -808,7 +833,7 @@ for i in `seq 1 ${NUM_OPENSTACK_COMPUTE_NODES}`; do
     echo "Install rdo release to avoid incompatible Package versions"
     install_rdo_release ${!COMPUTEIP}
     setup_live_migration_compute ${!COMPUTEIP} ${!CONTROLIP}
-    echo "Stack the compute node ${i} of ${NUM_OPENSTACK_COMPUTE_NODES}: ${COMPUTEIP}"
+    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"
     os_node_list+=("${!COMPUTEIP}")
@@ -896,6 +921,9 @@ for i in `seq 1 ${NUM_OPENSTACK_SITES}`; do
         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
@@ -1062,6 +1090,9 @@ echo "neutron --version"
 which neutron
 neutron --version
 
+stacktime=$(timer $totaltmr)
+printf "Stacking elapsed time: %s\n" "${stacktime}"
+
 echo "Starting Robot test suites ${SUITES} ..."
 # please add pybot -v arguments on a single line and alphabetized
 suite_num=0
@@ -1081,6 +1112,7 @@ for suite in ${SUITES}; do
     --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 DEVSTACK_DEPLOY_PATH:/opt/stack/devstack \
@@ -1119,7 +1151,7 @@ for suite in ${SUITES}; do
     -v OS_COMPUTE_4_IP:${OPENSTACK_COMPUTE_NODE_4_IP} \
     -v OS_COMPUTE_5_IP:${OPENSTACK_COMPUTE_NODE_5_IP} \
     -v OS_COMPUTE_6_IP:${OPENSTACK_COMPUTE_NODE_6_IP} \
-    -v CMP_INSTANCES_SHARED_PATH:/var/instances \
+    -v OS_DEPLOY:${OS_DEPLOY} \
     -v OS_USER:${USER} \
     -v PUBLIC_PHYSICAL_NETWORK:${PUBLIC_PHYSICAL_NETWORK} \
     -v SECURITY_GROUP_MODE:${SECURITY_GROUP_MODE} \
@@ -1138,6 +1170,6 @@ ssh ${ODL_SYSTEM_IP} "ls -altr /tmp/${BUNDLEFOLDER}/data/log/"
 ssh ${ODL_SYSTEM_IP} "du -hs /tmp/${BUNDLEFOLDER}/data/log/*"
 
 echo "Tests Executed"
-
+printf "Total elapsed time: %s, stacking time: %s\n" "$(timer $totaltmr)" "${stacktime}"
 true  # perhaps Jenkins is testing last exit code
 # vim: ts=4 sw=4 sts=4 et ft=sh :
index 3ec9cb268d0236f96d467a3244b4ef69578f1679..f7cc8ff7fa8bbb7bd62cc357342903a3a0c6d399 100644 (file)
           odl-ml2-port-binding: 'pseudo-agentdb-binding'
           openstack_system_image: '{openstack_system_image_queens}'
           openstack_system2_image: '{openstack_system_image_queens}'
+
+- project:
+    name: netvirt-csit-1cmb-0ctl-0cmp-openstack-integration-fluorine
+    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'
+    security-group-mode: 'stateful'
+    odl_system_flavor: odl-highcpu-8
+    openstack_system_flavor: odl-highcpu-8
+    os-cmb-cnt: 1
+    os-ctl-cnt: 0
+    os-cmp-cnt: 0
+
+    topology:
+      - 1node:
+          openstack_system2_count: 0
+          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:
+      - 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'
+          odl-ml2-port-binding: 'pseudo-agentdb-binding'
+          openstack_system_image: '{openstack_system_image_queens}'
+          openstack_system2_image: '{openstack_system_image_queens}'
index 4490a389877efc7e9403c0605dc525b1d1fe175c..d1ca270379adabc14c0176c33d56e8cad99afcfa 100644 (file)
@@ -71,6 +71,7 @@
           project: '{project}'
           branch: '{branch}'
           files: '**'
+          forbidden-files: ''
 
     builders:
       - opflex-build:
           gerrit-server-name: '{gerrit-server-name}'
           name: 'opflex'
           branch: '{branch}'
+          files: '**'
+          forbidden-files: ''
 
     builders:
       - opflex-build:
index 3e8185ae9e5bf0d2b7e8b171ac1cef677dcd448d..6502165b6893a3927e001e16e79d479ec2587a71 100644 (file)
@@ -54,6 +54,8 @@
           project: '{project}'
           branch: '{branch}'
           files: '**'
+          forbidden-files: ''
+
 
     publishers:
       - lf-infra-publish
@@ -97,6 +99,7 @@
           project: '{project}'
           branch: '{branch}'
           files: '**'
+          forbidden-files: ''
 
     publishers:
       - lf-infra-publish
index 4d1c2b34a29d3953b4a82050c63474c077402d16..69a6cee333f81303730677e41d6051578614ff78 100644 (file)
           project: '{project}'
           branch: '{branch}'
           files: 'packages/**'
+          forbidden-files: ''
 
     publishers:
       - lf-infra-publish
index 0fd69b51c6ae0c04102384507a0fbe391e5bcf35..60d3a826ea5cbc10b78d0054732e60a11d6af3d0 100644 (file)
@@ -59,6 +59,7 @@
           project: '{project}'
           branch: '{branch}'
           files: '**'
+          forbidden-files: ''
 
     publishers:
       - lf-infra-publish
index d195b8a16241bd5da9717228eaea13252394c75f..7cbd88e5d30e16825f8c547324b3641518d08ef4 100644 (file)
@@ -29,7 +29,7 @@
     build-node: centos7-builder-2c-2g
     archive-artifacts: '**/*.log'
     build-timeout: 30
-    jjb-version: 2.0.10
+    jjb-version: 2.2.1
     jenkins-urls: >
       https://jenkins.opendaylight.org/releng
       https://jenkins.opendaylight.org/sandbox
index 2e1499868a28d93a8d968e96c17d38c61151a915..74f42ae9f9cbf8d95ce8bbfb408868a5c46ff669 100644 (file)
               file-paths:
                 - compare-type: ANT
                   pattern: '{files}'
+              forbidden-file-paths:
+                - compare-type: ANT
+                  pattern: '{forbidden-files}'
 
 # TODO: Unify argument names across gerrit-trigger-* macros.
 - trigger:
               branches:
                 - branch-compare-type: 'ANT'
                   branch-pattern: '**/{branch}'
+              file-paths:
+                - compare-type: ANT
+                  pattern: '{files}'
+              forbidden-file-paths:
+                - compare-type: ANT
+                  pattern: '{forbidden-files}'
           skip-vote:
             successful: true
             failed: true
index 4afb8dbdbdc806b4662051823ca40ad8ae42cfe2..1a65cab6e39062e4d0baf33bd2e3665198921dbc 100644 (file)
           gerrit-server-name: '{gerrit-server-name}'
           name: '{project}'
           branch: '{branch}'
+          files: '**'
+          forbidden-files: ''
 
     prebuilders:
       - jacoco-nojava-workaround
           deploy-unstable: false
       - lf-jacoco-report
       - lf-infra-publish
-      - trigger:
-          project: 'distribution-merge-{stream}'
-          threshold: SUCCESS
index bd7950a495db9b1dc903aa560ab159dcae6e9703..d490c8cd103272f1c3bd7a744d08dd510edcde02 100644 (file)
     # Used by the release job
     staging-profile-id: 1271cf710cc09d
 
+- project:
+    name: yangtools-v2.0.6.x
+    jobs:
+      - '{project-name}-maven-javadoc-jobs'
+      - odl-maven-jobs
+
+    project: yangtools
+    project-name: yangtools
+    branch: v2.0.6.x
+    stream: v2.0.6.x
+
+    mvn-settings: 'yangtools-settings'
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+
+    dependencies: ''
+    email-upstream: '[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: 1271cf710cc09d
+
 - project:
     name: yangtools-sonar
     jobs:
diff --git a/tox.ini b/tox.ini
index 95ee8dd7d6678df591ca981531e0d8746fcdb19e..3fd449bfab4441f66dd4441b7fc5b4e846081422 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -23,7 +23,7 @@ commands = sphinx-build -b html -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs
 
 [testenv:jenkins-jobs]
 deps =
-    jenkins-job-builder=={env:JJB_VERSION:2.0.10}
+    jenkins-job-builder=={env:JJB_VERSION:2.2.1}
 commands =
     jenkins-jobs {posargs:--help}