Merge "Update new images built for changes #50992 and #50976"
[releng/builder.git] / jjb / releng-macros.yaml
index 610feab6b903e8fd2e4e14aeb805035d0f301406..ef6b63e45d471be20e23263b44f729f9da630238 100644 (file)
             builders:
                 - shell: |
                     if [ -d "$WORKSPACE/.venv-openstack" ]; then
-                        # TODO: Remove the condition once we are no longer using
-                        #       JClouds plugin.
-                        if [ -z "$JCLOUDS_IPS" ]; then
-                            source $WORKSPACE/.venv-openstack/bin/activate
-                            openstack --os-cloud rackspace stack delete --yes $STACK_NAME
-                        fi
+                        source $WORKSPACE/.venv-openstack/bin/activate
+                        openstack --os-cloud rackspace stack delete --yes $STACK_NAME
                     fi
                 - shell: !include-raw: include-raw-deploy-archives.sh
                 - maven-target:
         - 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.
+    builders:
+        - shell: 'echo "$BUILD_URL" > {path}/build.url'
+
 - builder:
     name: wipe-org-opendaylight-repo
     builders:
         - ssh-agent-credentials:
             users:
                 - 'opendaylight-jenkins-ssh'
-        - jclouds:
-            single-use: True
         - openstack:
             single-use: True
 
                   variable: 'CLOUDENV'
         - shell: |
             cd packer
-            export PACKER_LOG="yes" && \
-            export PACKER_LOG_PATH="packer-validate.log" && \
-                        packer.io validate -var-file=$CLOUDENV \
-                         -var-file=../packer/vars/{platform}.json \
-                         ../packer/templates/{template}.json
+            varfiles="../packer/vars/*"
+            templates="../packer/templates/*"
+            provision="../packer/provision/*.sh"
+            for v in $varfiles; do
+                [[ "${v##*/}" =~ ^(cloud-env.*)$ ]] && continue
+                for t in $templates; do
+                    export PACKER_LOG="yes" && \
+                    export PACKER_LOG_PATH="packer-validate-${v##*/}-${t##*/}.log" && \
+                                packer.io validate -var-file=$CLOUDENV \
+                                -var-file=$v $t
+                    if [ $? -ne 0 ]; then
+                        break
+                    fi
+                done
+            done
+            for p in $provision; do
+                /bin/bash -n $p > provision-validate-${p##*/}.log 2>&1
+            done
 
 - builder:
     name: packer-build