X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Freleng-jobs.yaml;h=ee76dcc62573a8f3cb9c8cfdffcd22f6c059e675;hb=57c23a32af24223b2101b70e50adf402de0fd8c2;hp=ebdf04783403cbe8d49b22ab0b3eca799ca686e1;hpb=20d2b10dbc52abf7d54402de7ee2230f877f5214;p=releng%2Fbuilder.git diff --git a/jjb/releng-jobs.yaml b/jjb/releng-jobs.yaml index ebdf04783..d3597a20c 100644 --- a/jjb/releng-jobs.yaml +++ b/jjb/releng-jobs.yaml @@ -1,507 +1,379 @@ +--- - 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}' - - 'builder-delete-stale-stacks' - - 'builder-update-csit-tests' + - '{project-name}-ci-jobs' + - builder-check-poms + - gerrit-tox-verify + # OpenStack Related + - 'builder-verify-image-protection' + - 'builder-cleanup-old-images' + - 'builder-delete-orphaned-nodes' + - 'builder-delete-stale-nodes' + - 'builder-delete-stale-stacks' + # Automation for docs and jobs + - '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-builder-2c-8g + archive-artifacts: '**/*.log' + build-timeout: 30 + +- 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' + build-node: centos7-builder-2c-8g 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: 75 + - devstack-pre-pip-pike: + build-timeout: 75 + - gbp + - mininet + - mininet-ovs-2.5: + build-timeout: 60 + - mininet-ovs-2.6: + build-timeout: 75 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 - - 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: centos + templates: mininet-ovs-2.6 + - platforms: ubuntu-14.04 + templates: devstack-pre-pip-newton + - platforms: ubuntu-14.04 + templates: devstack-pre-pip-ocata + - platforms: ubuntu-14.04 + templates: devstack-pre-pip-pike + - platforms: ubuntu-14.04 + templates: devstack + - platforms: ubuntu-14.04 + templates: mininet-ovs-2.5 + - platforms: ubuntu-14.04 + templates: mininet-ovs-2.6 + - platforms: ubuntu-16.04 + templates: devstack-pre-pip-newton + - platforms: ubuntu-16.04 + templates: devstack-pre-pip-ocata + - platforms: ubuntu-16.04 + templates: devstack-pre-pip-pike + - platforms: ubuntu-16.04 + templates: devstack + - platforms: ubuntu-16.04 + templates: mininet + - platforms: ubuntu-16.04 + templates: baseline + - platforms: centos + templates: baseline - job-template: - name: builder-verify-jjb - node: jjbuilder + name: builder-check-poms + node: centos7-builder-2c-8g 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: - - shell: | - pip freeze - 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: 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 - - parameters: - - opendaylight-infra-parameters: - project: '{project}' - branch: '{branch}' - refspec: 'refs/heads/{branch}' - artifacts: '{archive-artifacts}' + - email-notification: + email-recipients: '{email-recipients}' + email-prefix: '[releng]' + - lf-infra-publish - 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: jjbuilder - - # builder-merge job to run JJB update - # - # This job's purpose is to update all the JJB - + name: 'builder-verify-image-protection' project-type: freestyle + node: centos7-builder-2c-8g 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: - - gerrit-trigger-scm: - refspec: '' - 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: clouds-yaml + target: '$HOME/.config/openstack/clouds.yaml' 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/** + - timed: '@daily' builders: - - shell: | - pip freeze - jenkins-jobs --version - jenkins-jobs update --recursive --delete-old --workers 4 jjb/ + - shell: !include-raw-escape: + - opendaylight-infra-check-image-protection.sh publishers: - - email-notification: - email-recipients: '{email-recipients}' - email-prefix: '[releng]' - - opendaylight-infra-shiplogs: - maven-version: 'mvn33' - -- job-template: - name: 'builder-weekly' - disabled: false - node: jjbuilder + - email-notification: + email-recipients: '{email-recipients}' + email-prefix: '[releng]' + - lf-infra-publish - # 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 +- job-template: + name: 'builder-cleanup-old-images' project-type: freestyle + node: centos7-builder-2c-8g 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: clouds-yaml + target: '$HOME/.config/openstack/clouds.yaml' triggers: - - timed: 'H H * * 0' + # Cleanup images on a weekly schedule + - timed: '@weekly' builders: - - shell: | - 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' + - email-notification: + email-recipients: '{email-recipients}' + email-prefix: '[releng]' + - lf-infra-publish -- job-template: - name: builder-check-poms - node: centos7-java-builder-2c-4g +- job-template: + name: builder-delete-orphaned-nodes project-type: freestyle + node: centos7-builder-2c-8g 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}' + - string: + name: JENKINS_URLS + default: 'https://jenkins.opendaylight.org/releng https://jenkins.opendaylight.org/sandbox' + description: 'Space separated list of Jenkins URLs to check for active builds' wrappers: - - opendaylight-infra-wrappers: - build-timeout: '{build-timeout}' + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' triggers: - - timed: 'H H * * 1' + # Attempt to clear up servers every 30 mins in case we have orphaned servers + - timed: '0,30 * * * *' builders: - - shell: - !include-raw-escape: - - include-raw-check-poms.sh + - shell: !include-raw-escape: opendaylight-infra-cleanup-orphaned-nodes.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 + - email-notification: + email-recipients: '{email-recipients}' + email-prefix: '[releng]' + - lf-infra-publish - wrappers: - - opendaylight-infra-wrappers: - build-timeout: '{build-timeout}' - - triggers: - - timed: 'H H/6 * * *' - - 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-verify-packer' + name: 'builder-delete-stale-nodes' project-type: freestyle - node: centos7-java-builder-2c-4g - concurrent: true + node: centos7-builder-2c-8g 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: + - global-jjb/shell/lftools-install.sh + - opendaylight-infra-cleanup-stale-nodes.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-delete-stale-stacks' project-type: freestyle - node: centos7-java-builder-2c-4g - concurrent: true + node: centos7-builder-2c-8g 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: '' - choosing-strategy: 'default' + - opendaylight-infra-parameters: + os-cloud: '{os-cloud}' + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' + - string: + name: JENKINS_URLS + default: 'https://jenkins.opendaylight.org/releng https://jenkins.opendaylight.org/sandbox' + description: 'Space separated list of Jenkins URLs to check for active builds' wrappers: - - opendaylight-infra-wrappers: - build-timeout: '{build-timeout}' + - 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/**' + # Attempt to clear up stacks every 30 mins in case we have orphaned stacks + - timed: '0,30 * * * *' builders: - - packer-validate: - - packer-build: - platform: '{platforms}' - template: '{templates}' + - 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-update-csit-tests' - node: centos7-java-builder-2c-8g - - # builder-update-csit-tests job - # - # This job's purpose is to update csit - # tests to run in integration-distribution-test-{stream} - # by updating releng-defaults variables: csit-list-carbon, - # csit-list-boron, csit-list-beryllium +- job-template: + name: 'builder-update-image-list' project-type: freestyle + node: centos7-builder-2c-8g 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: vex + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' scm: - - gerrit-trigger-scm: - refspec: '' - 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: clouds-yaml + target: '$HOME/.config/openstack/clouds.yaml' triggers: - - reverse: - jobs: 'build-merge' + # Update image list every Monday to Friday at 11:00 UTC + - timed: '0 11 * * 1-5' 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: !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: '[releng]' - - opendaylight-infra-shiplogs: - maven-version: 'mvn33' + - email-notification: + email-recipients: '{email-recipients}' + email-prefix: '[releng]' + - lf-infra-publish