| --- |
| # ONOS System Test Pipeline jobs |
| |
| # TODO: Change all the job names in Jenkins Pipeline script. |
| |
| - test-free-job-boiler-plate: &test-free-job-boiler-plate |
| name: test-free-job-boiler-plate |
| |
| project-type: freestyle |
| |
| - init-station-plate: &init-station-plate |
| name: init-station-plate |
| station-type: |
| - 'VM' |
| - 'BM' |
| |
| - job-free-version-plate: &job-free-version-plate |
| name: job-free-version-plate |
| version: |
| - '1.11' |
| - '1.12' |
| - 'master' |
| - 'manually' |
| |
| - test-free-init-procedure-plate: &test-free-init-procedure-plate |
| name: test-free-init-procedure-plate |
| project: OnosSystemTest |
| stream: 'master' |
| |
| - inject-env-variable-plate: &inject-env-variable-plate |
| name: inject-env-variable-plate |
| wrappers: |
| - inject: |
| properties-file: '/var/jenkins/TestONOS.property' |
| script-content: | |
| echo "ONOSBranch=$ONOSBranch" > /var/jenkins/TestONOS.property |
| echo "TestONBranch=$TestONBranch" >> /var/jenkins/TestONOS.property |
| echo "ONOSTag=$ONOSTag" >> /var/jenkins/TestONOS.property |
| echo "WikiPrefix=$WikiPrefix" >> /var/jenkins/TestONOS.property |
| override-build-parameters: true |
| |
| - builder: |
| name: clean-up-bash |
| beforeClean: | |
| echo -e "\n Before clean up disk usage: \n" |
| df -h |
| cleaning: | |
| cleaning{ |
| if [ $? -eq 0 ] |
| then |
| echo "Checking if there are logs older than ${{DAYS_OLD}} days...." |
| for i in $(find . -mtime +${{DAYS_OLD}} -type d) |
| do |
| echo -e "DIRs older than $DAYS_OLD are: " |
| echo $i |
| rm -rf $i |
| done |
| fi |
| afterClean: | |
| echo -e "\n After clean up disk usage:\n" |
| df -h |
| builders: |
| - shell: | |
| #!/bin/bash |
| |
| source ./clean-up.sh |
| |
| {beforeClean} |
| |
| cd /home/{user}/OnosSystemTest/TestON/logs |
| |
| {cleaning} |
| |
| {additional} |
| |
| {afterClean} |
| |
| # post_Job |
| - job-template: |
| name: postjob-{station-type} |
| |
| <<: *test-free-job-boiler-plate |
| |
| properties: |
| |
| - build-discarder: |
| num-to-keep: 1 |
| |
| parameters: |
| |
| - lf-infra-parameters: |
| project: '{project}' |
| branch: '{stream}' |
| stream: '{stream}' |
| lftools-version: '{lftools-version}' |
| |
| node: 'TestStation-{station-type}s' |
| |
| publishers: |
| |
| # - image-gallery: |
| # - gallery-type: archived-images-gallery |
| # title: 'Test result' |
| # includes: '*.jpg' |
| |
| - archive: |
| artifacts: '*.jpg' |
| |
| # cleanup_stations - TDOO: check if getting the directory works. |
| - job-template: |
| name: test-station-log-cleanup-VM |
| |
| <<: *test-free-job-boiler-plate |
| <<: *inject-env-variable-plate |
| properties: |
| |
| - build-discarder: |
| num-to-keep: 30 |
| |
| parameters: |
| |
| - string: |
| name: 'DAYS_OLD' |
| default: '15' |
| |
| - lf-infra-parameters: |
| project: '{project}' |
| branch: '{stream}' |
| stream: '{stream}' |
| lftools-version: '{lftools-version}' |
| |
| node: 'TestStation-VMs' |
| |
| # triggers: |
| # - timed: '01 08 1,15 * *' |
| |
| builders: |
| |
| - clean-up-bash: |
| user: 'sdn' |
| additional: '' |
| |
| - job-template: |
| name: test-station-log-cleanup-BM |
| |
| <<: *test-free-job-boiler-plate |
| <<: *inject-env-variable-plate |
| properties: |
| |
| - build-discarder: |
| num-to-keep: 30 |
| |
| parameters: |
| |
| - string: |
| name: 'DAYS_OLD' |
| default: '30' |
| |
| - lf-infra-parameters: |
| project: '{project}' |
| branch: '{stream}' |
| stream: '{stream}' |
| lftools-version: '{lftools-version}' |
| |
| node: 'TestStation-BMs' |
| |
| # triggers: |
| # - timed: '01 08 1 * *' |
| |
| builders: |
| |
| - clean-up-bash: |
| user: 'sdn' |
| additional: '' |
| |
| - job-template: |
| name: test-station-log-cleanup-CHO |
| |
| <<: *test-free-job-boiler-plate |
| <<: *inject-env-variable-plate |
| properties: |
| |
| - build-discarder: |
| num-to-keep: 15 |
| |
| parameters: |
| |
| - string: |
| name: 'DAYS_OLD' |
| default: '15' |
| |
| - lf-infra-parameters: |
| project: '{project}' |
| branch: '{stream}' |
| stream: '{stream}' |
| lftools-version: '{lftools-version}' |
| |
| node: 'TestStation-CHOs' |
| |
| # triggers: |
| # - timed: '@daily' |
| |
| builders: |
| |
| - clean-up-bash: |
| user: 'admin' |
| additional: | |
| cd /var/lib/jenkins/workspace/OnosProdCHOpost |
| |
| echo "Checking if there are jenkins-logs older than ${{DAYS_OLD}} days...." |
| for i in $(find . -mtime +${{DAYS_OLD}}) |
| do |
| echo -e "logs older than $DAYS_OLD are: " |
| echo $i |
| rm -rf $i |
| done |
| |
| # haven't done this yet. |
| - job-template: |
| name: QA-check-style |
| |
| <<: *test-free-job-boiler-plate |
| properties: |
| |
| - build-discarder: |
| num-to-keep: 100 |
| |
| parameters: |
| |
| - string: |
| name: 'GERRIT_CHANGE_NUMBER' |
| default: '' |
| description: '5-digit number that corresponds to the patch set change on Gerrit.' |
| |
| - lf-infra-parameters: |
| project: '{project}' |
| branch: '{stream}' |
| stream: '{stream}' |
| lftools-version: '{lftools-version}' |
| |
| concurrent: true |
| |
| node: 'TestStation-Jeremys' |
| |
| triggers: |
| - gerrit: |
| server-name: 'ONOS Project Gerrit' |
| trigger-on: |
| - patchset-created-event: |
| exclude-drafts: false |
| exclude-trivial-rebase: false |
| exclude-no-code-change: false |
| - draft-published-event |
| - comment-added-contains-event: |
| comment-contains-value: '(?i)^.*recheck$' |
| projects: |
| - project-compare-type: PLAIN |
| project-pattern: '{project}' |
| branches: |
| - branch-compare-type: ANT |
| branch-pattern: |
| -'**/master' |
| -'**/onos-1.[11-20]' |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: 1800 |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| builders: |
| |
| - shell: !include-raw-escape: check-style.sh |
| |
| # publishers: |
| # - warnings: |
| # workspace-file-scanners: |
| # - file-pattern: pep8Result.txt |
| # scanner: Pep8 |
| |
| - job-template: |
| name: delta-nightly |
| |
| <<: *test-free-job-boiler-plate |
| properties: |
| |
| - build-discarder: |
| num-to-keep: 30 |
| |
| parameters: |
| |
| - string: |
| name: 'NIGHTLY_FILE_NAME' |
| default: '' |
| description: | |
| Name of ONOS nightly build file |
| will be set to the latest file if not specified here |
| |
| - string: |
| name: 'ONOS_VERSION' |
| default: '1.11.0' |
| description: 'Version number in ONOS nightly build file' |
| |
| - string: |
| name: 'DELTA_PATH' |
| default: '/home/sdn' |
| description: 'Path of DELTA project' |
| |
| - string: |
| name: 'WIKI_PREFIX' |
| default: 'master' |
| |
| - bool: |
| name: 'CLEANUP' |
| default: true |
| |
| - lf-infra-parameters: |
| project: '{project}' |
| branch: '{stream}' |
| stream: '{stream}' |
| lftools-version: '{lftools-version}' |
| |
| node: 'TestStation-BMs' |
| |
| wrappers: |
| - inject: |
| properties-file: '/var/jenkins/TestONOS.property' |
| |
| builders: |
| |
| - shell: !include-raw-escape: delta-script.sh |
| |
| # Todo : add graph and confluence ( use pipeline for post build ..? ) |
| |
| - job-template: |
| name: init-CHO |
| |
| <<: *test-free-job-boiler-plate |
| properties: |
| |
| - build-discarder: |
| num-to-keep: 30 |
| |
| parameters: |
| |
| - string: |
| name: 'ONOSBranch' |
| default: 'master' |
| description: | |
| set onos branch to test. default to "master", |
| but can also be set at "onos-1.2", etc. |
| This parameter is also use to trigger where the test results to be posted |
| |
| - string: |
| name: 'ONOSJVMHeap' |
| default: "\"${{JAVA_OPTS:--Xms8G -Xmx8G}}\"" |
| description: 'onos cell jvm heap size setting' |
| |
| - string: |
| name: 'TestONBranch' |
| default: 'master' |
| description: 'sets TestON branch' |
| |
| - string: |
| name: 'ONOSTag' |
| default: '' |
| |
| - lf-infra-parameters: |
| project: '{project}' |
| branch: '{stream}' |
| stream: '{stream}' |
| lftools-version: '{lftools-version}' |
| |
| node: 'TestStation-CHOs' |
| |
| wrappers: |
| - inject: |
| properties-file: '/var/lib/jenkins/TestONOS.property' |
| script-content: | |
| echo "ONOSBranch=$ONOSBranch" > /var/lib/jenkins/TestONOS.property |
| echo "TestONBranch=$TestONBranch" >> /var/lib/jenkins/TestONOS.property |
| echo "ONOSTag=$ONOSTag" >> /var/lib/jenkins/TestONOS.property |
| |
| override-build-parameters: true |
| |
| builders: |
| |
| - shell: !include-raw-escape: cho-init.sh |
| |
| - job-template: |
| name: running-CHO |
| |
| <<: *test-free-job-boiler-plate |
| properties: |
| |
| - build-discarder: |
| num-to-keep: 30 |
| |
| parameters: |
| |
| - lf-infra-parameters: |
| project: '{project}' |
| branch: '{stream}' |
| stream: '{stream}' |
| lftools-version: '{lftools-version}' |
| |
| node: 'TestStation-CHOs' |
| triggers: |
| - reverse: |
| jobs: 'init-CHO' |
| result: 'failure' |
| |
| builders: |
| |
| - shell: !include-raw-escape: running-cho.sh |
| |
| - job-template: |
| name: post-CHO-master |
| |
| <<: *test-free-job-boiler-plate |
| properties: |
| - lf-infra-properties: |
| project: '{project}' |
| build-days-to-keep: 7 |
| |
| parameters: |
| |
| - lf-infra-parameters: |
| project: '{project}' |
| branch: '{stream}' |
| stream: '{stream}' |
| lftools-version: '{lftools-version}' |
| |
| node: 'TestStation-CHOs' |
| # triggers: |
| # - timed: 'H/60 * * * *' |
| wrappers: |
| - inject: |
| properties-file: '/var/lib/jenkins/TestONOS.property' |
| builders: |
| |
| - shell: !include-raw-escape: cho-post.sh |
| # plot data needed. |
| |
| - job-template: |
| name: 'SR-log-{version}' |
| |
| <<: *test-free-job-boiler-plate |
| properties: |
| |
| - build-discarder: |
| num-to-keep: 30 |
| |
| parameters: |
| |
| - lf-infra-parameters: |
| project: '{project}' |
| branch: '{stream}' |
| stream: '{stream}' |
| lftools-version: '{lftools-version}' |
| |
| node: 'TestStation-VMs' |
| publishers: |
| |
| - archive: |
| artifacts: '*.jpg' |
| #TODO LIST : DELTA -> perhaps change into pipeline?? , CHO_jobs, Check_style, Personal stations : necessary? |
| |
| - project: |
| name: post-result-jobs |
| project-name: post-result-jobs |
| |
| <<: *test-free-init-procedure-plate |
| <<: *init-station-plate |
| jobs: |
| - 'postjob-{station-type}' |
| |
| - project: |
| name: cleanup-jobs |
| project-name: cleanup-jobs |
| |
| <<: *test-free-init-procedure-plate |
| <<: *init-station-plate |
| jobs: |
| - 'test-station-log-cleanup-VM' |
| - 'test-station-log-cleanup-BM' |
| - 'test-station-log-cleanup-CHO' |
| |
| - project: |
| name: check-style |
| project-name: check-style |
| |
| <<: *test-free-init-procedure-plate |
| jobs: |
| - 'QA-check-style' |
| |
| - project: |
| name: delta-test |
| project-name: delta-test |
| |
| <<: *test-free-init-procedure-plate |
| jobs: |
| - 'delta-nightly' |
| |
| - project: |
| name: cho-tests |
| project-name: cho-tests |
| |
| <<: *test-free-init-procedure-plate |
| jobs: |
| - 'init-CHO' |
| - 'running-CHO' |
| - 'post-CHO-master' |
| |
| |
| - project: |
| name: log-pipeline |
| |
| <<: *job-free-version-plate |
| |
| project-name: 'log-pipeline' |
| |
| <<: *test-free-init-procedure-plate |
| |
| jobs: |
| - 'SR-log-{version}' |