X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Freleng-macros.yaml;h=ca11a7c861b88873ca974ce55ed29b55050e3072;hb=2aea3c8da0d46c3fd0eaef060fcc046d3ef2af86;hp=eab86572f7b63d9e5cde20994ef81e1fdcdccdd7;hpb=61648282c19c20fc0d51f2fcde2079bcd79ccbd3;p=releng%2Fbuilder.git diff --git a/jjb/releng-macros.yaml b/jjb/releng-macros.yaml index eab86572f..ca11a7c86 100644 --- a/jjb/releng-macros.yaml +++ b/jjb/releng-macros.yaml @@ -15,7 +15,7 @@ description: 'Parameter to identify an ODL Gerrit project' - string: name: ARCHIVE_ARTIFACTS - default: '{artifacts} **/target/surefire-reports/*-output.txt' + default: '{artifacts} **/target/surefire-reports/*-output.txt **/hs_err_*.log **/target/feature/feature.xml' description: 'Space separated glob patterns for artifacts to archive into logs.opendaylight.org' - string: name: GERRIT_PROJECT @@ -29,6 +29,10 @@ name: GERRIT_REFSPEC default: '{refspec}' description: "GERRIT_REFSPEC parameter if not given by trigger" + - string: + name: STACK_NAME + default: '$JOB_NAME-$BUILD_NUMBER' + description: "Used by Heat to generate a unique stack & vm name" - parameter: name: build-tag @@ -239,7 +243,14 @@ body: | $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS: - Check console output at $BUILD_URL to view the results. + Please refer to the logs server URL for console logs when possible + and use the Jenkins Build URL as a last resort. + + Console Logs URL: + https://logs.opendaylight.org/$SILO/$JENKINS_HOSTNAME/$JOB_NAME/$BUILD_NUMBER + + Jenkins Build URL: + $BUILD_URL unstable: true fixed: true send-to: @@ -276,6 +287,7 @@ publishers: - postbuildscript: builders: + - shell: !include-raw: include-raw-stack-delete.sh - shell: !include-raw: include-raw-deploy-archives.sh - maven-target: maven-version: '{maven-version}' @@ -299,6 +311,38 @@ - '**/*.jenkins-trigger' fail-build: false +- builder: + name: opendaylight-infra-stack + # opendaylight-infra-stack.sh has a required variable {stack-template} that + # must be passed into this macro. + builders: + - 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: @@ -386,6 +430,11 @@ # needed by OpenDaylight infra. name: opendaylight-infra-wrappers wrappers: + - mask-passwords + - config-file-provider: + files: + - file-id: rackspace-heat + target: '$HOME/.config/openstack/clouds.yaml' - timeout: type: absolute timeout: '{build-timeout}' @@ -395,8 +444,6 @@ - ssh-agent-credentials: users: - 'opendaylight-jenkins-ssh' - - jclouds: - single-use: True - openstack: single-use: True @@ -409,15 +456,33 @@ 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 builders: + - config-file-provider: + files: + - file-id: 'packer-cloud-env' + variable: 'CLOUDENV' - shell: | cd packer export PACKER_LOG="yes" && \ @@ -433,3 +498,11 @@ name: verify-gpg-signature builders: - shell: !include-raw: include-raw-verify-gpg-signatures.sh + +- builder: + name: opendaylight-infra-jjbini + builders: + - config-file-provider: + files: + - file-id: 'jjbini' + target: '$HOME/.config/jenkins_jobs/jenkins_jobs.ini'