X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Freleng-jobs.yaml;h=f9499477a6770aec34b12b8e0f7117b1402e6d41;hb=04c3890554166f05b19226e546c86b654bb07bff;hp=a74855eeefaf92c32346ae6f63048ecb8bf8f36e;hpb=098435742c9e0baa3f458f2827ffbcfcf6b7fe91;p=releng%2Fbuilder.git diff --git a/jjb/releng-jobs.yaml b/jjb/releng-jobs.yaml index a74855eee..69e6be6a9 100644 --- a/jjb/releng-jobs.yaml +++ b/jjb/releng-jobs.yaml @@ -1,509 +1,299 @@ +--- - project: name: builder-jobs jobs: - - 'builder-verify-jjb' - - 'builder-verify-python' - - 'builder-merge' - - 'builder-weekly' - - 'builder-check-poms' - - 'builder-verify-packer' - - 'builder-merge-packer-{platforms}-{templates}' - # OpenStack Related - - 'builder-delete-stale-stacks' - # Automation for docs and jobs - - 'builder-update-csit-tests' - - 'builder-update-image-list' + - '{project-name}-ci-jobs' + - '{project-name}-verify-tox-{stream}' + - 'builder-check-poms' + # OpenStack Related + - 'builder-cleanup-old-images' + - 'builder-delete-stale-nodes' + - 'builder-delete-stale-stacks' + # Automation for docs and jobs + - 'builder-update-csit-tests' + - 'builder-update-image-list' + + # The following values are only specified here + # so that code blocks look similar to other projects. + project: 'releng/builder' + project-name: builder + stream: master + branch: master + build-node: centos7-java-builder-2c-4g + archive-artifacts: '**/*.log' + build-timeout: 10 + +- project: + name: packer-jobs + # packer jobs templates are defined in global-jjb + jobs: + - '{project-name}-packer-jobs' + project: 'releng/builder' + project-name: builder + branch: master + archive-artifacts: '**/*.log' platforms: - - centos - - ubuntu-14.04 + - centos + - ubuntu-14.04 + - ubuntu-16.04 templates: - - devstack - - devstack-pre-pip-mitaka - - devstack-pre-pip-newton - - docker - - gbp - - java-builder - - mininet - - mininet-ovs-2.3 - - mininet-ovs-2.5 - - robot + - devstack + - devstack-pre-pip-newton: + build-timeout: 75 + - devstack-pre-pip-ocata: + build-timeout: 60 + - docker + - gbp + - java-builder: + build-timeout: 75 + - mininet + - mininet-ovs-2.5: + build-timeout: 60 + - robot exclude: - - platforms: centos - templates: gbp - - platforms: centos - templates: mininet - - platforms: centos - templates: mininet-ovs-2.3 - - platforms: centos - templates: mininet-ovs-2.5 - - platforms: ubuntu-14.04 - templates: java-builder - - platforms: ubuntu-14.04 - templates: robot - - platforms: ubuntu-14.04 - templates: devstack-pre-pip-mitaka - - platforms: ubuntu-14.04 - templates: devstack-pre-pip-newton - - platforms: ubuntu-14.04 - templates: devstack - - platforms: ubuntu-14.04 - templates: docker - - project-type: freestyle - archive-artifacts: '**/*.log' - build-timeout: '60' - # The following two values are only specified here - # so that code blocks look similar to other projects. - project: 'releng/builder' - branch: 'master' + - platforms: centos + templates: gbp + - platforms: centos + templates: mininet + - platforms: centos + templates: mininet-ovs-2.5 + - platforms: ubuntu-14.04 + templates: java-builder + - platforms: ubuntu-14.04 + templates: robot + - platforms: ubuntu-14.04 + templates: devstack-pre-pip-newton + - platforms: ubuntu-14.04 + templates: devstack-pre-pip-ocata + - platforms: ubuntu-14.04 + templates: devstack + - platforms: ubuntu-14.04 + templates: docker + - platforms: ubuntu-14.04 + templates: mininet-ovs-2.5 + - platforms: ubuntu-16.04 + templates: java-builder + - platforms: ubuntu-16.04 + templates: robot + - platforms: ubuntu-16.04 + templates: devstack-pre-pip-newton + - platforms: ubuntu-16.04 + templates: devstack-pre-pip-ocata + - platforms: ubuntu-16.04 + templates: devstack + - platforms: ubuntu-16.04 + templates: docker + - platforms: ubuntu-16.04 + templates: mininet + - platforms: ubuntu-16.04 + templates: gbp + - platforms: ubuntu-16.04 + templates: baseline + - platforms: centos + templates: baseline - job-template: - name: builder-verify-jjb + name: builder-check-poms node: centos7-java-builder-2c-4g project-type: freestyle properties: - - opendaylight-infra-properties: - build-days-to-keep: 14 + - opendaylight-infra-properties: + build-days-to-keep: 14 parameters: - - opendaylight-infra-parameters: - project: '{project}' - branch: '{branch}' - refspec: 'refs/heads/{branch}' - artifacts: '{archive-artifacts}' - - scm: - - gerrit-trigger-scm: - refspec: '$GERRIT_REFSPEC' - choosing-strategy: 'gerrit' + - opendaylight-infra-parameters: + os-cloud: '{os-cloud}' + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' wrappers: - - opendaylight-infra-wrappers: - build-timeout: '{build-timeout}' + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' triggers: - - gerrit-trigger-patch-submitted: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - files: 'jjb/**' + - timed: 'H H * * 1' builders: - - opendaylight-infra-jjbini - - shell: | - virtualenv $WORKSPACE/venv - source $WORKSPACE/venv/bin/activate - pip install --upgrade pip - pip freeze - pip install jenkins-job-builder - jenkins-jobs -l DEBUG test --recursive -o archives/job_output jjb/ - gzip archives/job_output/* - - releng-check-unicode - - verify-gpg-signature + - shell: !include-raw-escape: include-raw-check-poms.sh publishers: - - email-notification: - email-recipients: '{email-recipients}' - email-prefix: '[releng]' - - opendaylight-infra-shiplogs: - maven-version: 'mvn33' - -# FIXME: Migrate to {project-name}-verify-python-{stream} or delete this entirely, -# as there are zero python files (aside docs/conf.py) in releng/builder. -- job-template: - name: builder-verify-python - node: centos7-java-builder-2c-4g - - project-type: freestyle - - properties: - - opendaylight-infra-properties: - build-days-to-keep: 14 + - email-notification: + email-recipients: '{email-recipients}' + email-prefix: '[releng]' + - lf-infra-publish - parameters: - - opendaylight-infra-parameters: - 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: 'scripts/**' - - builders: - - verify-gpg-signature - - shell: | - virtualenv $WORKSPACE/venv - source $WORKSPACE/venv/bin/activate - pip install --upgrade pip - pip freeze - pip install flake8 - flake8 scripts/ - - publishers: - - email-notification: - email-recipients: '{email-recipients}' - email-prefix: '[releng]' - - opendaylight-infra-shiplogs: - maven-version: 'mvn33' - job-template: - name: 'builder-merge' - node: centos7-java-builder-2c-4g - - # builder-merge job to run JJB update - # - # This job's purpose is to update all the JJB - + name: 'builder-cleanup-old-images' project-type: freestyle - - properties: - - opendaylight-infra-properties: - build-days-to-keep: 14 - - parameters: - - opendaylight-infra-parameters: - project: '{project}' - branch: '{branch}' - refspec: 'refs/heads/{branch}' - artifacts: '{archive-artifacts}' - - scm: - - gerrit-trigger-scm: - refspec: '' - choosing-strategy: 'default' - - wrappers: - - opendaylight-infra-wrappers: - build-timeout: '{build-timeout}' - - triggers: - - 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: jjb/** - - builders: - - opendaylight-infra-jjbini - - shell: | - virtualenv $WORKSPACE/venv - source $WORKSPACE/venv/bin/activate - pip install --upgrade pip - pip freeze - pip install jenkins-job-builder - jenkins-jobs --version - jenkins-jobs update --recursive --delete-old --workers 4 jjb/ - - publishers: - - email-notification: - email-recipients: '{email-recipients}' - email-prefix: '[releng]' - - opendaylight-infra-shiplogs: - maven-version: 'mvn33' - -- job-template: - name: 'builder-weekly' - disabled: false node: centos7-java-builder-2c-4g - # builder-weekly job to run JJB update weekly - # - # This job's purpose is to update all the JJB on a weekly (Sunday) - # basis with --flush-cache enabled to ensure jobs are okay - - project-type: freestyle - properties: - - opendaylight-infra-properties: - build-days-to-keep: 14 + - opendaylight-infra-properties: + build-days-to-keep: 7 parameters: - - opendaylight-infra-parameters: - project: '{project}' - branch: '{branch}' - refspec: 'refs/heads/{branch}' - artifacts: '{archive-artifacts}' + - opendaylight-infra-parameters: + os-cloud: '{os-cloud}' + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' scm: - - git-scm: - branch: '{branch}' + - git-scm: + branch: '{branch}' wrappers: - - opendaylight-infra-wrappers: - build-timeout: '{build-timeout}' + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' + # Listed after to override openstack-infra-wrappers clouds.yaml definition + - config-file-provider: + files: + - file-id: opendaylight-private-clouds-yaml + target: '$HOME/.config/openstack/clouds.yaml' triggers: - - timed: 'H H * * 0' + # Cleanup images on a weekly schedule + - timed: '@weekly' builders: - - opendaylight-infra-jjbini - - shell: | - virtualenv $WORKSPACE/venv - source $WORKSPACE/venv/bin/activate - pip install --upgrade pip - pip freeze - pip install jenkins-job-builder - jenkins-jobs --flush-cache update --recursive --workers 4 jjb/ + - shell: !include-raw-escape: + - global-jjb/shell/lftools-install.sh + - opendaylight-infra-cleanup-old-images.sh publishers: - - email-notification: - email-recipients: '{email-recipients}' - email-prefix: '[releng]' - - opendaylight-infra-shiplogs: - maven-version: 'mvn33' - -- job-template: - name: builder-check-poms - node: centos7-java-builder-2c-4g + - email-notification: + email-recipients: '{email-recipients}' + email-prefix: '[releng]' + - lf-infra-publish - project-type: freestyle - - properties: - - opendaylight-infra-properties: - build-days-to-keep: 14 - - parameters: - - opendaylight-infra-parameters: - project: '{project}' - branch: '{branch}' - refspec: 'refs/heads/{branch}' - artifacts: '{archive-artifacts}' - - wrappers: - - opendaylight-infra-wrappers: - build-timeout: '{build-timeout}' - - triggers: - - timed: 'H H * * 1' - - builders: - - shell: - !include-raw-escape: - - include-raw-check-poms.sh - - publishers: - - email-notification: - email-recipients: '{email-recipients}' - email-prefix: '[releng]' - - opendaylight-infra-shiplogs: - maven-version: 'mvn33' - job-template: - name: 'builder-delete-stale-stacks' - project-type: freestyle - node: centos7-java-builder-2c-4g - - properties: - - opendaylight-infra-properties: - build-days-to-keep: 7 - - wrappers: - - opendaylight-infra-wrappers: - build-timeout: '{build-timeout}' - - triggers: - # Attempt to clear up stacks every 30 mins in case we have orphaned stacks - - timed: '0,30 * * * *' - - builders: - - shell: !include-raw-escape: opendaylight-infra-cleanup-stale-stacks.sh - - publishers: - - email-notification: - email-recipients: '{email-recipients}' - email-prefix: '[releng]' - - opendaylight-infra-shiplogs: - maven-version: 'mvn33' - -- job-template: - name: 'builder-update-image-list' + name: 'builder-delete-stale-nodes' project-type: freestyle node: centos7-java-builder-2c-4g properties: - - opendaylight-infra-properties: - build-days-to-keep: 7 + - opendaylight-infra-properties: + build-days-to-keep: 7 parameters: - - opendaylight-infra-parameters: - project: '{project}' - branch: '{branch}' - refspec: 'refs/heads/{branch}' - artifacts: '{archive-artifacts}' - - scm: - - git-scm: - branch: '{branch}' + - opendaylight-infra-parameters: + os-cloud: '{os-cloud}' + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' wrappers: - - opendaylight-infra-wrappers: - build-timeout: '{build-timeout}' - # Listed after to override openstack-infra-wrappers clouds.yaml definition - - config-file-provider: - files: - - file-id: opendaylight-private-clouds-yaml - target: '$HOME/.config/openstack/clouds.yaml' + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' triggers: - # Update image list every Monday to Friday at 11:00 UTC - - timed: '0 11 * * 1-5' + # Attempt to clear up stacks every 30 mins in case we have orphaned stacks + - timed: '0,30 * * * *' builders: - - shell: !include-raw-escape: opendaylight-infra-update-image-list.sh - - opendaylight-infra-push-gerrit-patch: - project: '{project}' - gerrit-topic: 'releng-update-cloud-image-list' - gerrit-commit-message: 'Update cloud image list docs' + - shell: !include-raw-escape: + - global-jjb/shell/lftools-install.sh + - opendaylight-infra-cleanup-stale-nodes.sh publishers: - - email-notification: - email-recipients: '{email-recipients}' - email-prefix: '[releng]' - - opendaylight-infra-shiplogs: - maven-version: 'mvn33' + - email-notification: + email-recipients: '{email-recipients}' + email-prefix: '[releng]' + - lf-infra-publish + - job-template: - name: 'builder-verify-packer' + name: 'builder-delete-stale-stacks' project-type: freestyle node: centos7-java-builder-2c-4g - concurrent: true properties: - - opendaylight-infra-properties: - build-days-to-keep: 14 + - opendaylight-infra-properties: + build-days-to-keep: 7 parameters: - - opendaylight-infra-parameters: - project: '{project}' - branch: '{branch}' - refspec: 'refs/heads/{branch}' - artifacts: '{archive-artifacts}' - - scm: - - gerrit-trigger-scm: - refspec: '$GERRIT_REFSPEC' - choosing-strategy: 'gerrit' + - opendaylight-infra-parameters: + os-cloud: '{os-cloud}' + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' wrappers: - - opendaylight-infra-wrappers: - build-timeout: '{build-timeout}' + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' triggers: - - gerrit-trigger-patch-submitted: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - files: 'packer/**' + # Attempt to clear up stacks every 30 mins in case we have orphaned stacks + - timed: '0,30 * * * *' builders: - - packer-validate: + - shell: !include-raw-escape: opendaylight-infra-cleanup-stale-stacks.sh publishers: - - email-notification: - email-recipients: '{email-recipients}' - email-prefix: '[{project}]' - - opendaylight-infra-shiplogs: - maven-version: 'mvn33' + - email-notification: + email-recipients: '{email-recipients}' + email-prefix: '[releng]' + - lf-infra-publish + - job-template: - name: 'builder-merge-packer-{platforms}-{templates}' + name: 'builder-update-image-list' project-type: freestyle node: centos7-java-builder-2c-4g - concurrent: true properties: - - opendaylight-infra-properties: - build-days-to-keep: 14 + - opendaylight-infra-properties: + build-days-to-keep: 7 parameters: - - opendaylight-infra-parameters: - project: '{project}' - branch: '{branch}' - refspec: 'refs/heads/{branch}' - artifacts: '{archive-artifacts}' + - opendaylight-infra-parameters: + os-cloud: odlpriv + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' scm: - - gerrit-trigger-scm: - refspec: '$GERRIT_REFSPEC' - branches: - - '$GERRIT_BRANCH' - choosing-strategy: 'default' + - git-scm: + branch: '{branch}' wrappers: - - opendaylight-infra-wrappers: - build-timeout: '{build-timeout}' + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' + # Listed after to override openstack-infra-wrappers clouds.yaml definition + - config-file-provider: + files: + - file-id: opendaylight-private-clouds-yaml + target: '$HOME/.config/openstack/clouds.yaml' 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' + # Update image list every Monday to Friday at 11:00 UTC + - timed: '0 11 * * 1-5' builders: - - packer-validate: - - packer-build: - platform: '{platforms}' - template: '{templates}' + - shell: !include-raw-escape: opendaylight-infra-update-image-list.sh + - opendaylight-infra-push-gerrit-patch: + project: '{project}' + gerrit-topic: 'releng-update-cloud-image-list' + gerrit-commit-message: 'Update cloud image list docs' publishers: - - email-notification: - email-recipients: '{email-recipients}' - email-prefix: '[{project}]' - - opendaylight-infra-shiplogs: - maven-version: 'mvn33' + - email-notification: + email-recipients: '{email-recipients}' + email-prefix: '[releng]' + - lf-infra-publish - job-template: name: 'builder-update-csit-tests' @@ -519,73 +309,83 @@ project-type: freestyle properties: - - opendaylight-infra-properties: - build-days-to-keep: 14 + - opendaylight-infra-properties: + build-days-to-keep: 14 parameters: - - opendaylight-infra-parameters: - project: '{project}' - branch: '{branch}' - refspec: 'refs/heads/{branch}' - artifacts: '{archive-artifacts}' + - opendaylight-infra-parameters: + os-cloud: '{os-cloud}' + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' scm: - - gerrit-trigger-scm: - refspec: '' - choosing-strategy: 'default' + - gerrit-trigger-scm: + refspec: '' + choosing-strategy: 'default' wrappers: - - opendaylight-infra-wrappers: - build-timeout: '{build-timeout}' + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' triggers: - - reverse: - jobs: 'builder-merge' + - reverse: + jobs: 'builder-jjb-merge' builders: - - shell: | - git checkout -b auto-update-csit-jobs - - integration-list-jobs: - blacklist: '{csit-list-blacklist}' - search_string: "csit" - stream: "carbon" - jobs-filename: "csit_jobs_carbon.lst" - - integration-list-jobs: - blacklist: '{csit-list-blacklist}' - search_string: "csit" - stream: "boron" - jobs-filename: "csit_jobs_boron.lst" - - integration-list-jobs: - blacklist: '{csit-list-blacklist}' - search_string: "csit" - stream: "beryllium" - jobs-filename: "csit_jobs_beryllium.lst" - - integration-replace-block-text: - starting-regex: "'csit-list-carbon: >'" - ending-regex: "'csit-list-boron: >'" - file-with-changes-to-insert: "'csit_jobs_carbon.lst'" - file-to-change: "'jjb/releng-defaults.yaml'" - - integration-replace-block-text: - starting-regex: "'csit-list-boron: >'" - ending-regex: "'csit-list-beryllium: >'" - file-with-changes-to-insert: "'csit_jobs_boron.lst'" - file-to-change: "'jjb/releng-defaults.yaml'" - - integration-replace-block-text: - starting-regex: "'csit-list-beryllium: >'" - ending-regex: "'# CSIT TESTS END SED MARKER'" - file-with-changes-to-insert: "'csit_jobs_beryllium.lst'" - file-to-change: "'jjb/releng-defaults.yaml'" - - shell: | - git status - git add jjb/releng-defaults.yaml - - opendaylight-infra-push-gerrit-patch: - project: "releng/builder" - gerrit-topic: "auto-update-csit-jobs" - gerrit-commit-message: "Auto Update CSIT Jobs to run" + - shell: | + git checkout -b auto-update-csit-jobs + - integration-list-jobs: + blacklist: '{csit-list-blacklist}' + search_string: "csit" + stream: "oxygen" + jobs-filename: "csit_jobs_oxygen.lst" + - integration-list-jobs: + blacklist: '{csit-list-blacklist}' + search_string: "csit" + stream: "nitrogen" + jobs-filename: "csit_jobs_nitrogen.lst" + - integration-list-jobs: + blacklist: '{csit-list-blacklist}' + search_string: "csit" + stream: "carbon" + jobs-filename: "csit_jobs_carbon.lst" + - integration-list-jobs: + blacklist: '{csit-list-blacklist}' + search_string: "csit" + stream: "boron" + jobs-filename: "csit_jobs_boron.lst" + - integration-replace-block-text: + starting-regex: "'csit-list-oxygen: >'" + ending-regex: "'csit-list-nitrogen: >'" + file-with-changes-to-insert: "'csit_jobs_oxygen.lst'" + file-to-change: "'jjb/releng-defaults.yaml'" + - integration-replace-block-text: + starting-regex: "'csit-list-nitrogen: >'" + ending-regex: "'csit-list-carbon: >'" + file-with-changes-to-insert: "'csit_jobs_nitrogen.lst'" + file-to-change: "'jjb/releng-defaults.yaml'" + - integration-replace-block-text: + starting-regex: "'csit-list-carbon: >'" + ending-regex: "'csit-list-boron: >'" + file-with-changes-to-insert: "'csit_jobs_carbon.lst'" + file-to-change: "'jjb/releng-defaults.yaml'" + - integration-replace-block-text: + starting-regex: "'csit-list-boron: >'" + ending-regex: "'# CSIT TESTS END SED MARKER'" + file-with-changes-to-insert: "'csit_jobs_boron.lst'" + file-to-change: "'jjb/releng-defaults.yaml'" + - shell: | + git status + git add jjb/releng-defaults.yaml + - opendaylight-infra-push-gerrit-patch: + project: "releng/builder" + gerrit-topic: "auto-update-csit-jobs" + gerrit-commit-message: "Auto Update CSIT Jobs to run" publishers: - - email-notification: - email-recipients: '{email-recipients}' - email-prefix: '[releng]' - - opendaylight-infra-shiplogs: - maven-version: 'mvn33' + - email-notification: + email-recipients: '{email-recipients}' + email-prefix: '[releng]' + - lf-infra-publish