| --- |
| # omec-ci jobs |
| # Uses github pull request builder to trigger and Jenkinsfiles from this repo |
| # https://github.com/omec-project/omec-project-ci |
| |
| # generic OMEC test-case jobs, shared by other projects and triggered within pipelines |
| - project: |
| name: omec |
| build-node: 'intel-102' |
| github-organization: 'omec-project' |
| registry: 'registry.aetherproject.org/omecproject' |
| registry-proxy: 'registry.aetherproject.org/proxy/omecproject' |
| |
| github_pr_auth_id: '64fe2b1a-b33a-4f13-8442-ad8360434003' |
| github_pr_org_list: |
| - 'omec-project' |
| |
| jobs: |
| - 'omec-tc1' |
| - 'omec-tc2' |
| - 'omec-deploy': |
| pod: 'dev' |
| build-node: 'omec-ci' |
| cp-context: 'acc-dev-gcp' |
| dp-context: 'ace-dev-menlo' |
| central-config: 'acc-dev-gcp/app_values/omec-cp.yaml' |
| edge-config: 'ace-dev-menlo/app_values/omec-upf.yaml' |
| - 'omec-ng40-test': |
| pod: 'dev' |
| build-node: 'omec-ci' |
| ng40-vm: 'ng40@192.168.122.101' |
| cp-context: 'acc-dev-gcp' |
| dp-context: 'ace-dev-menlo' |
| - 'omec-archive-artifacts': |
| pod: 'dev' |
| build-node: 'omec-ci' |
| cp-context: 'acc-dev-gcp' |
| dp-context: 'ace-dev-menlo' |
| log-since: '1h' |
| - 'omec-post-results': |
| pod: 'dev' |
| build-node: 'omec-ci' |
| - 'omec-postmerge': |
| project: '{name}' |
| build-node: 'omec-ci' |
| c3po-branch-name: 'master' |
| spgw-branch-name: 'master' |
| nucleus-branch-name: 'master' |
| upf-branch-name: 'master' |
| pipeline-file: 'omec-postmerge.groovy' |
| - 'omec-nightly': |
| pod: 'dev' |
| build-node: 'omec-ci' |
| type: 'func' |
| build-timeout: 30 |
| ntl-file: 'func.ntl' |
| time: '1' |
| desc: | |
| <img src="https://jenkins.opencord.org/job/omec_func_dev/lastCompletedBuild/artifact/plots/plot.png", alt="Failed to load plot. Either a build is currently running, or the plot was not generated from the last build." width="840", height="360"/> |
| - 'omec-nightly': |
| pod: 'dev' |
| build-node: 'omec-ci' |
| type: 'scale' |
| build-timeout: 180 |
| ntl-file: 'scale-16k-rate10.ntl' |
| time: '2' |
| desc: | |
| <img src="https://jenkins.opencord.org/job/omec_scale_dev/lastCompletedBuild/artifact/plots/attach.png", alt="Failed to load plot. Either a build is currently running, or the plot was not generated from the last build." width="840", height="360"/><br /> |
| ----------<br /> |
| <img src="https://jenkins.opencord.org/job/omec_scale_dev/lastCompletedBuild/artifact/plots/detach.png", alt="Failed to load plot. Either a build is currently running, or the plot was not generated from the last build." width="840", height="360"/><br /> |
| ----------<br /> |
| <img src="https://jenkins.opencord.org/job/omec_scale_dev/lastCompletedBuild/artifact/plots/ping.png", alt="Failed to load plot. Either a build is currently running, or the plot was not generated from the last build." width="840", height="360"/><br /> |
| |
| # for ngic-rtc |
| - project: |
| name: ngic-rtc |
| project: '{name}' |
| |
| build-node: 'intel-102' |
| github-organization: 'omec-project' |
| github_pr_auth_id: '64fe2b1a-b33a-4f13-8442-ad8360434003' |
| github_pr_org_list: |
| - 'omec-project' |
| registry: 'registry.aetherproject.org/omecproject' |
| registry-proxy: 'registry.aetherproject.org/proxy/omecproject' |
| |
| jobs: |
| - 'omec-combined': |
| pipeline-file: 'Jenkinsfile-omec-combined.groovy' |
| mme-repo: 'Nucleus' |
| - 'omec-install': |
| sub-project: '{name}' |
| branch: 'central-cp-multi-upfs' |
| pipeline-file: 'Jenkinsfile-omec-install-ngic-rtc-vnf.groovy' |
| - 'omec-fossa': |
| pipeline-file: 'omec-fossa-scan.groovy' |
| build-node: 'ubuntu18.04-basebuild-1c-2g' |
| - 'omec-reuse': |
| pipeline-file: 'omec-reuse-scan.groovy' |
| build-node: 'ubuntu18.04-basebuild-1c-2g' |
| - 'docker-publish-github': |
| build-timeout: 30 |
| docker-repo: 'omecproject' |
| # build-node: 'ubuntu18.04-basebuild-4c-8g' |
| build-node: 'ubuntu18.04-basebuild-8c-15g' |
| - 'omec-container' |
| |
| # for c3po |
| - project: |
| name: c3po |
| project: '{name}' |
| |
| build-node: 'intel-102' |
| github-organization: 'omec-project' |
| github_pr_auth_id: '64fe2b1a-b33a-4f13-8442-ad8360434003' |
| github_pr_org_list: |
| - 'omec-project' |
| registry: 'registry.aetherproject.org/omecproject' |
| registry-proxy: 'registry.aetherproject.org/proxy/omecproject' |
| |
| jobs: |
| - 'omec-combined': |
| pipeline-file: 'Jenkinsfile-omec-combined.groovy' |
| mme-repo: 'Nucleus' |
| - 'omec-install': |
| sub-project: 'c3po-sgx' |
| branch: 'master' |
| pipeline-file: 'Jenkinsfile-omec-install-c3po-sgx-vnf.groovy' |
| - 'omec-install': |
| sub-project: 'c3po-hss' |
| branch: 'master' |
| pipeline-file: 'Jenkinsfile-omec-install-c3po-hss-vnf.groovy' |
| - 'omec-fossa': |
| pipeline-file: 'omec-fossa-scan.groovy' |
| build-node: 'ubuntu18.04-basebuild-1c-2g' |
| - 'omec-reuse': |
| pipeline-file: 'omec-reuse-scan.groovy' |
| build-node: 'ubuntu18.04-basebuild-1c-2g' |
| - 'docker-publish-github': |
| build-timeout: 30 |
| docker-repo: 'omecproject' |
| build-node: 'ubuntu18.04-basebuild-8c-15g' |
| - 'omec-container' |
| - 'omec-container-remote': |
| pod: 'ci-4g' |
| remote-jenkins-name: 'Aether Jenkins' |
| pipeline-file: 'omec-container-remote.groovy' |
| |
| # for openmme |
| - project: |
| name: openmme |
| project: '{name}' |
| |
| build-node: 'intel-102' |
| github-organization: 'omec-project' |
| github_pr_auth_id: '64fe2b1a-b33a-4f13-8442-ad8360434003' |
| github_pr_org_list: |
| - 'omec-project' |
| registry: 'registry.aetherproject.org/omecproject' |
| registry-proxy: 'registry.aetherproject.org/proxy/omecproject' |
| |
| jobs: |
| - 'omec-combined': |
| pipeline-file: 'Jenkinsfile-omec-combined.groovy' |
| mme-repo: 'openmme' |
| - 'omec-install': |
| sub-project: '{name}' |
| branch: 'master' |
| pipeline-file: 'Jenkinsfile-omec-install-openmme-vnf.groovy' |
| - 'omec-fossa': |
| pipeline-file: 'omec-fossa-scan.groovy' |
| build-node: 'ubuntu18.04-basebuild-1c-2g' |
| - 'omec-reuse': |
| pipeline-file: 'omec-reuse-scan.groovy' |
| build-node: 'ubuntu18.04-basebuild-1c-2g' |
| - 'docker-publish-github': |
| build-timeout: 30 |
| docker-repo: 'omecproject' |
| build-node: 'ubuntu18.04-basebuild-1c-2g' |
| |
| # for nucleus |
| - project: |
| name: Nucleus |
| project: '{name}' |
| |
| build-node: 'intel-102' |
| github-organization: 'omec-project' |
| github_pr_auth_id: '64fe2b1a-b33a-4f13-8442-ad8360434003' |
| github_pr_org_list: |
| - 'omec-project' |
| registry: 'registry.aetherproject.org/omecproject' |
| registry-proxy: 'registry.aetherproject.org/proxy/omecproject' |
| |
| jobs: |
| - 'omec-combined': |
| pipeline-file: 'Jenkinsfile-omec-combined.groovy' |
| mme-repo: 'Nucleus' |
| - 'omec-install': |
| sub-project: '{name}' |
| branch: 'master' |
| pipeline-file: 'Jenkinsfile-omec-install-Nucleus-vnf.groovy' |
| - 'omec-fossa': |
| pipeline-file: 'omec-fossa-scan.groovy' |
| build-node: 'ubuntu18.04-basebuild-1c-2g' |
| - 'omec-reuse': |
| pipeline-file: 'omec-reuse-scan.groovy' |
| build-node: 'ubuntu18.04-basebuild-1c-2g' |
| - 'omec-cppcheck': |
| pipeline-file: 'omec-cppcheck.groovy' |
| build-node: 'ubuntu18.04-basebuild-1c-2g' |
| - 'docker-publish-github': |
| build-timeout: 60 |
| docker-repo: 'omecproject' |
| build-node: 'ubuntu18.04-basebuild-1c-2g' |
| - 'omec-container' |
| - 'omec-container-remote': |
| pod: 'ci-4g' |
| remote-jenkins-name: 'Aether Jenkins' |
| pipeline-file: 'omec-container-remote.groovy' |
| |
| # for freediameter |
| - project: |
| name: freediameter |
| project: '{name}' |
| |
| build-node: 'intel-102' |
| github-organization: 'omec-project' |
| github_pr_auth_id: '64fe2b1a-b33a-4f13-8442-ad8360434003' |
| github_pr_org_list: |
| - 'omec-project' |
| registry: 'registry.aetherproject.org/omecproject' |
| registry-proxy: 'registry.aetherproject.org/proxy/omecproject' |
| |
| jobs: |
| - 'omec-fossa': |
| pipeline-file: 'omec-fossa-scan.groovy' |
| build-node: 'ubuntu18.04-basebuild-1c-2g' |
| - 'omec-reuse': |
| pipeline-file: 'omec-reuse-scan.groovy' |
| build-node: 'ubuntu18.04-basebuild-1c-2g' |
| |
| # for ignite |
| - project: |
| name: ignite |
| project: '{name}' |
| |
| build-node: 'intel-102' |
| github-organization: 'omec-project' |
| github_pr_auth_id: '64fe2b1a-b33a-4f13-8442-ad8360434003' |
| github_pr_org_list: |
| - 'omec-project' |
| registry: 'registry.aetherproject.org/omecproject' |
| registry-proxy: 'registry.aetherproject.org/proxy/omecproject' |
| |
| jobs: |
| - 'omec-fossa': |
| pipeline-file: 'omec-fossa-scan.groovy' |
| build-node: 'ubuntu18.04-basebuild-1c-2g' |
| - 'omec-reuse': |
| pipeline-file: 'omec-reuse-scan.groovy' |
| build-node: 'ubuntu18.04-basebuild-1c-2g' |
| |
| # Combined pipeline |
| - job-template: |
| id: 'omec-combined' |
| name: 'omec_{project}_combined' |
| project-type: pipeline |
| |
| description: | |
| <!-- Managed by Jenkins Job Builder --> |
| Created by {id} job-template from ci-management/jjb/omec-ci.yaml<br /> |
| |
| disabled: true |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| - github: |
| url: 'https://github.com/{github-organization}/{project}' |
| - build-blocker: |
| use-build-blocker: true |
| blocking-jobs: |
| - "omec_.*_combined" |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins executor node to run the job on' |
| |
| - string: |
| name: project |
| default: '{project}' |
| description: 'Name of the project' |
| |
| - string: |
| name: mmeRepo |
| default: '{mme-repo}' |
| description: 'Name of the MME repo to test (openmme/Nucleus)' |
| |
| triggers: |
| - cord-infra-github-pr-trigger: |
| github_pr_org_list: '{obj:github_pr_org_list}' |
| github_pr_auth_id: '{github_pr_auth_id}' |
| status_context: 'CORD Jenkins - Combined Steps Verification' |
| |
| concurrent: false |
| |
| pipeline-scm: |
| script-path: '{pipeline-file}' |
| scm: |
| - git: |
| url: 'https://github.com/{github-organization}/omec-project-ci' |
| branches: |
| - 'master' |
| |
| # install jobs, run for each project |
| - job-template: |
| id: 'omec-install' |
| name: 'omec_{sub-project}_install' |
| project-type: pipeline |
| |
| description: | |
| <!-- Managed by Jenkins Job Builder --> |
| Created by {id} job-template from ci-management/jjb/omec-ci.yaml<br /> |
| |
| disabled: true |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| - github: |
| url: 'https://github.com/{github-organization}/{project}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins executor node to run the job on' |
| |
| - string: |
| name: project |
| default: '{project}' |
| description: 'Name of the project' |
| |
| - string: |
| name: branch |
| default: '{branch}' |
| description: 'Branch of the project' |
| |
| concurrent: false |
| |
| pipeline-scm: |
| script-path: '{pipeline-file}' |
| scm: |
| - git: |
| url: 'https://github.com/{github-organization}/omec-project-ci' |
| branches: |
| - 'master' |
| |
| # FOSSA License Scan |
| - job-template: |
| id: 'omec-fossa' |
| name: 'omec_{project}_fossa' |
| project-type: pipeline |
| |
| description: | |
| <!-- Managed by Jenkins Job Builder --> |
| Created by {id} job-template from ci-management/jjb/omec-ci.yaml<br /> |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| - github: |
| url: 'https://github.com/{github-organization}/{project}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: ghprbPullId |
| default: '$ghprbPullId' |
| description: 'Pull request number to fetch changes from. Leave blank to run manually.' |
| |
| - string: |
| name: branch |
| default: '$ghprbTargetBranch' |
| description: 'Branch to run. Only used when manually run.' |
| |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins executor node to run the job on' |
| |
| - string: |
| name: project |
| default: '{project}' |
| description: 'Name of the project' |
| |
| - string: |
| name: ghprbGhRepository |
| default: '{github-organization}/{project}' |
| description: 'Repository of the project.' |
| |
| triggers: |
| - cord-infra-github-pr-trigger: |
| github_pr_org_list: '{obj:github_pr_org_list}' |
| github_pr_auth_id: '{github_pr_auth_id}' |
| status_context: 'CORD Jenkins - FOSSA Verification' |
| |
| concurrent: false |
| |
| project-type: pipeline |
| dsl: !include-raw-escape: pipeline/{pipeline-file} |
| |
| # REUSE License Scan |
| - job-template: |
| id: 'omec-reuse' |
| name: 'omec_{project}_reuse' |
| project-type: pipeline |
| |
| description: | |
| <!-- Managed by Jenkins Job Builder --> |
| Created by {id} job-template from ci-management/jjb/omec-ci.yaml<br /> |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| - github: |
| url: 'https://github.com/{github-organization}/{project}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: ghprbPullId |
| default: '$ghprbPullId' |
| description: 'Pull request number to fetch changes from. Leave blank to run manually.' |
| |
| - string: |
| name: branch |
| default: '$ghprbTargetBranch' |
| description: 'Branch to run. Only used when manually run.' |
| |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins executor node to run the job on' |
| |
| - string: |
| name: project |
| default: '{project}' |
| description: 'Name of the project' |
| |
| - string: |
| name: ghprbGhRepository |
| default: '{github-organization}/{project}' |
| description: 'Repository of the project.' |
| |
| triggers: |
| - cord-infra-github-pr-trigger: |
| github_pr_org_list: '{obj:github_pr_org_list}' |
| github_pr_auth_id: '{github_pr_auth_id}' |
| status_context: 'CORD Jenkins - Licenses Verification' |
| |
| concurrent: false |
| |
| project-type: pipeline |
| dsl: !include-raw-escape: pipeline/{pipeline-file} |
| |
| # cppcheck |
| - job-template: |
| id: 'omec-cppcheck' |
| name: 'omec_{project}-cppcheck' |
| project-type: pipeline |
| |
| description: | |
| <!-- Managed by Jenkins Job Builder --> |
| Created by {id} job-template from ci-management/jjb/omec-ci.yaml<br /> |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| - github: |
| url: 'https://github.com/{github-organization}/{project}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: ghprbPullId |
| default: '$ghprbPullId' |
| description: 'Pull request number to fetch changes from. Leave blank to run manually.' |
| |
| - string: |
| name: branch |
| default: '$ghprbTargetBranch' |
| description: 'Branch to run. Only used when manually run.' |
| |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins executor node to run the job on' |
| |
| - string: |
| name: project |
| default: '{project}' |
| description: 'Name of the project' |
| |
| - string: |
| name: ghprbGhRepository |
| default: '{github-organization}/{project}' |
| description: 'Repository of the project.' |
| |
| triggers: |
| - cord-infra-github-pr-trigger: |
| github_pr_org_list: '{obj:github_pr_org_list}' |
| github_pr_auth_id: '{github_pr_auth_id}' |
| status_context: 'CORD Jenkins - cppcheck Verification' |
| |
| concurrent: false |
| |
| project-type: pipeline |
| dsl: !include-raw-escape: pipeline/{pipeline-file} |
| |
| # tests |
| - job-template: |
| id: 'omec-tc1' |
| name: 'omec_tc1' |
| project-type: pipeline |
| |
| description: | |
| <!-- Managed by Jenkins Job Builder --> |
| Created by {id} job-template from ci-management/jjb/omec-ci.yaml<br /> |
| |
| disabled: true |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins executor node to run the job on' |
| |
| - string: |
| name: mmeRepo |
| default: 'openmme' |
| description: 'Name of the MME repo to test (openmme/Nucleus)' |
| |
| concurrent: false |
| |
| pipeline-scm: |
| script-path: 'Jenkinsfile-omec-test-TC1.groovy' |
| scm: |
| - git: |
| url: 'https://github.com/omec-project/omec-project-ci' |
| branches: |
| - 'master' |
| |
| - job-template: |
| id: 'omec-tc2' |
| name: 'omec_tc2' |
| project-type: pipeline |
| |
| description: | |
| <!-- Managed by Jenkins Job Builder --> |
| Created by {id} job-template from ci-management/jjb/omec-ci.yaml<br /> |
| |
| disabled: true |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins executor node to run the job on' |
| |
| - string: |
| name: mmeRepo |
| default: 'openmme' |
| description: 'Name of the MME repo to test (openmme/Nucleus)' |
| |
| concurrent: false |
| |
| pipeline-scm: |
| script-path: 'Jenkinsfile-omec-test-TC2.groovy' |
| scm: |
| - git: |
| url: 'https://github.com/omec-project/omec-project-ci' |
| branches: |
| - 'master' |
| |
| # Post-merge job |
| # Triggered by Github pull request merge |
| - job-template: |
| id: omec-postmerge |
| name: '{project}_postmerge' |
| description: | |
| Created by {id} job-template from ci-management/jjb/omec-ci.yaml |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| |
| triggers: |
| - cord-infra-github-pr-trigger-merge: |
| project: '{project}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins node to run the job on' |
| |
| - string: |
| name: registryProxy |
| default: '{registry-proxy}' |
| description: 'Harbor proxy which caches dockerhub images' |
| |
| - string: |
| name: repoName |
| default: '' |
| description: 'Name of the git repo. Populated by Generic Webhook Trigger' |
| |
| - string: |
| name: repoUrl |
| default: '' |
| description: 'URL to the git repo. Populated by Generic Webhook Trigger' |
| |
| - string: |
| name: branchName |
| default: '' |
| description: 'Branch of the project. Populated by Generic Webhook Trigger' |
| |
| - string: |
| name: commitHash |
| default: '' |
| description: 'SHA string of the merged commit. Populated by Generic Webhook Trigger' |
| |
| - string: |
| name: c3poBranchName |
| default: '{c3po-branch-name}' |
| description: 'Branch name of c3po repo which we run tests against' |
| |
| - string: |
| name: spgwBranchName |
| default: '{spgw-branch-name}' |
| description: 'Branch name of spgw repo which we run tests against' |
| |
| - string: |
| name: nucleusBranchName |
| default: '{nucleus-branch-name}' |
| description: 'Branch name of Nucleus repo which we run tests against' |
| |
| - string: |
| name: upfBranchName |
| default: '{upf-branch-name}' |
| description: 'Branch name of upf-epc repo which we run tests against' |
| |
| - string: |
| name: maintainers |
| default: 'jeremyr@opennetworking.org, you@opennetworking.org' |
| description: "The person that sould be notified if this job fails" |
| |
| project-type: pipeline |
| concurrent: false |
| |
| dsl: !include-raw-escape: pipeline/{pipeline-file} |
| |
| # OMEC CI job which builds docker images, deploys and tests OMEC |
| - job-template: |
| id: 'omec-container' |
| name: 'omec_{project}_container' |
| project-type: pipeline |
| |
| description: | |
| <!-- Managed by Jenkins Job Builder --> |
| Created by {id} job-template from ci-management/jjb/omec-ci.yaml<br /> |
| |
| disabled: true |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| - github: |
| url: 'https://github.com/{github-organization}/{project}' |
| - build-blocker: |
| use-build-blocker: true |
| blocking-jobs: |
| - ".*_container" |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: buildNode |
| default: 'omec-ci' |
| description: 'Name of the Jenkins executor node to run the job on' |
| |
| - string: |
| name: project |
| default: '{project}' |
| description: 'Name of the project' |
| |
| - string: |
| name: ghprbTargetBranch |
| default: '$ghprbTargetBranch' |
| description: 'GitHub Pull-Request builder value. Replace default value to test manually.' |
| |
| - string: |
| name: ghprbPullId |
| default: '$ghprbPullId' |
| description: 'GitHub Pull-Request builder value. Replace default value to test manually.' |
| |
| - string: |
| name: ghprbActualCommit |
| default: '$ghprbActualCommit' |
| description: 'GitHub Pull-Request builder value. Replace default value to test manually.' |
| |
| - string: |
| name: registry |
| default: '{registry}' |
| description: 'Docker registry that stores images built for CI testing' |
| |
| - string: |
| name: registryProxy |
| default: '{registry-proxy}' |
| description: 'Harbor proxy which caches dockerhub images' |
| |
| - string: |
| name: c3poBranch |
| default: 'master' |
| description: 'Branch name of c3po repo which we run tests against' |
| |
| - string: |
| name: nucleusBranch |
| default: 'master' |
| description: 'Branch name of Nucleus repo which we run tests against' |
| |
| - string: |
| name: spgwBranch |
| default: 'master' |
| description: 'Branch name of spgw repo which we run tests against' |
| |
| - string: |
| name: upfBranch |
| default: 'master' |
| description: 'Branch name of upf-epc repo which we run tests against' |
| |
| triggers: |
| - cord-infra-github-pr-trigger: |
| github_pr_org_list: '{obj:github_pr_org_list}' |
| github_pr_auth_id: '{github_pr_auth_id}' |
| status_context: 'CORD Jenkins - Container Based Verification' |
| |
| concurrent: false |
| |
| pipeline-scm: |
| script-path: 'Jenkinsfile-omec-container.groovy' |
| scm: |
| - git: |
| url: 'https://github.com/{github-organization}/omec-project-ci' |
| branches: |
| - 'master' |
| |
| # OMEC deployment job |
| - job-template: |
| id: 'omec-deploy' |
| name: 'omec_deploy_{pod}' |
| project-type: pipeline |
| |
| description: | |
| <!-- Managed by Jenkins Job Builder --> |
| Created from job-template {id} from ci-management/jjb/omec-ci.yaml <br /> |
| |
| disabled: true |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins executor node to run the job on.' |
| |
| - string: |
| name: cpContext |
| default: '{cp-context}' |
| description: 'K8S context for omec control plane.' |
| |
| - string: |
| name: dpContext |
| default: '{dp-context}' |
| description: 'K8S context for omec data plane.' |
| |
| - string: |
| name: centralConfig |
| default: '{central-config}' |
| description: 'Directory name for central yaml files under aether-pod-configs.' |
| |
| - string: |
| name: edgeConfig |
| default: '{edge-config}' |
| description: 'Directory name for edge yaml files under aether-pod-configs.' |
| |
| - string: |
| name: hssdbImage |
| default: '{registry-proxy}/c3po-hssdb:master-latest' |
| description: 'Docker image for hssdb. Leave empty to use default helm-charts value' |
| |
| - string: |
| name: hssImage |
| default: '{registry-proxy}/c3po-hss:master-latest' |
| description: 'Docker image for hss. Leave empty to use default helm-charts value' |
| |
| - string: |
| name: mmeImage |
| default: '{registry-proxy}/nucleus:master-latest' |
| description: 'Docker image for mme. Leave empty to use default helm-charts value' |
| |
| - string: |
| name: spgwcImage |
| default: '{registry-proxy}/spgw:master-latest' |
| description: 'Docker image for spgwc. Leave empty to use default helm-charts value' |
| |
| - string: |
| name: bessImage |
| default: '{registry-proxy}/upf-epc-bess:master-latest' |
| description: 'Docker image for bess. Leave empty to use default helm-charts value' |
| |
| - string: |
| name: zmqifaceImage |
| default: '{registry-proxy}/upf-epc-cpiface:master-latest' |
| description: 'Docker image for zmqiface. Leave empty to use default helm-charts value' |
| |
| - string: |
| name: pfcpifaceImage |
| default: '{registry-proxy}/upf-epc-pfcpiface:master-latest' |
| description: 'Docker image for pfcpiface. Leave empty to use default helm-charts value' |
| |
| concurrent: false |
| |
| pipeline-scm: |
| script-path: 'Jenkinsfile-omec-deploy.groovy' |
| scm: |
| - git: |
| url: 'https://github.com/{github-organization}/omec-project-ci' |
| branches: |
| - 'master' |
| |
| # OMEC test job |
| - job-template: |
| id: 'omec-ng40-test' |
| name: 'omec_ng40-test_{pod}' |
| project-type: pipeline |
| |
| description: | |
| <!-- Managed by Jenkins Job Builder --> |
| Created from job-template {id} from ci-management/jjb/omec-ci.yaml <br /> |
| |
| disabled: true |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins executor node to run the job on.' |
| |
| - string: |
| name: timeout |
| default: '30' |
| description: 'Timeout period for this pipeline in minutes.' |
| |
| - string: |
| name: ng40VM |
| default: '{ng40-vm}' |
| description: 'user@IP for accessing NG40 VM from the build node.' |
| |
| - string: |
| name: ntlFile |
| default: 'ci.ntl' |
| description: 'NG40 test automation file' |
| |
| - string: |
| name: cpContext |
| default: '{cp-context}' |
| description: 'K8S context for omec control plane.' |
| |
| - string: |
| name: dpContext |
| default: '{dp-context}' |
| description: 'K8S context for omec data plane.' |
| |
| concurrent: false |
| |
| pipeline-scm: |
| script-path: 'Jenkinsfile-omec-ng40-test.groovy' |
| scm: |
| - git: |
| url: 'https://github.com/{github-organization}/omec-project-ci' |
| branches: |
| - 'master' |
| |
| # OMEC archive artifacts job |
| - job-template: |
| id: 'omec-archive-artifacts' |
| name: 'omec_archive-artifacts_{pod}' |
| project-type: pipeline |
| |
| description: | |
| <!-- Managed by Jenkins Job Builder --> |
| Created from job-template {id} from ci-management/jjb/omec-ci.yaml <br /> |
| |
| disabled: true |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: 2 |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins executor node to run the job on.' |
| |
| - string: |
| name: cpContext |
| default: '{cp-context}' |
| description: 'K8S context for omec control plane.' |
| |
| - string: |
| name: dpContext |
| default: '{dp-context}' |
| description: 'K8S context for omec data plane.' |
| |
| - string: |
| name: logSince |
| default: '{log-since}' |
| description: 'Only upload logs newer than a relative duration e.g. 1h. Leave empty if logSinceTime is specified' |
| |
| - string: |
| name: logSinceTime |
| default: '' |
| description: 'Only upload logs newer than a date (RFC3339). Leave empty if logSince is specified' |
| |
| concurrent: false |
| |
| pipeline-scm: |
| script-path: 'Jenkinsfile-omec-archive-artifacts.groovy' |
| scm: |
| - git: |
| url: 'https://github.com/{github-organization}/omec-project-ci' |
| branches: |
| - 'master' |
| |
| # OMEC nightly job |
| - job-template: |
| id: 'omec-nightly' |
| name: 'omec_{type}_{pod}' |
| project-type: pipeline |
| |
| description: | |
| Created from job-template {id} from ci-management/jjb/omec-ci.yaml <br /> |
| {desc} |
| |
| disabled: true |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins executor node to run the job on' |
| |
| - string: |
| name: testType |
| default: '{type}' |
| description: 'Type of test' |
| |
| - string: |
| name: pod |
| default: '{pod}' |
| description: 'Name of OMEC POD' |
| |
| - string: |
| name: timeout |
| default: '{build-timeout}' |
| description: 'Timeout period for this pipeline in minutes' |
| |
| - string: |
| name: ntlFile |
| default: '{ntl-file}' |
| description: 'NG40 test automation file' |
| |
| - bool: |
| name: redeploy |
| default: true |
| description: 'Redeploy OMEC before running tests if set to true' |
| |
| - string: |
| name: hssdbImage |
| default: '{registry-proxy}/c3po-hssdb:master-latest' |
| description: 'Docker image for hssdb. Leave empty to use default helm-charts value' |
| |
| - string: |
| name: hssImage |
| default: '{registry-proxy}/c3po-hss:master-latest' |
| description: 'Docker image for hss. Leave empty to use default helm-charts value' |
| |
| - string: |
| name: mmeImage |
| default: '{registry-proxy}/nucleus:master-latest' |
| description: 'Docker image for mme. Leave empty to use default helm-charts value' |
| |
| - string: |
| name: spgwcImage |
| default: '{registry-proxy}/spgw:master-latest' |
| description: 'Docker image for spgwc. Leave empty to use default helm-charts value' |
| |
| - string: |
| name: bessImage |
| default: '{registry-proxy}/upf-epc-bess:master-latest' |
| description: 'Docker image for bess. Leave empty to use default helm-charts value' |
| |
| - string: |
| name: zmqifaceImage |
| default: '{registry-proxy}/upf-epc-cpiface:master-latest' |
| description: 'Docker image for zmqiface. Leave empty to use default helm-charts value' |
| |
| - string: |
| name: pfcpifaceImage |
| default: '{registry-proxy}/upf-epc-pfcpiface:master-latest' |
| description: 'Docker image for pfcpiface. Leave empty to use default helm-charts value' |
| |
| - string: |
| name: maintainers |
| default: 'you@opennetworking.org' |
| description: "The person that sould be notified if this job fails" |
| |
| concurrent: false |
| |
| triggers: |
| - timed: | |
| TZ=America/Los_Angeles |
| H {time} * * * |
| |
| pipeline-scm: |
| script-path: 'Jenkinsfile-omec-nightly.groovy' |
| scm: |
| - git: |
| url: 'https://github.com/{github-organization}/omec-project-ci' |
| branches: |
| - 'master' |
| |
| # OMEC post results job |
| - job-template: |
| id: 'omec-post-results' |
| name: 'omec_post-results_{pod}' |
| project-type: pipeline |
| |
| description: | |
| Created from job-template {id} from ci-management/jjb/omec-ci.yaml <br /> |
| |
| disabled: true |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: 2 |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: buildNode |
| default: '{build-node}' |
| description: 'Name of the Jenkins executor node to run the job on' |
| |
| - string: |
| name: pod |
| default: '{pod}' |
| description: 'Name of OMEC pod' |
| |
| - string: |
| name: testType |
| default: 'scale' |
| description: 'Type of test e.g. scale, func, etc.' |
| |
| - string: |
| name: buildNumber |
| default: '0' |
| description: 'Build number of upstream job' |
| |
| concurrent: false |
| |
| pipeline-scm: |
| script-path: 'Jenkinsfile-omec-post-results.groovy' |
| scm: |
| - git: |
| url: 'https://github.com/{github-organization}/omec-project-ci' |
| branches: |
| - 'master' |
| |
| # OMEC CI job which replaces the original container job |
| - job-template: |
| id: 'omec-container-remote' |
| name: 'omec_{project}_container_remote' |
| |
| description: | |
| Created by {id} job-template from ci-management/jjb/omec-ci.yaml<br /> |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| - github: |
| url: 'https://github.com/{github-organization}/{project}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '{build-timeout}' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| parameters: |
| - string: |
| name: buildNode |
| default: 'omec-ci' |
| description: 'Name of the Jenkins executor node to run the job on' |
| |
| - string: |
| name: project |
| default: '{project}' |
| description: 'Name of the project' |
| |
| - string: |
| name: pod |
| default: '{pod}' |
| description: 'Name of OMEC pod' |
| |
| - string: |
| name: remoteJenkinsName |
| default: '{remote-jenkins-name}' |
| description: 'Name of the remote Jenkins instance that runs the job' |
| |
| - string: |
| name: ghprbTargetBranch |
| default: '$ghprbTargetBranch' |
| description: 'GitHub Pull-Request builder value. Replace default value to test manually.' |
| |
| - string: |
| name: ghprbPullId |
| default: '$ghprbPullId' |
| description: 'GitHub Pull-Request builder value. Replace default value to test manually.' |
| |
| - string: |
| name: ghprbActualCommit |
| default: '$ghprbActualCommit' |
| description: 'GitHub Pull-Request builder value. Replace default value to test manually.' |
| |
| triggers: |
| - cord-infra-github-pr-trigger: |
| github_pr_org_list: '{obj:github_pr_org_list}' |
| github_pr_auth_id: '{github_pr_auth_id}' |
| status_context: 'CORD Jenkins - Container Based Verification' |
| |
| concurrent: false |
| |
| project-type: pipeline |
| dsl: !include-raw-escape: pipeline/{pipeline-file} |
| |
| # [EOF] |