add support for JVM monitoring
[releng/builder.git] / jjb / integration / distribution / distribution-templates.yaml
index b86d2dd8f01f06f4b1c99bc9368f4449616cd47b..4abf4ee46475a56b355c897d1769163cc3f71b44 100644 (file)
@@ -1,7 +1,4 @@
 ---
-- project:
-    name: distribution-templates
-
 - job-template:
     name: '{project-name}-distribution-check-{stream}'
 
@@ -9,8 +6,15 @@
     # Default parameters #
     ######################
 
-    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'
+    disable-job: false
 
     #####################
     # Job Configuration #
     # Operation: This job template builds a patch, creates a distribution containing
     #            the patch (making sure dependencies are specified),
     #            and performs the distribution deploy test.
-    disabled: false
+    disabled: '{disable-job}'
 
     project-type: freestyle
     node: 'centos7-builder-8c-8g'
     concurrent: true
-    jdk: '{java-version}'
 
     properties:
       - opendaylight-infra-properties:
@@ -73,6 +76,8 @@
 
     builders:
       - distribution-check-wipe
+      - lf-update-java-alternatives:
+          java-version: '{java-version}'
       - inject:
           properties-file: 'allowed_projects.txt'
       - distribution-check-build-project:
           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}'
 - job-template:
     name: 'distribution-verify-{type}-{stream}'
 
+    disable-job: 'false'
+
     project-type: freestyle
     node: centos7-builder-8c-8g
     concurrent: true
-    jdk: '{java-version}'
+    disabled: '{disable-job}'
 
     properties:
       - opendaylight-infra-properties:
 
     builders:
       - wipe-org-opendaylight-repo
-      - provide-maven-settings:
+      - lf-provide-maven-settings:
           global-settings-file: 'global-settings'
           settings-file: 'integration-settings'
+      - lf-update-java-alternatives:
+          java-version: '{java-version}'
       - maven-target:
           maven-version: mvn35
           pom: pom.xml
               {profile}
           # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
           java-opts:
-            - '-Xmx1024m -XX:MaxPermSize=256m'
+            - '-Xmx1024m'
           settings: integration-settings
           settings-type: cfp
           global-settings: global-settings
     # separate lifecycle:
     #     https://issues.apache.org/jira/browse/MNG-5666
 
+    disable-job: false
+
     project-type: maven
     node: 'centos7-builder-8c-8g'
-    jdk: '{java-version}'
+    disabled: '{disable-job}'
 
     properties:
       - opendaylight-infra-properties:
 
     prebuilders:
       - wipe-org-opendaylight-repo
-      - jacoco-nojava-workaround
-      - provide-maven-settings:
+      - lf-jacoco-nojava-workaround
+      - lf-provide-maven-settings:
           global-settings-file: 'global-settings'
           settings-file: 'integration-settings'
+      - lf-update-java-alternatives:
+          java-version: '{java-version}'
       - integration-set-variables
       - distribute-build-url:
           path: '$KARAF_ARTIFACT/src/main/assembly'
           -Dsft.heap.max=4g
           -Djenkins -Dmerge -Dstream={stream}
           {profile}
-      maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+      maven-opts: '-Xmx1024m'
       settings: integration-settings
       settings-type: cfp
       global-settings: global-settings
     ######################
     # Default parameters #
     ######################
-
+    disable-job: false
     mvn-version: mvn35
 
     #####################
     #####################
 
     # Like a {project}-distribution-check, but few steps less as there is no upstream project involved.
-    disabled: false
+    disabled: '{disable-job}'
 
     project-type: freestyle
     node: 'centos7-builder-8c-8g'
     concurrent: true
-    jdk: '{java-version}'
 
     properties:
       - opendaylight-infra-properties:
 
     builders:
       - distribution-check-wipe
+      - lf-update-java-alternatives:
+          java-version: '{java-version}'
       - inject:
           properties-file: 'allowed_projects.txt'
       - distribution-check-build-project:
       - distribution-check-warn-9191
       - distribution-check-warn-9192
       - integration-upload-distribution:
-          dist-pom: distribution/pom.xml
+          dist-pom: '{dist-pom}'
       - distribution-check-bootup
 
     publishers:
     # This job works for both managed & self-managed distro.
 
     project-type: freestyle
-    node: centos7-builder-4c-4g
+    node: centos7-builder-2c-8g
     concurrent: false
 
     properties:
           bundle-url: '{bundle-url}'
       - integration-repo-url:
           repo-url: '{sm-repos}'
-      - integration-controller-features:
+      - integration-controller-parameters:
           controller-features: '{sm-features}'
+          # Parameters below are unused in this job so set them all to blank
+          controller-debug-map: ''
+          controller-scope: ''
+          controller-use-features-boot: ''
+          feature-elasticsearch-attribute: '{elasticsearch-attribute}'
       - integration-jdk-version:
           jdkversion: '{jre}'
       - distribution-karaf-version:
     # Operation: This job deploys odl-integration-all.
     # This job works for just managed distro.
 
+    disable-job: false
+
     project-type: freestyle
     node: centos7-builder-4c-4g
     concurrent: false
+    disabled: '{disable-job}'
 
     properties:
       - opendaylight-infra-properties:
           email-prefix: '[{project-name}]'
       - integration-csit-archive-build
       - lf-infra-publish
-