From aa86f6e819c275928542c19e8e463f9eafd32cdc Mon Sep 17 00:00:00 2001 From: Jaakko Kuuskoski Date: Tue, 21 Jan 2020 13:11:48 +0200 Subject: [PATCH] CI: add jobs for v1alpha3 Change-Id: Ice7fe769b7e122cea2ab0df2584ca347f3abc8bd --- ..._capi_bm_v1a3_integration_tests_centos.yml | 113 ++++++++++++++++++ ..._capi_bm_v1a3_integration_tests_ubuntu.yml | 113 ++++++++++++++++++ ...m_v1a3_master_integration_tests_centos.yml | 92 ++++++++++++++ ...m_v1a3_master_integration_tests_ubuntu.yml | 92 ++++++++++++++ jjb/airship/projects.yml | 18 ++- 5 files changed, 426 insertions(+), 2 deletions(-) create mode 100644 jjb/airship/job_capi_bm_v1a3_integration_tests_centos.yml create mode 100644 jjb/airship/job_capi_bm_v1a3_integration_tests_ubuntu.yml create mode 100644 jjb/airship/job_capi_bm_v1a3_master_integration_tests_centos.yml create mode 100644 jjb/airship/job_capi_bm_v1a3_master_integration_tests_ubuntu.yml diff --git a/jjb/airship/job_capi_bm_v1a3_integration_tests_centos.yml b/jjb/airship/job_capi_bm_v1a3_integration_tests_centos.yml new file mode 100644 index 000000000..4333a6769 --- /dev/null +++ b/jjb/airship/job_capi_bm_v1a3_integration_tests_centos.yml @@ -0,0 +1,113 @@ +--- +# +# ============LICENSE_START======================================================= +# Copyright (C) 2019 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + +# Description: +# ============ +# This file contains job template definition for K8s CAPI Baremetal integration tests. +# This job can be triggered manually or through a Github pull request. It creates a +# pipeline job. The pipeline scripts are maintained in Airship CI repository. + +- job-template: + id: capi_bm_v1a3_integration_tests_centos + name: '{job_prefix}_{name}_v1a3_integration_test_centos' + description: "K8s CAPI baremetal v1alpha3 integration tests for {repo[org]}/{repo[name]} on CentOS. " + project-type: pipeline + defaults: global + disabled: False + concurrent: True + parameters: + - string: + name: PROJECT_REPO_ORG + default: '{repo[org]}' + description: 'Project github repo org name' + - string: + name: PROJECT_REPO_NAME + default: '{repo[name]}' + description: 'Project github repo name' + - string: + name: ghprbActualCommit + default: 'master' + description: 'CI Repo branch for triggering manual build' + - string: + name: ghprbAuthorRepoGitUrl + default: 'https://github.com/{repo[org]}/{repo[name]}.git' + description: 'CI Repo URL for triggering manual build' + - string: + name: DISTRIBUTION + default: 'centos' + description: 'Distribution to use for the tests. Can be ubuntu or centos' + - string: + name: CAPI_VERSION + default: 'v1alpha3' + description: 'Cluster API version. Can be v1alpha1, v1alpha2 or v1alpha3.' + - string: + name: TARGET_NODE_OS + default: 'Ubuntu' + description: 'Distribution to use for the target host.' + - string: + name: TARGET_NODE_MEMORY + default: 4096 + description: 'RAM size of the target host.' + + properties: + - build-discarder: + days-to-keep: 30 + num-to-keep: 300 + artifact-days-to-keep: -1 + artifact-num-to-keep: -1 + - github: + url: https://github.com/{repo[org]}/{repo[name]} + + triggers: + - github-pull-request: + admin-list: + - '{ci_github_admin_user}' + org-list: "{ci_github_whitelist_org}" + cron: 'H/5 * * * *' + auth-id: "{ci_ghprb_auth_id}" + trigger-phrase: '/test-v1a3-centos-integration' + skip-build-phrase: '/skip-test' + only-trigger-phrase: True + github-hooks: False + permit-all: False + auto-close-on-fail: False + allow-whitelist-orgs-as-admins: True + white-list-target-branches: + - 'master' + - 'v1alpha3' + status-context: "test-v1a3-centos-integration" + success-status: "Passed" + failure-status: "Failed" + error-status: "Error" + cancel-builds-on-update: True + pipeline-scm: + scm: + - git: + url: "{ci_github_repo}" + credentials-id: "{ci_github_jenkins_credentials_id}" + branches: + - '{branch|master}' + name: 'origin' + refspec: '+refs/heads/*:refs/remotes/origin/*' + wipe-workspace: True + honor-refspec: True + shallow-clone: False + script-path: "{ci_github_pipeline}" + lightweight-checkout: False diff --git a/jjb/airship/job_capi_bm_v1a3_integration_tests_ubuntu.yml b/jjb/airship/job_capi_bm_v1a3_integration_tests_ubuntu.yml new file mode 100644 index 000000000..83d3cfb98 --- /dev/null +++ b/jjb/airship/job_capi_bm_v1a3_integration_tests_ubuntu.yml @@ -0,0 +1,113 @@ +--- +# +# ============LICENSE_START======================================================= +# Copyright (C) 2019 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + +# Description: +# ============ +# This file contains job template definition for K8s CAPI Baremetal integration tests. +# This job can be triggered manually or through a Github pull request. It creates a +# pipeline job. The pipeline scripts are maintained in Airship CI repository. + +- job-template: + id: capi_bm_v1a3_integration_tests_ubuntu + name: '{job_prefix}_{name}_v1a3_integration_test_ubuntu' + description: "K8s CAPI baremetal v1alpha3 integration tests for {repo[org]}/{repo[name]} on Ubuntu. " + project-type: pipeline + defaults: global + disabled: False + concurrent: True + parameters: + - string: + name: PROJECT_REPO_ORG + default: '{repo[org]}' + description: 'Project github repo org name' + - string: + name: PROJECT_REPO_NAME + default: '{repo[name]}' + description: 'Project github repo name' + - string: + name: ghprbActualCommit + default: 'master' + description: 'CI Repo branch for triggering manual build' + - string: + name: ghprbAuthorRepoGitUrl + default: 'https://github.com/{repo[org]}/{repo[name]}.git' + description: 'CI Repo URL for triggering manual build' + - string: + name: DISTRIBUTION + default: 'ubuntu' + description: 'Distribution to use for the tests. Can be ubuntu or centos' + - string: + name: CAPI_VERSION + default: 'v1alpha3' + description: 'Cluster API version. Can be v1alpha1,v1alpha2 or v1alpha3.' + - string: + name: TARGET_NODE_OS + default: 'Ubuntu' + description: 'Distribution to use for the target host.' + - string: + name: TARGET_NODE_MEMORY + default: 4096 + description: 'RAM size of the target host.' + + properties: + - build-discarder: + days-to-keep: 30 + num-to-keep: 300 + artifact-days-to-keep: -1 + artifact-num-to-keep: -1 + - github: + url: https://github.com/{repo[org]}/{repo[name]} + + triggers: + - github-pull-request: + admin-list: + - '{ci_github_admin_user}' + org-list: "{ci_github_whitelist_org}" + cron: 'H/5 * * * *' + auth-id: "{ci_ghprb_auth_id}" + trigger-phrase: '/test-v1a3-integration' + skip-build-phrase: '/skip-test' + only-trigger-phrase: True + github-hooks: False + permit-all: False + auto-close-on-fail: False + allow-whitelist-orgs-as-admins: True + white-list-target-branches: + - 'master' + - 'v1alpha3' + status-context: "test-v1a3-integration" + success-status: "Passed" + failure-status: "Failed" + error-status: "Error" + cancel-builds-on-update: True + pipeline-scm: + scm: + - git: + url: "{ci_github_repo}" + credentials-id: "{ci_github_jenkins_credentials_id}" + branches: + - '{branch|master}' + name: 'origin' + refspec: '+refs/heads/*:refs/remotes/origin/*' + wipe-workspace: True + honor-refspec: True + shallow-clone: False + script-path: "{ci_github_pipeline}" + lightweight-checkout: False diff --git a/jjb/airship/job_capi_bm_v1a3_master_integration_tests_centos.yml b/jjb/airship/job_capi_bm_v1a3_master_integration_tests_centos.yml new file mode 100644 index 000000000..f356c4c56 --- /dev/null +++ b/jjb/airship/job_capi_bm_v1a3_master_integration_tests_centos.yml @@ -0,0 +1,92 @@ +--- +# +# ============LICENSE_START======================================================= +# Copyright (C) 2019 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + +# Description: +# ============ +# This file contains job template definition for K8s CAPI Baremetal integration tests. +# This job can be triggered manually or through a Github pull request. It creates a +# pipeline job. The pipeline scripts are maintained in Airship CI repository. + +- job-template: + id: capi_bm_v1a3_master_integration_tests_centos + name: '{job_prefix}_master_v1a3_integration_test_centos' + description: "K8s CAPI baremetal v1alpha3 integration tests for {repo[org]}/{repo[name]} on CentOS. " + project-type: pipeline + defaults: global + disabled: False + concurrent: True + parameters: + - string: + name: PROJECT_REPO_ORG + default: '{repo[org]}' + description: 'Project github repo org name' + - string: + name: PROJECT_REPO_NAME + default: '{repo[name]}' + description: 'Project github repo name' + - string: + name: ghprbActualCommit + default: 'master' + description: 'CI Repo branch for triggering manual build' + - string: + name: ghprbAuthorRepoGitUrl + default: 'https://github.com/{repo[org]}/{repo[name]}.git' + description: 'CI Repo URL for triggering manual build' + - string: + name: DISTRIBUTION + default: 'centos' + description: 'Distribution to use for the tests.' + - string: + name: CAPI_VERSION + default: 'v1alpha3' + description: 'Cluster API version. Can be v1alpha1, v1alpha2 or v1alpha3.' + - string: + name: TARGET_NODE_OS + default: 'Ubuntu' + description: 'Distribution to use for the target host.' + - string: + name: TARGET_NODE_MEMORY + default: 4096 + description: 'RAM size of the target host.' + + properties: + - build-discarder: + days-to-keep: 30 + num-to-keep: 300 + artifact-days-to-keep: -1 + artifact-num-to-keep: -1 + + triggers: + - timed: "@midnight" + + pipeline-scm: + scm: + - git: + url: "{ci_github_repo}" + credentials-id: "{ci_github_jenkins_credentials_id}" + branches: + - '{branch|master}' + name: 'origin' + refspec: '+refs/heads/*:refs/remotes/origin/*' + wipe-workspace: True + honor-refspec: True + shallow-clone: False + script-path: "{ci_github_pipeline}" + lightweight-checkout: False diff --git a/jjb/airship/job_capi_bm_v1a3_master_integration_tests_ubuntu.yml b/jjb/airship/job_capi_bm_v1a3_master_integration_tests_ubuntu.yml new file mode 100644 index 000000000..1eeb4f9d4 --- /dev/null +++ b/jjb/airship/job_capi_bm_v1a3_master_integration_tests_ubuntu.yml @@ -0,0 +1,92 @@ +--- +# +# ============LICENSE_START======================================================= +# Copyright (C) 2019 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + +# Description: +# ============ +# This file contains job template definition for K8s CAPI Baremetal integration tests. +# This job can be triggered manually or through a Github pull request. It creates a +# pipeline job. The pipeline scripts are maintained in Airship CI repository. + +- job-template: + id: capi_bm_v1a3_master_integration_tests_ubuntu + name: '{job_prefix}_master_v1a3_integration_test_ubuntu' + description: "K8s CAPI baremetal v1alpha3 integration tests for {repo[org]}/{repo[name]} on Ubuntu. " + project-type: pipeline + defaults: global + disabled: False + concurrent: True + parameters: + - string: + name: PROJECT_REPO_ORG + default: '{repo[org]}' + description: 'Project github repo org name' + - string: + name: PROJECT_REPO_NAME + default: '{repo[name]}' + description: 'Project github repo name' + - string: + name: ghprbActualCommit + default: 'master' + description: 'CI Repo branch for triggering manual build' + - string: + name: ghprbAuthorRepoGitUrl + default: 'https://github.com/{repo[org]}/{repo[name]}.git' + description: 'CI Repo URL for triggering manual build' + - string: + name: DISTRIBUTION + default: 'ubuntu' + description: 'Distribution to use for the tests.' + - string: + name: CAPI_VERSION + default: 'v1alpha3' + description: 'Cluster API version. Can be v1alpha1, v1alpha2 or v1alpha3.' + - string: + name: TARGET_NODE_OS + default: 'Ubuntu' + description: 'Distribution to use for the target host.' + - string: + name: TARGET_NODE_MEMORY + default: 4096 + description: 'RAM size of the target host.' + + properties: + - build-discarder: + days-to-keep: 30 + num-to-keep: 300 + artifact-days-to-keep: -1 + artifact-num-to-keep: -1 + + triggers: + - timed: "@midnight" + + pipeline-scm: + scm: + - git: + url: "{ci_github_repo}" + credentials-id: "{ci_github_jenkins_credentials_id}" + branches: + - '{branch|master}' + name: 'origin' + refspec: '+refs/heads/*:refs/remotes/origin/*' + wipe-workspace: True + honor-refspec: True + shallow-clone: False + script-path: "{ci_github_pipeline}" + lightweight-checkout: False diff --git a/jjb/airship/projects.yml b/jjb/airship/projects.yml index 77c32830d..59546d6a6 100644 --- a/jjb/airship/projects.yml +++ b/jjb/airship/projects.yml @@ -57,7 +57,8 @@ - capi_bm_integration_tests_centos - capi_bm_v1a2_integration_tests_centos - capi_bm_v1a2_integration_tests_ubuntu - + - capi_bm_v1a3_integration_tests_centos + - capi_bm_v1a3_integration_tests_ubuntu - project: name: "metal3io_bmo" @@ -69,7 +70,8 @@ - capi_bm_integration_tests_centos - capi_bm_v1a2_integration_tests_centos - capi_bm_v1a2_integration_tests_ubuntu - + - capi_bm_v1a3_integration_tests_centos + - capi_bm_v1a3_integration_tests_ubuntu - project: name: "metal3io_metal3_dev_env" @@ -82,6 +84,10 @@ - capi_bm_v1a2_integration_tests_ubuntu - capi_bm_v1a2_master_integration_tests_ubuntu - capi_bm_v1a2_master_integration_tests_centos + - capi_bm_v1a3_integration_tests_centos + - capi_bm_v1a3_integration_tests_ubuntu + - capi_bm_v1a3_master_integration_tests_ubuntu + - capi_bm_v1a3_master_integration_tests_centos repo: org: "metal3-io" name: "metal3-dev-env" @@ -96,6 +102,8 @@ - capi_bm_integration_tests_centos - capi_bm_v1a2_integration_tests_centos - capi_bm_v1a2_integration_tests_ubuntu + - capi_bm_v1a3_integration_tests_centos + - capi_bm_v1a3_integration_tests_ubuntu - project: name: "metal3io_ironic_image" @@ -107,6 +115,8 @@ - capi_bm_integration_tests_centos - capi_bm_v1a2_integration_tests_centos - capi_bm_v1a2_integration_tests_ubuntu + - capi_bm_v1a3_integration_tests_centos + - capi_bm_v1a3_integration_tests_ubuntu - project: name: "metal3io_ironic_inspector" @@ -118,6 +128,8 @@ - capi_bm_integration_tests_centos - capi_bm_v1a2_integration_tests_centos - capi_bm_v1a2_integration_tests_ubuntu + - capi_bm_v1a3_integration_tests_centos + - capi_bm_v1a3_integration_tests_ubuntu - project: name: "metal3io_ironic_ipa_downloader" @@ -129,3 +141,5 @@ - capi_bm_integration_tests_centos - capi_bm_v1a2_integration_tests_centos - capi_bm_v1a2_integration_tests_ubuntu + - capi_bm_v1a3_integration_tests_centos + - capi_bm_v1a3_integration_tests_ubuntu -- 2.25.1