From b8e11503cc7c5ed3e27196ec38ad09428c87d535 Mon Sep 17 00:00:00 2001 From: fmuyassarov Date: Thu, 28 May 2020 13:10:41 +0300 Subject: [PATCH] Add a job for feature tests Change-Id: Ia558747577f37fb3db6e978bcf89c8a523086df7 --- jjb/airship/job_feature_tests_ubuntu.yml | 125 ++++++++++++++++++ .../job_master_feature_tests_ubuntu.yml | 104 +++++++++++++++ jjb/airship/projects.yml | 51 +++++++ 3 files changed, 280 insertions(+) create mode 100644 jjb/airship/job_feature_tests_ubuntu.yml create mode 100644 jjb/airship/job_master_feature_tests_ubuntu.yml diff --git a/jjb/airship/job_feature_tests_ubuntu.yml b/jjb/airship/job_feature_tests_ubuntu.yml new file mode 100644 index 000000000..13900bfa1 --- /dev/null +++ b/jjb/airship/job_feature_tests_ubuntu.yml @@ -0,0 +1,125 @@ +--- +# +# ============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: feature_tests_ubuntu + name: '{job_prefix}_{name}_feature_tests_ubuntu' + description: "Upgrade, Pivoting, Remediation tests 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: ghprbTargetBranch + default: 'master' + description: 'Target branch of the PR' + - string: + name: DISTRIBUTION + default: 'ubuntu' + description: 'Distribution to use for the tests.' + - string: + name: CAPI_VERSION + default: 'v1alpha3' + description: 'Cluster API version. Can be v1alpha3 or v1alpha4.' + - string: + name: TARGET_NODE_OS + default: 'Ubuntu' + description: 'Distribution to use for the target host.' + - string: + name: TARGET_NODE_MEMORY + default: 8192 + description: 'RAM size of the target host.' + - string: + name: NUM_NODES + default: 4 + description: 'Number of libvirt VMs.' + - string: + name: TESTS_FOR + default: "feature_tests" + description: 'Tests for pivoting, upgrade and remediation .' + + 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: '((.|\n)*\s)?/test-features(\s(.|\n)*)?' + skip-build-phrase: '/skip-test' + only-trigger-phrase: True + github-hooks: True + permit-all: False + auto-close-on-fail: False + allow-whitelist-orgs-as-admins: False + white-list-target-branches: + - 'master' + - 'release-0.3' + status-context: "test-features" + 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_master_feature_tests_ubuntu.yml b/jjb/airship/job_master_feature_tests_ubuntu.yml new file mode 100644 index 000000000..53f0af002 --- /dev/null +++ b/jjb/airship/job_master_feature_tests_ubuntu.yml @@ -0,0 +1,104 @@ +--- +# +# ============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: master_feature_tests_ubuntu + name: '{job_prefix}_master_feature_tests_ubuntu' + description: "Upgrade, Pivoting, Remediation tests 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: ghprbTargetBranch + default: 'master' + description: 'Target branch of the PR' + - string: + name: DISTRIBUTION + default: 'ubuntu' + description: 'Distribution to use for the tests.' + - string: + name: CAPI_VERSION + default: 'v1alpha3' + description: 'Cluster API version. Can be v1alpha3 or v1alpha4.' + - string: + name: TARGET_NODE_OS + default: 'Ubuntu' + description: 'Distribution to use for the target host.' + - string: + name: TARGET_NODE_MEMORY + default: 8192 + description: 'RAM size of the target host.' + - string: + name: NUM_NODES + default: 4 + description: 'Number of libvirt VMs.' + - string: + name: TESTS_FOR + default: "feature_tests" + description: 'Tests for pivoting, upgrade and remediation .' + + 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 5ecd7ea07..b365bf13e 100644 --- a/jjb/airship/projects.yml +++ b/jjb/airship/projects.yml @@ -43,6 +43,48 @@ ci_ghprb_auth_id: 'e8a43847-46ff-42db-a5db-7366df0e4ee2' ci_github_repo: 'https://github.com/Nordix/airship-dev-tools.git' +- project: + name: 'nordix_metal3_dev_env' + branch: '${{ghprbActualCommit}}' + ci_github_whitelist_org: + - nordix-airship + jobs: + - feature_tests_ubuntu + repo: + org: "Nordix" + name: "metal3-dev-env" + ci_github_jenkins_credentials_id: 'nordix-airship-ci-github-prod-token' + ci_ghprb_auth_id: 'e8a43847-46ff-42db-a5db-7366df0e4ee2' + ci_github_repo: 'https://github.com/Nordix/airship-dev-tools.git' + +- project: + name: 'nordix_bmo' + branch: '${{ghprbActualCommit}}' + ci_github_whitelist_org: + - nordix-airship + jobs: + - feature_tests_ubuntu + repo: + org: "Nordix" + name: "baremetal-operator" + ci_github_jenkins_credentials_id: 'nordix-airship-ci-github-prod-token' + ci_ghprb_auth_id: 'e8a43847-46ff-42db-a5db-7366df0e4ee2' + ci_github_repo: 'https://github.com/Nordix/airship-dev-tools.git' + +- project: + name: 'nordix_capi_m3' + branch: '${{ghprbActualCommit}}' + ci_github_whitelist_org: + - nordix-airship + jobs: + - feature_tests_ubuntu + repo: + org: "Nordix" + name: "cluster-api-provider-metal3" + ci_github_jenkins_credentials_id: 'nordix-airship-ci-github-prod-token' + ci_ghprb_auth_id: 'e8a43847-46ff-42db-a5db-7366df0e4ee2' + ci_github_repo: 'https://github.com/Nordix/airship-dev-tools.git' + - project: name: 'metal3io_project_infra' branch: '${{ghprbActualCommit}}' @@ -57,6 +99,7 @@ - capi_bm_v1a3_integration_tests_ubuntu - capi_bm_v1a4_integration_tests_centos - capi_bm_v1a4_integration_tests_ubuntu + - feature_tests_ubuntu - project: name: 'metal3io_project_infra_cleanup' @@ -92,6 +135,7 @@ - capi_bm_v1a3_integration_tests_ubuntu - capi_bm_v1a4_integration_tests_centos - capi_bm_v1a4_integration_tests_ubuntu + - feature_tests_ubuntu - project: name: "metal3io_metal3_dev_env" @@ -104,6 +148,9 @@ - capi_bm_v1a4_integration_tests_ubuntu - capi_bm_v1a4_master_integration_tests_centos - capi_bm_v1a4_master_integration_tests_ubuntu + - feature_tests_ubuntu + - master_feature_tests_ubuntu + repo: org: "metal3-io" name: "metal3-dev-env" @@ -118,6 +165,7 @@ - capi_bm_v1a3_integration_tests_ubuntu - capi_bm_v1a4_integration_tests_centos - capi_bm_v1a4_integration_tests_ubuntu + - feature_tests_ubuntu - project: name: "metal3io_ironic_image" @@ -129,6 +177,7 @@ - capi_bm_v1a3_integration_tests_ubuntu - capi_bm_v1a4_integration_tests_centos - capi_bm_v1a4_integration_tests_ubuntu + - feature_tests_ubuntu - project: name: "metal3io_ironic_inspector" @@ -140,6 +189,7 @@ - capi_bm_v1a3_integration_tests_ubuntu - capi_bm_v1a4_integration_tests_centos - capi_bm_v1a4_integration_tests_ubuntu + - feature_tests_ubuntu - project: name: "metal3io_ironic_ipa_downloader" @@ -151,3 +201,4 @@ - capi_bm_v1a3_integration_tests_ubuntu - capi_bm_v1a4_integration_tests_centos - capi_bm_v1a4_integration_tests_ubuntu + - feature_tests_ubuntu -- 2.25.1