build-timeout: 10
- project:
- name: builder-packer-jobs
+ name: packer-jobs
+ # packer jobs templates are defined in global-jjb
jobs:
- - 'builder-merge-packer-{platforms}-{templates}'
- - 'builder-verify-packer'
-
+ - '{project-name}-packer-jobs'
project: 'releng/builder'
project-name: builder
branch: master
archive-artifacts: '**/*.log'
- build-timeout: 90
platforms:
- centos
templates:
- devstack
- - devstack-pre-pip-newton
- - devstack-pre-pip-ocata
+ - devstack-pre-pip-newton:
+ build-timeout: 60
+ - devstack-pre-pip-ocata:
+ build-timeout: 60
- docker
- gbp
- java-builder
- platforms: centos
templates: baseline
-
- job-template:
name: builder-check-poms
node: centos7-java-builder-2c-4g
email-prefix: '[releng]'
- lf-infra-publish
-- job-template:
- name: 'builder-verify-packer'
- project-type: freestyle
- node: centos7-java-builder-2c-4g
- concurrent: true
-
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: 14
-
- 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:
- server: '{server-name}'
- project: '{project}'
- branch: '{branch}'
- files: 'packer/**'
-
- builders:
- - packer-validate:
-
- publishers:
- - email-notification:
- email-recipients: '{email-recipients}'
- email-prefix: '[{project}]'
- - lf-infra-publish
-
-- job-template:
- name: 'builder-merge-packer-{platforms}-{templates}'
- project-type: freestyle
- node: centos7-java-builder-2c-4g
-
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: 14
-
- 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'
- branches:
- - '$GERRIT_BRANCH'
- choosing-strategy: 'default'
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: '{build-timeout}'
-
- triggers:
- - timed: '00 10 1 * *'
- - gerrit:
- server-name: '{server-name}'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'releng/builder'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'packer/vars/{platforms}.json'
- - compare-type: ANT
- pattern: 'packer/templates/{templates}.json'
- - compare-type: ANT
- pattern: 'packer/provision/{templates}.sh'
- - compare-type: ANT
- pattern: 'packer/provision/system_reseal.sh'
- - compare-type: ANT
- pattern: 'packer/provision/rh-user_data.sh'
- - compare-type: ANT
- pattern: 'packer/provision/devstack-pre-pip.sh'
- - compare-type: ANT
- pattern: 'packer/provision/baseline.sh'
-
- builders:
- - packer-validate:
- - packer-build:
- platform: '{platforms}'
- template: '{templates}'
-
- publishers:
- - email-notification:
- email-recipients: '{email-recipients}'
- email-prefix: '[{project}]'
- - lf-infra-publish
-
- job-template:
name: 'builder-update-csit-tests'
node: centos7-java-builder-2c-8g
- openstack:
single-use: true
-- builder:
- name: packer-validate
- builders:
- - config-file-provider:
- files:
- - file-id: 'packer-cloud-env'
- variable: 'CLOUDENV'
- - shell: |
- #!/bin/bash
- # Ensure we fail the job if any steps fail.
- set -eu -o pipefail
- cd packer
- 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
-
-- builder:
- name: packer-build
- builders:
- - config-file-provider:
- files:
- - file-id: 'packer-cloud-env'
- variable: 'CLOUDENV'
- - shell: |
- #!/bin/bash
- # Ensure we fail the job if any steps fail.
- set -eu -o pipefail
- cd packer
- export PACKER_LOG="yes" && \
- export PACKER_LOG_PATH="packer-build.log" && \
- packer.io build -color=false -var-file=$CLOUDENV \
- -var-file=../packer/vars/{platform}.json \
- ../packer/templates/{template}.json
- # Split public and private cloud logs
- grep -e 'public_cloud' packer-build.log > packer-build_public_cloud.log 2>&1
- grep -e 'private_cloud' packer-build.log > packer-build_private_cloud.log 2>&1
-
- builder:
# TODO: Verify signature after downloading users public key from a locally created
# repository instead of the public keymesh. This requires a process in place to get ODL