Merge "Update Ubuntu docker image"
[releng/builder.git] / jjb / releng-macros.yaml
index 968dee281cad396d9a3cdc51bc7aaba94f78e1fe..6487231cb84ca48bb13e9cf97eb8ef653037bec7 100644 (file)
           name: PATCHES_TO_BUILD
           default: ''
           description: |
-            Patches to add to distro in CSV project:changeset format (genius:32/53632/9,netvirt:59/50259/47)
+              Ordered list of patches to build in the format of project=changeset (checkout) or
+              project:changeset (cherry-pick) for example: genius=32/53632/9,netvirt:59/50259/47.
+              A topic is also allowed, for example: topic=binding-tlc-rpc
+
+- parameter:
+    name: build-order-parameter
+    parameters:
+      - string:
+          name: BUILD_ORDER
+          default: '{build-order}'
+          description: 'Build order for multipatch test when topic is used'
+
+- parameter:
+    name: build-fast-parameter
+    parameters:
+      - string:
+          name: BUILD_FAST
+          default: '{build-fast}'
+          description: 'Set true to build fast -Pq'
 
 - parameter:
     name: run-test-parameter
     parameters:
       - string:
-          name: RUNTEST
+          name: RUN_TEST
           default: '{run-test}'
           description: 'Set true to run test after build'
 
 # Only 'recheck' trigger word is supported, it always triggers the full set of relevant jobs,
 # in order to prevent Jenkins from starting only a subset and still voting Verified+1.
 # Arguments:
-#     server: name of gerrit server to listen to
+#     gerrit-server-name: name of gerrit server to listen to
 #     project: pattern to match triggering projects
 #     branch: triggering branch name
 #     files: pattern to match triggering filepaths
     name: gerrit-trigger-patch-submitted
     triggers:
       - gerrit:
-          server-name: '{server}'
+          server-name: '{gerrit-server-name}'
           trigger-on:
             - patchset-created-event:
                 exclude-drafts: true
                 exclude-no-code-change: false
             - draft-published-event
             - comment-added-contains-event:
-                comment-contains-value: recheck
+                comment-contains-value: 'recheck$'
           projects:
             - project-compare-type: ANT
               project-pattern: '{project}'
     name: gerrit-trigger-patch-merged
     triggers:
       - gerrit:
-          server-name: '{server-name}'
+          server-name: '{gerrit-server-name}'
           trigger-on:
             - change-merged-event
             - comment-added-contains-event:
-                comment-contains-value: 'remerge'
+                comment-contains-value: 'remerge$'
           projects:
             - project-compare-type: 'ANT'
               project-pattern: '{name}'
     name: gerrit-trigger-patch-sonar
     triggers:
       - gerrit:
-          server-name: '{server-name}'
+          server-name: '{gerrit-server-name}'
           trigger-on:
             - comment-added-contains-event:
                 comment-contains-value: 'run-sonar'
           send-to:
             - recipients
 
-- publisher:
-    name: jacoco-report
-    publishers:
-      - jacoco:
-          exec-pattern: "**/**.exec"
-          class-pattern: "**/classes"
-          source-pattern: "**/src/main/java"
-          exclusion-pattern: "**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**"
-          status-update: true
-          targets:
-            - branch:
-                healthy: 10
-                unhealthy: 20
-            - method:
-                healthy: 50
-                unhealthy: 40
+
+- builder:
+    # Installs the openstack cli into a virtualenv at /tmp/v/openstack
+    name: odl-openstack-install
+    builders:
+      - shell: !include-raw: odl-openstack-install.sh
+
+- builder:
+    name: odl-openstack-check-image-protection
+    builders:
+      - shell: !include-raw: odl-openstack-check-image-protection.sh
+
+- builder:
+    name: odl-openstack-cleanup-old-images
+    builders:
+      - shell: !include-raw: odl-openstack-cleanup-old-images.sh
+
+- builder:
+    name: odl-openstack-cleanup-orphaned-nodes
+    builders:
+      - shell: !include-raw: odl-openstack-cleanup-orphaned-nodes.sh
+
+- builder:
+    name: odl-openstack-cleanup-stale-nodes
+    builders:
+      - shell: !include-raw: odl-openstack-cleanup-stale-nodes.sh
+
+- builder:
+    name: odl-openstack-cleanup-stale-stacks
+    builders:
+      - shell: !include-raw: odl-openstack-cleanup-stale-stacks.sh
+
+- builder:
+    name: odl-openstack-cleanup-stale-volumes
+    builders:
+      - shell: !include-raw: odl-openstack-cleanup-stale-volumes.sh
 
 - builder:
     # Deploys a maven site to Nexus using lftools nexus-zip command
       - shell: !include-raw: opendaylight-infra-stack.sh
       - shell: !include-raw-escape: opendaylight-infra-copy-ssh-keys.sh
 
-- builder:
-    name: opendaylight-infra-push-gerrit-patch
-    # opendaylight-infra-push-gerrit-patch.sh allows a job to push a patch to
-    # Gerrit in an automated fashion. This is meant for tasks that creates
-    # the same patch regularly and needs the ability to detect if an unreviewed
-    # patch already exists. In which case it will update the existing patch.
-    #
-    # Note: This patch assumes the $WORKSPACE contains the project repo with
-    #       the files changed already "git add" and waiting for a "git commit" call.
-    #
-    # This script requires the following JJB variables to be passed in:
-    #     {project}       Gerrit project-name
-    #     {gerrit-topic}  Gerrit topic, please make a unique topic.
-    #     {gerrit-commit-message} Commit message to assign to commit.
-    # NOTE: Requires git review to be installed on node.
-    builders:
-      - shell: !include-raw: opendaylight-infra-push-gerrit-patch.sh
-
 - builder:
     name: distribute-build-url
     # Place URL of the current run of a build job to a file at given path.
                 settings: '{settings}'
                 global-settings: '{global-settings}'
 
+- publisher:
+    name: releng-openstack-stack-delete
+    publishers:
+      - postbuildscript:
+          builders:
+            - role: BOTH
+              build-on:
+                - ABORTED
+                - FAILURE
+                - SUCCESS
+                - UNSTABLE
+              build-steps:
+                - shell: |
+                    #!/bin/bash
+                    echo "Deleting $STACK_NAME"
+                    source "/tmp/v/openstack/bin/activate"
+                    openstack stack delete --yes "$STACK_NAME"
+          mark-unstable-if-failed: false
+
 - builder:
     name: releng-stage-release
     builders:
           files:
             - file-id: npmrc
               target: '$HOME/.npmrc'
-            - file-id: rackspace-heat
+            - file-id: pipconf
+              target: '$HOME/.config/pip/pip.conf'
+            - file-id: clouds-yaml
               target: '$HOME/.config/openstack/clouds.yaml'
       - timeout:
           type: absolute
     publishers:
       - postbuildscript:
           builders:
-            - shell: !include-raw: generate-csit-status-report.sh
-          script-only-if-succeeded: false
-          script-only-if-failed: false
-          mark-unstable-if-failed: false
+            - role: BOTH
+              build-on:
+                - ABORTED
+                - FAILURE
+                - NOT_BUILT
+                - SUCCESS
+                - UNSTABLE
+              build-steps:
+                - shell: !include-raw: generate-csit-status-report.sh
+          mark-unstable-if-failed: true