Rename Airship folder and all other mentions of it to Metal3 and bml prefix to capm3
Change-Id: Iec3093938b305d008c7f302de3d8e5d26ac6f6c2
diff --git a/jjb/metal3/defaults.yml b/jjb/metal3/defaults.yml
new file mode 100644
index 0000000..884d641
--- /dev/null
+++ b/jjb/metal3/defaults.yml
@@ -0,0 +1,37 @@
+---
+#
+# ============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 global default values for metal3 projects
+
+# Project Defaults
+- defaults:
+ name: global
+ job_prefix: 'metal3'
+ ci_github_admin_user: 'nordixinfra'
+ ci_github_whitelist_org:
+ - metal3-io
+ - nordix-metal3
+ ci_github_repo: 'https://github.com/metal3-io/project-infra.git'
+ ci_github_pipeline: 'jenkins/jobs/integration_tests.pipeline'
+ ci_github_jenkins_credentials_id: 'metal3-jenkins-github-username-token'
+ ci_ghprb_auth_id: '66556785-bf9b-42a0-812f-ccfd3c59f85c'
diff --git a/jjb/metal3/job_artifactory_cleanup.yml b/jjb/metal3/job_artifactory_cleanup.yml
new file mode 100644
index 0000000..deff01d
--- /dev/null
+++ b/jjb/metal3/job_artifactory_cleanup.yml
@@ -0,0 +1,59 @@
+---
+#
+# ============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 nordix Artifacotry cleanup.
+# This job can be triggered manually. It creates a pipeline job.
+# The pipeline scripts are maintained in Nordix/metal3-dev-tools repository.
+
+- job-template:
+ id: artifactory_cleanup
+ name: '{job_prefix}_artifactory_cleanup'
+ description: "Artifactory cleanup"
+ project-type: pipeline
+ defaults: global
+ disabled: False
+ concurrent: False
+
+ properties:
+ - build-discarder:
+ days-to-keep: 30
+ num-to-keep: 300
+ artifact-days-to-keep: -1
+ artifact-num-to-keep: -1
+
+ triggers:
+ - timed: "0 */48 * * *"
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - 'master'
+ name: 'origin'
+ refspec: '+refs/heads/*:refs/remotes/origin/*'
+ wipe-workspace: True
+ honor-refspec: True
+ shallow-clone: False
+ script-path: 'ci/jobs/{id}.pipeline'
+ lightweight-checkout: False
diff --git a/jjb/metal3/job_bml_integration_tests_centos.yml b/jjb/metal3/job_bml_integration_tests_centos.yml
new file mode 100644
index 0000000..252ea72
--- /dev/null
+++ b/jjb/metal3/job_bml_integration_tests_centos.yml
@@ -0,0 +1,122 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) BML
+# 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 Metal3 CI project infra repository.
+
+- job-template:
+ id: bml_integration_tests_centos
+ name: '{job_prefix}_{name}_bml_integration_tests_centos'
+ description: "CAPM3 v1beta1 integration tests for {repo[org]}/{repo[name]} on CentOS in Bare Metal Lab."
+ 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: 'centos'
+ description: 'Distribution to use for the tests. Can be ubuntu or centos'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API provider Metal3 version.'
+ - string:
+ name: TARGET_NODE_OS
+ default: 'Centos'
+ 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: '((.|\n)*\s)?/test-integration-bml-centos(\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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ status-context: "test-integration-bml-centos"
+ 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|main}'
+ name: 'origin'
+ refspec: '+refs/heads/*:refs/remotes/origin/*'
+ wipe-workspace: True
+ honor-refspec: True
+ shallow-clone: False
+ script-path: 'jenkins/jobs/bml_integration_tests.pipeline'
+ lightweight-checkout: False
diff --git a/jjb/metal3/job_bml_master_integration_tests_centos.yml b/jjb/metal3/job_bml_master_integration_tests_centos.yml
new file mode 100644
index 0000000..0d713e5
--- /dev/null
+++ b/jjb/metal3/job_bml_master_integration_tests_centos.yml
@@ -0,0 +1,101 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) BML
+# 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 Metal3 CI project infra repository.
+
+- job-template:
+ id: bml_master_integration_tests_centos
+ name: '{job_prefix}_master_bml_integration_tests_centos'
+ description: "CAPM3 v1beta1 integration tests for {repo[org]}/{repo[name]} on CentOS in Bare Metal Lab."
+ 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: 'centos'
+ description: 'Distribution to use for the tests. Can be ubuntu or centos'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API provider Metal3 version.'
+ - string:
+ name: TARGET_NODE_OS
+ default: 'Centos'
+ 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: "H 2 * * *"
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - '{branch|main}'
+ name: 'origin'
+ refspec: '+refs/heads/*:refs/remotes/origin/*'
+ wipe-workspace: True
+ honor-refspec: True
+ shallow-clone: False
+ script-path: 'jenkins/jobs/bml_integration_tests.pipeline'
+ lightweight-checkout: False
diff --git a/jjb/metal3/job_capm3_v1a4_integration_tests_centos.yml b/jjb/metal3/job_capm3_v1a4_integration_tests_centos.yml
new file mode 100644
index 0000000..3482394
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1a4_integration_tests_centos.yml
@@ -0,0 +1,123 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) 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 Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1a4_integration_tests_centos
+ name: '{job_prefix}_{name}_v1a4_integration_test_centos'
+ description: "CAPM3 v1alpha4 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: ghprbTargetBranch
+ default: 'master'
+ description: 'Target branch of the PR'
+ - 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 v1alpha3.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1alpha4'
+ description: 'Cluster API provider Metal3 version. Can be v1alpha4 or v1alpha5.'
+ - string:
+ name: TARGET_NODE_OS
+ default: 'Centos'
+ 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: '((.|\n)*\s)?/test-v1a4-centos-integration(\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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ - 'release-0.4'
+ - 'release-0.0'
+ status-context: "test-v1a4-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|main}'
+ 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/metal3/job_capm3_v1a4_integration_tests_ubuntu.yml b/jjb/metal3/job_capm3_v1a4_integration_tests_ubuntu.yml
new file mode 100644
index 0000000..50f291a
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1a4_integration_tests_ubuntu.yml
@@ -0,0 +1,123 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) 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 Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1a4_integration_tests_ubuntu
+ name: '{job_prefix}_{name}_v1a4_integration_test_ubuntu'
+ description: "CAPM3 v1alpha4 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: ghprbTargetBranch
+ default: 'master'
+ description: 'Target branch of the PR'
+ - 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 v1alpha3.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1alpha4'
+ description: 'Cluster API provider Metal3 version. Can be v1alpha4 or v1alpha5.'
+ - 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: '((.|\n)*\s)?/test-v1a4-integration(\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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ - 'release-0.4'
+ - 'release-0.0'
+ status-context: "test-v1a4-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|main}'
+ 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/metal3/job_capm3_v1a4_master_integration_tests_centos.yml b/jjb/metal3/job_capm3_v1a4_master_integration_tests_centos.yml
new file mode 100644
index 0000000..99713ad
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1a4_master_integration_tests_centos.yml
@@ -0,0 +1,100 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) 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 Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1a4_master_integration_tests_centos
+ name: '{job_prefix}_master_v1a4_integration_test_centos'
+ description: "CAPM3 v1alpha4 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: ghprbTargetBranch
+ default: 'master'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'centos'
+ description: 'Distribution to use for the tests.'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1alpha3'
+ description: 'Cluster API version. Can be v1alpha3.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1alpha4'
+ description: 'Cluster API provider Metal3 version. Can be v1alpha4 or v1alpha5.'
+ - string:
+ name: TARGET_NODE_OS
+ default: 'Centos'
+ 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: "0 4 * * *"
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - '{branch|main}'
+ 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/metal3/job_capm3_v1a4_master_integration_tests_ubuntu.yml b/jjb/metal3/job_capm3_v1a4_master_integration_tests_ubuntu.yml
new file mode 100644
index 0000000..8478709
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1a4_master_integration_tests_ubuntu.yml
@@ -0,0 +1,100 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) 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 Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1a4_master_integration_tests_ubuntu
+ name: '{job_prefix}_master_v1a4_integration_test_ubuntu'
+ description: "CAPM3 v1alpha4 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: 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.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1alpha4'
+ description: 'Cluster API provider Metal3 version. Can be v1alpha4 or v1alpha5.'
+ - 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: "15 4 * * *"
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - '{branch|main}'
+ 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/metal3/job_capm3_v1a5_e2e_tests_centos.yml b/jjb/metal3/job_capm3_v1a5_e2e_tests_centos.yml
new file mode 100644
index 0000000..1e22392
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1a5_e2e_tests_centos.yml
@@ -0,0 +1,126 @@
+---
+#
+# ============LICENSE_START=======================================================
+# Copyright (C) 2021 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 Cluster API Provider Metal3 (CAPM3) e2e tests.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1a5_e2e_tests_centos
+ name: '{job_prefix}_{name}_v1a5_e2e_test_centos'
+ description: "CAPM3 v1alpha5 e2e 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: ghprbTargetBranch
+ default: 'master'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'centos'
+ description: 'Distribution to use for the tests. Can be ubuntu or centos'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1alpha4'
+ description: 'Cluster API version. Can be v1alpha4.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1alpha5'
+ description: 'Cluster API provider Metal3 version. Can be v1alpha5 or v1alpha4.'
+ - string:
+ name: TARGET_NODE_OS
+ default: 'Centos'
+ description: 'Distribution to use for the target host.'
+ - string:
+ name: TARGET_NODE_MEMORY
+ default: 4096
+ description: 'RAM size of the target host.'
+ - string:
+ name: TESTS_FOR
+ default: "e2e_tests"
+ description: 'Tests using the e2e framework.'
+
+ 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-v1a5-centos-e2e(\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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ - 'release-0.5'
+ status-context: "test-v1a5-centos-e2e"
+ 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|main}'
+ 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/metal3/job_capm3_v1a5_e2e_tests_ubuntu.yml b/jjb/metal3/job_capm3_v1a5_e2e_tests_ubuntu.yml
new file mode 100644
index 0000000..5330d9a
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1a5_e2e_tests_ubuntu.yml
@@ -0,0 +1,126 @@
+---
+#
+# ============LICENSE_START=======================================================
+# Copyright (C) 2021 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 Cluster API Provider Metal3 (CAPM3) e2e tests.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1a5_e2e_tests_ubuntu
+ name: '{job_prefix}_{name}_v1a5_e2e_test_ubuntu'
+ description: "CAPM3 v1alpha5 e2e 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: ghprbTargetBranch
+ default: 'master'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'ubuntu'
+ description: 'Distribution to use for the tests. Can be ubuntu or centos'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1alpha4'
+ description: 'Cluster API version. Can be v1alpha4.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1alpha5'
+ description: 'Cluster API provider Metal3 version. Can be v1alpha5 or v1alpha4.'
+ - 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.'
+ - string:
+ name: TESTS_FOR
+ default: "e2e_tests"
+ description: 'Tests using the e2e framework.'
+
+ 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-v1a5-e2e(\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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ - 'release-0.5'
+ status-context: "test-v1a5-e2e"
+ 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|main}'
+ 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/metal3/job_capm3_v1a5_integration_tests_centos.yml b/jjb/metal3/job_capm3_v1a5_integration_tests_centos.yml
new file mode 100644
index 0000000..600154b
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1a5_integration_tests_centos.yml
@@ -0,0 +1,123 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) 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 Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1a5_integration_tests_centos
+ name: '{job_prefix}_{name}_v1a5_integration_test_centos'
+ description: "CAPM3 v1alpha5 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: ghprbTargetBranch
+ default: 'master'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'centos'
+ description: 'Distribution to use for the tests. Can be ubuntu or centos'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1alpha4'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1alpha5'
+ description: 'Cluster API provider Metal3 version.'
+ - string:
+ name: TARGET_NODE_OS
+ default: 'Centos'
+ 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: '((.|\n)*\s)?/test-v1a5-centos-integration(\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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ - 'release-0.5'
+ - 'release-0.1'
+ status-context: "test-v1a5-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|main}'
+ 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/metal3/job_capm3_v1a5_integration_tests_ubuntu.yml b/jjb/metal3/job_capm3_v1a5_integration_tests_ubuntu.yml
new file mode 100644
index 0000000..96ef243
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1a5_integration_tests_ubuntu.yml
@@ -0,0 +1,123 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) 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 Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1a5_integration_tests_ubuntu
+ name: '{job_prefix}_{name}_v1a5_integration_test_ubuntu'
+ description: "CAPM3 v1alpha5 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: ghprbTargetBranch
+ default: 'master'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'ubuntu'
+ description: 'Distribution to use for the tests. Can be ubuntu or centos'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1alpha4'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1alpha5'
+ description: 'Cluster API provider Metal3 version.'
+ - 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: '((.|\n)*\s)?/test-v1a5-integration(\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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ - 'release-0.5'
+ - 'release-0.1'
+ status-context: "test-v1a5-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|main}'
+ 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/metal3/job_capm3_v1a5_master_e2e_tests_centos.yml b/jjb/metal3/job_capm3_v1a5_master_e2e_tests_centos.yml
new file mode 100644
index 0000000..605079a
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1a5_master_e2e_tests_centos.yml
@@ -0,0 +1,108 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) e2e tests.
+# This job can be triggered manually or periodically by the CI system. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1a5_master_e2e_tests_centos
+ name: '{job_prefix}_master_v1a5_e2e_test_centos'
+ description: "CAPM3 v1alpha5 e2e 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: 'release-0.5'
+ 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: 'release-0.5'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'centos'
+ description: 'Distribution to use for the tests.'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1alpha4'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1alpha5'
+ description: 'Cluster API provider Metal3 version.'
+ - string:
+ name: TARGET_NODE_OS
+ default: 'Centos'
+ description: 'Distribution to use for the target host.'
+ - string:
+ name: TARGET_NODE_MEMORY
+ default: 4096
+ description: 'RAM size of the target host.'
+ - string:
+ name: NUM_NODES
+ default: 4
+ description: 'Number of libvirt VMs.'
+ - string:
+ name: TESTS_FOR
+ default: "e2e_tests"
+ description: 'Tests using the e2e framework.'
+
+ properties:
+ - build-discarder:
+ days-to-keep: 30
+ num-to-keep: 300
+ artifact-days-to-keep: -1
+ artifact-num-to-keep: -1
+
+ triggers:
+ - timed: "H 20 * * *"
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - '{branch|main}'
+ 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/metal3/job_capm3_v1a5_master_e2e_tests_ubuntu.yml b/jjb/metal3/job_capm3_v1a5_master_e2e_tests_ubuntu.yml
new file mode 100644
index 0000000..2f6c2bb
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1a5_master_e2e_tests_ubuntu.yml
@@ -0,0 +1,108 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) e2e tests.
+# This job can be triggered manually or periodically by the CI system. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1a5_master_e2e_tests_ubuntu
+ name: '{job_prefix}_master_v1a5_e2e_test_ubuntu'
+ description: "CAPM3 v1alpha5 e2e 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: 'release-0.5'
+ 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: 'release-0.5'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'ubuntu'
+ description: 'Distribution to use for the tests.'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1alpha4'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1alpha5'
+ description: 'Cluster API provider Metal3 version.'
+ - 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.'
+ - string:
+ name: NUM_NODES
+ default: 4
+ description: 'Number of libvirt VMs.'
+ - string:
+ name: TESTS_FOR
+ default: "e2e_tests"
+ description: 'Tests using the e2e framework.'
+
+ properties:
+ - build-discarder:
+ days-to-keep: 30
+ num-to-keep: 300
+ artifact-days-to-keep: -1
+ artifact-num-to-keep: -1
+
+ triggers:
+ - timed: "H 20 * * *"
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - '{branch|main}'
+ 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/metal3/job_capm3_v1a5_master_integration_tests_centos.yml b/jjb/metal3/job_capm3_v1a5_master_integration_tests_centos.yml
new file mode 100644
index 0000000..b7fac18
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1a5_master_integration_tests_centos.yml
@@ -0,0 +1,100 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) 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 Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1a5_master_integration_tests_centos
+ name: '{job_prefix}_master_v1a5_integration_test_centos'
+ description: "CAPM3 v1alpha5 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: ghprbTargetBranch
+ default: 'master'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'centos'
+ description: 'Distribution to use for the tests.'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1alpha4'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1alpha5'
+ description: 'Cluster API provider Metal3 version.'
+ - string:
+ name: TARGET_NODE_OS
+ default: 'Centos'
+ 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: "30 4 * * *"
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - '{branch|main}'
+ 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/metal3/job_capm3_v1a5_master_integration_tests_ubuntu.yml b/jjb/metal3/job_capm3_v1a5_master_integration_tests_ubuntu.yml
new file mode 100644
index 0000000..2f910cc
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1a5_master_integration_tests_ubuntu.yml
@@ -0,0 +1,100 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) 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 Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1a5_master_integration_tests_ubuntu
+ name: '{job_prefix}_master_v1a5_integration_test_ubuntu'
+ description: "CAPM3 v1alpha5 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: 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: 'v1alpha4'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1alpha5'
+ description: 'Cluster API provider Metal3 version.'
+ - 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: "45 4 * * *"
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - '{branch|main}'
+ 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/metal3/job_capm3_v1b1_e2e_tests_centos.yml b/jjb/metal3/job_capm3_v1b1_e2e_tests_centos.yml
new file mode 100644
index 0000000..603813f
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1b1_e2e_tests_centos.yml
@@ -0,0 +1,125 @@
+---
+#
+# ============LICENSE_START=======================================================
+# Copyright (C) 2021 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 Cluster API Provider Metal3 (CAPM3) e2e tests.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1b1_e2e_tests_centos
+ name: '{job_prefix}_{name}_v1b1_e2e_test_centos'
+ description: "CAPM3 v1beta1 e2e 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: ghprbTargetBranch
+ default: 'master'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'centos'
+ description: 'Distribution to use for the tests. Can be ubuntu or centos'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API version. Can be v1beta1.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API provider Metal3 version. Can be v1beta1.'
+ - string:
+ name: TARGET_NODE_OS
+ default: 'Centos'
+ description: 'Distribution to use for the target host.'
+ - string:
+ name: TARGET_NODE_MEMORY
+ default: 4096
+ description: 'RAM size of the target host.'
+ - string:
+ name: TESTS_FOR
+ default: "e2e_tests"
+ description: 'Tests using the e2e framework.'
+
+ 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-v1b1-centos-e2e(\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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ status-context: "test-v1b1-centos-e2e"
+ 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|main}'
+ 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/metal3/job_capm3_v1b1_e2e_tests_ubuntu.yml b/jjb/metal3/job_capm3_v1b1_e2e_tests_ubuntu.yml
new file mode 100644
index 0000000..364d0da
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1b1_e2e_tests_ubuntu.yml
@@ -0,0 +1,125 @@
+---
+#
+# ============LICENSE_START=======================================================
+# Copyright (C) 2021 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 Cluster API Provider Metal3 (CAPM3) e2e tests.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1b1_e2e_tests_ubuntu
+ name: '{job_prefix}_{name}_v1b1_e2e_test_ubuntu'
+ description: "CAPM3 v1beta1 e2e 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: ghprbTargetBranch
+ default: 'master'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'ubuntu'
+ description: 'Distribution to use for the tests. Can be ubuntu or centos'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API version. Can be v1beta1.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API provider Metal3 version. Can be v1beta1.'
+ - 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.'
+ - string:
+ name: TESTS_FOR
+ default: "e2e_tests"
+ description: 'Tests using the e2e framework.'
+
+ 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-v1b1-e2e(\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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ status-context: "test-v1b1-e2e"
+ 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|main}'
+ 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/metal3/job_capm3_v1b1_e2e_upgrade_tests_ubuntu.yml b/jjb/metal3/job_capm3_v1b1_e2e_upgrade_tests_ubuntu.yml
new file mode 100644
index 0000000..f124d51
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1b1_e2e_upgrade_tests_ubuntu.yml
@@ -0,0 +1,129 @@
+---
+#
+# ============LICENSE_START=======================================================
+# Copyright (C) 2021 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 Cluster API Provider Metal3 (CAPM3) e2e tests.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1b1_e2e_upgrade_tests_ubuntu
+ name: '{job_prefix}_{name}_v1b1_e2e_upgrade_test_ubuntu'
+ description: "CAPM3 v1beta1 e2e upgrade 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: ghprbTargetBranch
+ default: 'master'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'ubuntu'
+ description: 'Distribution to use for the tests. Can be ubuntu or centos'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API version. Can be v1beta1.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API provider Metal3 version. Can be v1beta1.'
+ - 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.'
+ - string:
+ name: TESTS_FOR
+ default: "e2e_tests"
+ description: 'Tests using the e2e framework.'
+ - bool:
+ name: UPGRADE_TEST
+ default: True
+ description: 'Select the e2e upgrade test'
+
+ 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-v1b1-upgrade-e2e(\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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ status-context: "test-v1b1-upgrade-e2e"
+ 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|main}'
+ 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/metal3/job_capm3_v1b1_integration_tests_centos.yml b/jjb/metal3/job_capm3_v1b1_integration_tests_centos.yml
new file mode 100644
index 0000000..76b672c
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1b1_integration_tests_centos.yml
@@ -0,0 +1,121 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) v1beta1 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 Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1b1_integration_tests_centos
+ name: '{job_prefix}_{name}_v1b1_integration_test_centos'
+ description: "CAPM3 v1beta1 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: 'main'
+ 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: 'main'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'centos'
+ description: 'Distribution to use for the tests. Can be ubuntu or centos'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API provider Metal3 version.'
+ - string:
+ name: TARGET_NODE_OS
+ default: 'Centos'
+ 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: '((.|\n)*\s)?/test-v1b1-centos-integration(\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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ status-context: "test-v1b1-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|main}'
+ 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
\ No newline at end of file
diff --git a/jjb/metal3/job_capm3_v1b1_integration_tests_ubuntu.yml b/jjb/metal3/job_capm3_v1b1_integration_tests_ubuntu.yml
new file mode 100644
index 0000000..296ed89
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1b1_integration_tests_ubuntu.yml
@@ -0,0 +1,121 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) v1beta1 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 Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1b1_integration_tests_ubuntu
+ name: '{job_prefix}_{name}_v1b1_integration_test_ubuntu'
+ description: "CAPM3 v1beta1 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: 'main'
+ 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: 'main'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'ubuntu'
+ description: 'Distribution to use for the tests. Can be ubuntu or centos'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API provider Metal3 version.'
+ - 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: '((.|\n)*\s)?/test-v1b1-integration(\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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ status-context: "test-v1b1-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|main}'
+ 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
\ No newline at end of file
diff --git a/jjb/metal3/job_capm3_v1b1_master_e2e_tests_centos.yml b/jjb/metal3/job_capm3_v1b1_master_e2e_tests_centos.yml
new file mode 100644
index 0000000..7591c02
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1b1_master_e2e_tests_centos.yml
@@ -0,0 +1,108 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) e2e tests.
+# This job can be triggered manually or periodically by the CI system. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1b1_master_e2e_tests_centos
+ name: '{job_prefix}_master_v1b1_e2e_test_centos'
+ description: "CAPM3 v1beta1 e2e 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: 'main'
+ 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: 'main'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'centos'
+ description: 'Distribution to use for the tests.'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API provider Metal3 version.'
+ - string:
+ name: TARGET_NODE_OS
+ default: 'Centos'
+ description: 'Distribution to use for the target host.'
+ - string:
+ name: TARGET_NODE_MEMORY
+ default: 4096
+ description: 'RAM size of the target host.'
+ - string:
+ name: NUM_NODES
+ default: 4
+ description: 'Number of libvirt VMs.'
+ - string:
+ name: TESTS_FOR
+ default: "e2e_tests"
+ description: 'Tests using the e2e framework.'
+
+ properties:
+ - build-discarder:
+ days-to-keep: 30
+ num-to-keep: 300
+ artifact-days-to-keep: -1
+ artifact-num-to-keep: -1
+
+ triggers:
+ - timed: "H 20 * * *"
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - '{branch|main}'
+ 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/metal3/job_capm3_v1b1_master_e2e_tests_ubuntu.yml b/jjb/metal3/job_capm3_v1b1_master_e2e_tests_ubuntu.yml
new file mode 100644
index 0000000..ea3b93b
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1b1_master_e2e_tests_ubuntu.yml
@@ -0,0 +1,108 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) e2e tests.
+# This job can be triggered manually or periodically by the CI system. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1b1_master_e2e_tests_ubuntu
+ name: '{job_prefix}_master_e2e_v1b1_test_ubuntu'
+ description: "CAPM3 v1beta1 e2e 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: 'main'
+ 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: 'main'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'ubuntu'
+ description: 'Distribution to use for the tests.'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API provider Metal3 version.'
+ - 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.'
+ - string:
+ name: NUM_NODES
+ default: 4
+ description: 'Number of libvirt VMs.'
+ - string:
+ name: TESTS_FOR
+ default: "e2e_tests"
+ description: 'Tests using the e2e framework.'
+
+ properties:
+ - build-discarder:
+ days-to-keep: 30
+ num-to-keep: 300
+ artifact-days-to-keep: -1
+ artifact-num-to-keep: -1
+
+ triggers:
+ - timed: "H 20 * * *"
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - '{branch|main}'
+ 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/metal3/job_capm3_v1b1_master_integration_tests_centos.yml b/jjb/metal3/job_capm3_v1b1_master_integration_tests_centos.yml
new file mode 100644
index 0000000..d3c0864
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1b1_master_integration_tests_centos.yml
@@ -0,0 +1,100 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) v1beta1 master 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 Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1b1_master_integration_tests_centos
+ name: '{job_prefix}_master_v1b1_integration_test_centos'
+ description: "CAPM3 v1beta1 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: ghprbTargetBranch
+ default: 'master'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'centos'
+ description: 'Distribution to use for the tests.'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API provider Metal3 version.'
+ - string:
+ name: TARGET_NODE_OS
+ default: 'Centos'
+ 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: "H 4 * * *"
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - '{branch|main}'
+ 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/metal3/job_capm3_v1b1_master_integration_tests_ubuntu.yml b/jjb/metal3/job_capm3_v1b1_master_integration_tests_ubuntu.yml
new file mode 100644
index 0000000..7b8c2f7
--- /dev/null
+++ b/jjb/metal3/job_capm3_v1b1_master_integration_tests_ubuntu.yml
@@ -0,0 +1,100 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) v1beta1 master 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 Metal3 CI project infra repository.
+
+- job-template:
+ id: capm3_v1b1_master_integration_tests_ubuntu
+ name: '{job_prefix}_master_v1b1_integration_test_ubuntu'
+ description: "CAPM3 v1beta1 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: 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: 'v1beta1'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API provider Metal3 version.'
+ - 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: "H 4 * * *"
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - '{branch|main}'
+ 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/metal3/job_docker_image_building.yml b/jjb/metal3/job_docker_image_building.yml
new file mode 100644
index 0000000..12f85e6
--- /dev/null
+++ b/jjb/metal3/job_docker_image_building.yml
@@ -0,0 +1,64 @@
+---
+#
+# ============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 Docker image building.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Nordix/metal3-dev-tools repository.
+
+- job-template:
+ id: docker_image_building
+ name: '{job_prefix}_docker_image_building'
+ description: "Docker image builder job. "
+ project-type: pipeline
+ defaults: global
+ disabled: False
+ concurrent: True
+ parameters:
+ - string:
+ name: ghprbActualCommit
+ default: 'master'
+ description: 'CI Repo branch for triggering manual build'
+
+ 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/jobs/{id}.pipeline'
+ lightweight-checkout: False
diff --git a/jjb/metal3/job_feature_tests_centos.yml b/jjb/metal3/job_feature_tests_centos.yml
new file mode 100644
index 0000000..f18616a
--- /dev/null
+++ b/jjb/metal3/job_feature_tests_centos.yml
@@ -0,0 +1,131 @@
+---
+#
+# ============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 feature tests.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: feature_tests_centos
+ name: '{job_prefix}_{name}_feature_tests_centos'
+ description: "Pivoting and Remediation tests 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: ghprbTargetBranch
+ default: 'master'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'centos'
+ description: 'Distribution to use for the tests.'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API provider Metal3 version.'
+ - string:
+ name: TARGET_NODE_OS
+ default: 'Centos'
+ description: 'Distribution to use for the target host.'
+ - string:
+ name: TARGET_NODE_MEMORY
+ default: 4096
+ 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_centos"
+ description: 'Tests for pivoting 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-centos(\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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ - 'release-0.5'
+ - 'release-0.1'
+ status-context: "test-features-centos"
+ 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|main}'
+ 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/metal3/job_feature_tests_ubuntu.yml b/jjb/metal3/job_feature_tests_ubuntu.yml
new file mode 100644
index 0000000..13dd599
--- /dev/null
+++ b/jjb/metal3/job_feature_tests_ubuntu.yml
@@ -0,0 +1,131 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) feature tests.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: feature_tests_ubuntu
+ name: '{job_prefix}_{name}_feature_tests_ubuntu'
+ description: "Pivoting and 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: 'v1beta1'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API provider Metal3 version.'
+ - 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.'
+ - string:
+ name: NUM_NODES
+ default: 4
+ description: 'Number of libvirt VMs.'
+ - string:
+ name: TESTS_FOR
+ default: "feature_tests"
+ description: 'Tests for pivoting 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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ - 'release-0.5'
+ - 'release-0.1'
+ 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|main}'
+ 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/metal3/job_feature_tests_upgrade_ubuntu.yml b/jjb/metal3/job_feature_tests_upgrade_ubuntu.yml
new file mode 100644
index 0000000..79f01a3
--- /dev/null
+++ b/jjb/metal3/job_feature_tests_upgrade_ubuntu.yml
@@ -0,0 +1,138 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) feature
+# upgrade tests.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: feature_tests_upgrade_ubuntu
+ name: '{job_prefix}_{name}_feature_tests_upgrade_ubuntu'
+ description: "Upgrade 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: 'v1alpha4'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPIRELEASE
+ description: 'Cluster API release tag to upgrade from, e.g. v1.0.0'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1alpha5'
+ description: 'Cluster API provider Metal3 version.'
+ - string:
+ name: CAPM3RELEASE
+ description: 'CAPM3 release tag to upgrade from, e.g. v1.0.0'
+ - 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.'
+ - string:
+ name: NUM_NODES
+ default: 4
+ description: 'Number of libvirt VMs.'
+ - string:
+ name: TESTS_FOR
+ default: "feature_tests_upgrade"
+ description: 'Tests for upgrade.'
+
+ 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-upgrade-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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ - 'release-0.5'
+ - 'release-0.1'
+ status-context: "test-upgrade-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|main}'
+ 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/metal3/job_ipa_image_building.yml b/jjb/metal3/job_ipa_image_building.yml
new file mode 100644
index 0000000..808227f
--- /dev/null
+++ b/jjb/metal3/job_ipa_image_building.yml
@@ -0,0 +1,115 @@
+---
+#
+# ============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 nordix IPA image building.
+# This job can be triggered manually. It creates a pipeline job.
+# The pipeline scripts are maintained in Nordix/metal3-dev-tools repository.
+
+- job-template:
+ id: openstack_ipa_and_ironic_image_building
+ name: '{job_prefix}_master_openstack_ipa_and_ironic_image_building'
+ description: "IPA and Ironic image building"
+ project-type: pipeline
+ defaults: global
+ disabled: False
+ concurrent: True
+ parameters:
+ - string:
+ name: IRONIC_REFSPEC
+ default: ''
+ description: 'Gerrit refspec of the patch we want to test. Example: refs/changes/84/800084/22'
+ - string:
+ name: IRONIC_IMAGE_REPO_COMMIT
+ default: 'HEAD'
+ description: 'Ironic Image repository commit hash to build'
+ - string:
+ name: IRONIC_IMAGE_BRANCH
+ default: 'main'
+ description: 'Ironic image repository branch to build'
+ - string:
+ name: IRONIC_INSPECTOR_REFSPEC
+ default: ''
+ description: 'Gerrit refspec of the patch we want to test. Example: refs/changes/84/800084/22'
+ - string:
+ name: IPA_COMMIT
+ default: 'HEAD'
+ description: 'Ironic Python Agent repository commit hash to build'
+ - string:
+ name: IPA_BRANCH
+ default: 'master'
+ description: 'Ironic Python Agent repository branch to build'
+ - string:
+ name: BMO_COMMIT
+ default: 'HEAD'
+ description: 'Bare Metal Operator repository commit hash to build'
+ - string:
+ name: BMO_BRANCH
+ default: 'main'
+ description: 'Bare Metal Operator repository branch to build'
+ - string:
+ name: IPA_BUILDER_BRANCH
+ default: 'master'
+ description: 'Ironic Python Agent builder repository tool branch'
+ - string:
+ name: IPA_BUILDER_COMMIT
+ default: 'HEAD'
+ description: 'Ironic Python Agent builder repository tool commit'
+ - string:
+ name: METAL3_DEV_ENV_BRANCH
+ default: 'master'
+ description: 'Metal3 dev env repository branch'
+ - string:
+ name: METAL3_DEV_ENV_COMMIT
+ default: 'HEAD'
+ description: 'Metal3 dev env repository commit'
+ - string:
+ name: STAGING
+ default: 'true'
+ description: 'Configures IPA builder upload mode (staging/review)'
+
+ properties:
+ - github:
+ url: https://github.com/Nordix/ironic-python-agent.git
+ - build-discarder:
+ days-to-keep: 30
+ num-to-keep: 300
+ artifact-days-to-keep: -1
+ artifact-num-to-keep: -1
+
+ triggers:
+ - timed: "0 4 * * 1,3,5,7"
+ - github
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - 'master'
+ name: 'origin'
+ refspec: '+refs/heads/*:refs/remotes/origin/*'
+ wipe-workspace: True
+ honor-refspec: True
+ shallow-clone: False
+ script-path: 'ci/jobs/{id}.pipeline'
+ lightweight-checkout: False
diff --git a/jjb/metal3/job_ipa_image_building_test.yml b/jjb/metal3/job_ipa_image_building_test.yml
new file mode 100644
index 0000000..cf22253
--- /dev/null
+++ b/jjb/metal3/job_ipa_image_building_test.yml
@@ -0,0 +1,153 @@
+---
+#
+# ============LICENSE_START=======================================================
+# Copyright (C) 2021 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 for nordix IPA image building test.
+# This job can be triggered on PRs manually. It creates a pipeline job.
+# The pipeline scripts are maintained in Nordix/metal3-dev-tools repository.
+
+- job-template:
+ id: metal3_ipa_and_ironic_image_building_test
+ name: '{job_prefix}_openstack_ipa_and_ironic_image_building'
+ description: "IPA and Ironic image building test."
+ project-type: pipeline
+ defaults: global
+ disabled: False
+ concurrent: True
+ parameters:
+ - string:
+ name: IRONIC_REFSPEC
+ default: ''
+ description: 'Gerrit refspec of the patch we want to test. Example: refs/changes/84/800084/22'
+ - string:
+ name: IRONIC_IMAGE_REPO_COMMIT
+ default: 'HEAD'
+ description: 'Ironic Image repository commit hash to build'
+ - string:
+ name: IRONIC_IMAGE_BRANCH
+ default: 'main'
+ description: 'Ironic image repository branch to build'
+ - string:
+ name: IRONIC_INSPECTOR_REFSPEC
+ default: ''
+ description: 'Gerrit refspec of the patch we want to test. Example: refs/changes/84/800084/22'
+ - string:
+ name: IPA_COMMIT
+ default: 'HEAD'
+ description: 'Ironic Python Agent repository commit hash to build'
+ - string:
+ name: IPA_BRANCH
+ default: 'master'
+ description: 'Ironic Python Agent repository branch to build'
+ - string:
+ name: BMO_COMMIT
+ default: 'HEAD'
+ description: 'Bare Metal Operator repository commit hash to build'
+ - string:
+ name: BMO_BRANCH
+ default: 'main'
+ description: 'Bare Metal Operator repository branch to build'
+ - string:
+ name: IPA_BUILDER_BRANCH
+ default: 'master'
+ description: 'Ironic Python Agent builder repository tool branch'
+ - string:
+ name: IPA_BUILDER_COMMIT
+ default: 'HEAD'
+ description: 'Ironic Python Agent builder repository tool commit'
+ - string:
+ name: METAL3_DEV_ENV_BRANCH
+ default: 'master'
+ description: 'Metal3 dev env repository branch'
+ - string:
+ name: METAL3_DEV_ENV_COMMIT
+ default: 'HEAD'
+ description: 'Metal3 dev env repository commit'
+ - 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: STAGING
+ default: 'false'
+ description: 'Configures IPA builder upload mode (staging/review)'
+
+ 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-ipa(\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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ status-context: "test-ipa"
+ 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/jobs/openstack_ipa_and_ironic_image_building.pipeline"
+ lightweight-checkout: False
diff --git a/jjb/metal3/job_keep_integration_vm_v1a5_centos.yml b/jjb/metal3/job_keep_integration_vm_v1a5_centos.yml
new file mode 100644
index 0000000..8e48a45
--- /dev/null
+++ b/jjb/metal3/job_keep_integration_vm_v1a5_centos.yml
@@ -0,0 +1,128 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3)
+# keeping integration test vm.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: keep_v1a5_test_centos_alive
+ name: '{job_prefix}_{name}_keep_v1a5_test_centos_alive'
+ description: "CAPM3 v1alpha5 integration tests for keeping the vm 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: ghprbTargetBranch
+ default: 'master'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'centos'
+ description: 'Distribution to use for the tests. Can be ubuntu or centos'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1alpha4'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1alpha5'
+ description: 'Cluster API provider Metal3 version.'
+ - string:
+ name: TARGET_NODE_OS
+ default: 'Centos'
+ description: 'Distribution to use for the target host.'
+ - string:
+ name: TARGET_NODE_MEMORY
+ default: 4096
+ description: 'RAM size of the target host.'
+ - string:
+ name: SKIP_DELETION
+ default: 'true'
+ description: 'Whether tester VM should be deleted or not by the end of the test'
+
+ 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)?/keep-test-v1a5-centos-integration(\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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ - 'release-0.5'
+ - 'release-0.1'
+ status-context: "keep-test-v1a5-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|main}'
+ 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/metal3/job_keep_integration_vm_v1a5_ubuntu.yml b/jjb/metal3/job_keep_integration_vm_v1a5_ubuntu.yml
new file mode 100644
index 0000000..fa02bd3
--- /dev/null
+++ b/jjb/metal3/job_keep_integration_vm_v1a5_ubuntu.yml
@@ -0,0 +1,128 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3)
+# keeping integration test vm.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: keep_v1a5_test_ubuntu_alive
+ name: '{job_prefix}_{name}_keep_v1a5_test_ubuntu_alive'
+ description: "CAPM3 v1alpha5 integration tests for keeping the vm 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: ghprbTargetBranch
+ default: 'master'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'ubuntu'
+ description: 'Distribution to use for the tests. Can be ubuntu or centos'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1alpha4'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1alpha5'
+ description: 'Cluster API provider Metal3 version.'
+ - 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.'
+ - string:
+ name: SKIP_DELETION
+ default: 'true'
+ description: 'Whether tester VM should be deleted or not by the end of the test'
+
+ 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)?/keep-test-v1a5-integration(\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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ - 'release-0.5'
+ - 'release-0.1'
+ status-context: "keep-test-v1a5-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|main}'
+ 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/metal3/job_keep_integration_vm_v1b1_centos.yml b/jjb/metal3/job_keep_integration_vm_v1b1_centos.yml
new file mode 100644
index 0000000..4e77549
--- /dev/null
+++ b/jjb/metal3/job_keep_integration_vm_v1b1_centos.yml
@@ -0,0 +1,126 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3)
+# keeping integration test vm.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: keep_v1b1_test_centos_alive
+ name: '{job_prefix}_{name}_keep_v1b1_test_centos_alive'
+ description: "CAPM3 v1beta1 integration tests for keeping the vm 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: 'main'
+ 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: 'main'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'centos'
+ description: 'Distribution to use for the tests. Can be ubuntu or centos'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API provider Metal3 version.'
+ - string:
+ name: TARGET_NODE_OS
+ default: 'Centos'
+ description: 'Distribution to use for the target host.'
+ - string:
+ name: TARGET_NODE_MEMORY
+ default: 4096
+ description: 'RAM size of the target host.'
+ - string:
+ name: SKIP_DELETION
+ default: 'true'
+ description: 'Whether tester VM should be deleted or not by the end of the test'
+
+ 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)?/keep-test-v1b1-centos-integration(\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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ status-context: "keep-test-v1b1-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|main}'
+ 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
\ No newline at end of file
diff --git a/jjb/metal3/job_keep_integration_vm_v1b1_ubuntu.yml b/jjb/metal3/job_keep_integration_vm_v1b1_ubuntu.yml
new file mode 100644
index 0000000..9bf928c
--- /dev/null
+++ b/jjb/metal3/job_keep_integration_vm_v1b1_ubuntu.yml
@@ -0,0 +1,126 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3)
+# keeping integration test vm.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: keep_v1b1_test_ubuntu_alive
+ name: '{job_prefix}_{name}_keep_v1b1_test_ubuntu_alive'
+ description: "CAPM3 v1beta1 integration tests for keeping the vm 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: 'main'
+ 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: 'main'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'ubuntu'
+ description: 'Distribution to use for the tests. Can be ubuntu or centos'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API provider Metal3 version.'
+ - 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.'
+ - string:
+ name: SKIP_DELETION
+ default: 'true'
+ description: 'Whether tester VM should be deleted or not by the end of the test'
+
+ 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)?/keep-test-v1b1-integration(\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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ status-context: "keep-test-v1b1-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|main}'
+ 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
\ No newline at end of file
diff --git a/jjb/metal3/job_linter_tests.yml b/jjb/metal3/job_linter_tests.yml
new file mode 100644
index 0000000..3d48d58
--- /dev/null
+++ b/jjb/metal3/job_linter_tests.yml
@@ -0,0 +1,93 @@
+---
+#
+# ============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 linter tests.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Nordix/metal3-dev-tools repository.
+
+- job-template:
+ id: linter_tests
+ name: '{job_prefix}_{name}_linter_test'
+ description: "Code linting tests for {repo[org]}/{repo[name]}. "
+ 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'
+
+ 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: '/lint'
+ 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: True
+ white-list-target-branches:
+ - master
+ - main
+ status-context: "linter-tests"
+ 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/jobs/{id}.pipeline'
+ lightweight-checkout: False
diff --git a/jjb/metal3/job_master_clean.yml b/jjb/metal3/job_master_clean.yml
new file mode 100644
index 0000000..a8cac1c
--- /dev/null
+++ b/jjb/metal3/job_master_clean.yml
@@ -0,0 +1,77 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3) integration tests
+# cleanup.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: master_clean
+ name: '{job_prefix}_master_integration_tests_cleanup'
+ description: "K8s CAPM3 integration tests cleanup"
+ 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: 'main'
+ 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'
+
+ properties:
+ - build-discarder:
+ days-to-keep: 30
+ num-to-keep: 300
+ artifact-days-to-keep: -1
+ artifact-num-to-keep: -1
+
+ triggers:
+ - timed: "0 */6 * * *"
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - '{branch|main}'
+ 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
\ No newline at end of file
diff --git a/jjb/metal3/job_master_feature_tests_centos.yml b/jjb/metal3/job_master_feature_tests_centos.yml
new file mode 100644
index 0000000..598a86d
--- /dev/null
+++ b/jjb/metal3/job_master_feature_tests_centos.yml
@@ -0,0 +1,109 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3)
+# feature tests.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: master_feature_tests_centos
+ name: '{job_prefix}_master_feature_tests_centos'
+ description: "Pivoting and Remediation tests 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: ghprbTargetBranch
+ default: 'master'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'centos'
+ description: 'Distribution to use for the tests.'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API provider Metal3 version.'
+ - string:
+ name: TARGET_NODE_OS
+ default: 'Centos'
+ description: 'Distribution to use for the target host.'
+ - string:
+ name: TARGET_NODE_MEMORY
+ default: 4096
+ 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_centos"
+ description: 'Tests for pivoting 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: "H 17 * * *"
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - '{branch|main}'
+ 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/metal3/job_master_feature_tests_ubuntu.yml b/jjb/metal3/job_master_feature_tests_ubuntu.yml
new file mode 100644
index 0000000..9a8fcbf
--- /dev/null
+++ b/jjb/metal3/job_master_feature_tests_ubuntu.yml
@@ -0,0 +1,109 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3)
+# feature tests.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: master_feature_tests_ubuntu
+ name: '{job_prefix}_master_feature_tests_ubuntu'
+ description: "Pivoting and 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: 'v1beta1'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API provider Metal3 version.'
+ - 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.'
+ - string:
+ name: NUM_NODES
+ default: 4
+ description: 'Number of libvirt VMs.'
+ - string:
+ name: TESTS_FOR
+ default: "feature_tests"
+ description: 'Tests for pivoting 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: "H 17 * * *"
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - '{branch|main}'
+ 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/metal3/job_master_feature_tests_upgrade_ubuntu.yml b/jjb/metal3/job_master_feature_tests_upgrade_ubuntu.yml
new file mode 100644
index 0000000..d4cc7a8
--- /dev/null
+++ b/jjb/metal3/job_master_feature_tests_upgrade_ubuntu.yml
@@ -0,0 +1,115 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3)
+# feature upgrade tests.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
+
+- job-template:
+ id: master_feature_tests_upgrade_ubuntu
+ name: '{job_prefix}_master_feature_tests_upgrade_ubuntu'
+ description: "Upgrade 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: 'v1alpha4'
+ description: 'Cluster API version.'
+ - string:
+ name: CAPIRELEASE
+ description: 'Cluster API release tag to upgrade from, e.g. v1.0.0'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1alpha5'
+ description: 'Cluster API provider Metal3 version.'
+ - string:
+ name: CAPM3RELEASE
+ description: 'CAPM3 release tag to upgrade from, e.g. v1.0.0'
+ - 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.'
+ - string:
+ name: NUM_NODES
+ default: 4
+ description: 'Number of libvirt VMs.'
+ - string:
+ name: TESTS_FOR
+ default: "feature_tests_upgrade"
+ description: 'Tests for upgrade.'
+
+ properties:
+ - build-discarder:
+ days-to-keep: 30
+ num-to-keep: 300
+ artifact-days-to-keep: -1
+ artifact-num-to-keep: -1
+
+ triggers:
+ - timed: "H 17 * * *"
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - '{branch|main}'
+ 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/metal3/job_metal3_dev_tools_integration_test_centos.yml b/jjb/metal3/job_metal3_dev_tools_integration_test_centos.yml
new file mode 100644
index 0000000..746ad6e
--- /dev/null
+++ b/jjb/metal3/job_metal3_dev_tools_integration_test_centos.yml
@@ -0,0 +1,126 @@
+---
+#
+# ============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 Cluster API Provider Metal3 (CAPM3)
+# dev tools 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 Nordix/metal3-dev-tools repository.
+
+- job-template:
+ id: metal3_dev_tools_integration_test_centos
+ name: 'metal3_dev_tools_integration_test_centos'
+ description: "CAPM3 v1beta1 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: ghprbTargetBranch
+ default: 'master'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'centos'
+ description: 'Distribution to use for the tests. Can be ubuntu or centos'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API version. Can be v1alpha4.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API provider Metal3 version. Can be v1alpha5 or v1alpha4.'
+ - string:
+ name: TARGET_NODE_OS
+ default: 'Centos'
+ description: 'Distribution to use for the target host.'
+ - string:
+ name: TARGET_NODE_MEMORY
+ default: 4096
+ description: 'RAM size of the target host.'
+ - string:
+ name: KUBERNETES_VERSION
+ default: "v1.23.3"
+ description: 'Kubernetes version'
+
+ 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-integration-metal3-centos(\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: True
+ white-list-target-branches:
+ - 'master'
+ - 'main'
+ status-context: "test-integration-metal3-centos"
+ 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/jobs/metal3_dev_tools_integration_tests.pipeline'
+ lightweight-checkout: False
diff --git a/jjb/metal3/job_metal3_dev_tools_integration_test_ubuntu.yml b/jjb/metal3/job_metal3_dev_tools_integration_test_ubuntu.yml
new file mode 100644
index 0000000..ed244ed
--- /dev/null
+++ b/jjb/metal3/job_metal3_dev_tools_integration_test_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 Cluster API Provider Metal3 (CAPM3)
+# dev tools 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 Nordix/metal3-dev-tools repository.
+
+- job-template:
+ id: metal3_dev_tools_integration_test_ubuntu
+ name: 'metal3_dev_tools_integration_test_ubuntu'
+ description: "CAPM3 v1beta1 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: ghprbTargetBranch
+ default: 'master'
+ description: 'Target branch of the PR'
+ - string:
+ name: DISTRIBUTION
+ default: 'ubuntu'
+ description: 'Distribution to use for the tests. Can be ubuntu or centos'
+ - string:
+ name: CAPI_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API version. Can be v1alpha4.'
+ - string:
+ name: CAPM3_VERSION
+ default: 'v1beta1'
+ description: 'Cluster API provider Metal3 version. Can be v1alpha5 or v1alpha4.'
+ - 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.'
+ - string:
+ name: KUBERNETES_VERSION
+ default: "v1.23.3"
+ description: 'Kubernetes version'
+
+ 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-integration-metal3-ubuntu(\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: True
+ white-list-target-branches:
+ - 'master'
+ status-context: "test-integration-metal3-ubuntu"
+ 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/jobs/metal3_dev_tools_integration_tests.pipeline'
+ lightweight-checkout: False
diff --git a/jjb/metal3/job_openstack_image_building.yml b/jjb/metal3/job_openstack_image_building.yml
new file mode 100644
index 0000000..add69a9
--- /dev/null
+++ b/jjb/metal3/job_openstack_image_building.yml
@@ -0,0 +1,68 @@
+---
+#
+# ============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 Openstack image building tests.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Nordix/metal3-dev-tools repository.
+
+- job-template:
+ id: openstack_image_building
+ name: '{job_prefix}_openstack_image_building'
+ description: "Builder job for Openstack images for Metal3 CI"
+ project-type: pipeline
+ defaults: global
+ disabled: False
+ concurrent: True
+ parameters:
+ - string:
+ name: KUBERNETES_VERSION
+ default: "v1.23.3"
+ description: 'Kubernetes version'
+ - string:
+ name: KIND_NODE_IMAGE_VERSION
+ default: "v1.23.3"
+ description: 'Kind node container image version'
+
+ 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:
+ - 'master'
+ name: 'origin'
+ refspec: '+refs/heads/*:refs/remotes/origin/*'
+ wipe-workspace: True
+ honor-refspec: True
+ shallow-clone: False
+ script-path: 'ci/jobs/{id}.pipeline'
+ lightweight-checkout: False
diff --git a/jjb/metal3/job_openstack_node_image_building.yml b/jjb/metal3/job_openstack_node_image_building.yml
new file mode 100644
index 0000000..6c3cc5c
--- /dev/null
+++ b/jjb/metal3/job_openstack_node_image_building.yml
@@ -0,0 +1,68 @@
+---
+#
+# ============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 node image building tests tests.
+# This job can be triggered manually or through a Github pull request. It creates a
+# pipeline job. The pipeline scripts are maintained in Nordix/metal3-dev-tools repository.
+
+- job-template:
+ id: openstack_node_image_building
+ name: '{job_prefix}_openstack_node_image_building'
+ description: "Builder job for Openstack node images for Metal3 CI"
+ project-type: pipeline
+ defaults: global
+ disabled: False
+ concurrent: True
+ parameters:
+ - string:
+ name: KUBERNETES_VERSION
+ default: "v1.23.3"
+ description: 'Kubernetes version'
+
+ properties:
+ - build-discarder:
+ days-to-keep: 30
+ num-to-keep: 300
+ artifact-days-to-keep: -1
+ artifact-num-to-keep: -1
+
+ triggers:
+ - timed: "0 5 */15 * *"
+ - github
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - 'master'
+ name: 'origin'
+ refspec: '+refs/heads/*:refs/remotes/origin/*'
+ wipe-workspace: True
+ honor-refspec: True
+ shallow-clone: False
+ included-regions:
+ - "ci/images/.*"
+ - "ci/scripts/image_scripts/.*"
+ script-path: 'ci/jobs/{id}.pipeline'
+ lightweight-checkout: False
diff --git a/jjb/metal3/job_update_nordix_artifacts.yml b/jjb/metal3/job_update_nordix_artifacts.yml
new file mode 100644
index 0000000..c24359e
--- /dev/null
+++ b/jjb/metal3/job_update_nordix_artifacts.yml
@@ -0,0 +1,60 @@
+---
+#
+# ============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 updating Nordix Artifactory
+# from upstream artifacts. This job can be triggered manually but is intended
+# to run on a schedule request. It creates a pipeline job. The pipeline scripts
+# are maintained in Nordix/metal3-dev-tools repository.
+
+- job-template:
+ id: update_nordix_artifacts
+ name: '{job_prefix}_{name}_artifacts'
+ description: "Update Nordix artifacts in Artifactory"
+ project-type: pipeline
+ defaults: global
+ disabled: False
+ concurrent: True
+ properties:
+ - build-discarder:
+ days-to-keep: 30
+ num-to-keep: 300
+ artifact-days-to-keep: -1
+ artifact-num-to-keep: -1
+
+ triggers:
+ # Run once a week on Monday mornings.
+ - timed: "H 6 * * 1"
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - 'master'
+ name: 'origin'
+ refspec: '+refs/heads/*:refs/remotes/origin/*'
+ wipe-workspace: True
+ honor-refspec: True
+ shallow-clone: False
+ script-path: 'ci/jobs/update_nordix_artifacts.pipeline'
+ lightweight-checkout: False
diff --git a/jjb/metal3/job_update_nordix_repos.yml b/jjb/metal3/job_update_nordix_repos.yml
new file mode 100644
index 0000000..e3ad1f8
--- /dev/null
+++ b/jjb/metal3/job_update_nordix_repos.yml
@@ -0,0 +1,59 @@
+---
+#
+# ============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 updating Nordix repositories
+# from upstream. This job can be triggered manually or through a Github pull
+# request. It creates a pipeline job. The pipeline scripts are maintained in
+# Nordix/metal3-dev-tools repository.
+
+- job-template:
+ id: update_nordix_repos
+ name: '{job_prefix}_{name}_repos'
+ description: "Update Nordix repositories, synchronize with upstream."
+ project-type: pipeline
+ defaults: global
+ disabled: False
+ concurrent: True
+ properties:
+ - build-discarder:
+ days-to-keep: 30
+ num-to-keep: 300
+ artifact-days-to-keep: -1
+ artifact-num-to-keep: -1
+
+ triggers:
+ - timed: "H/30 * * * *"
+
+ pipeline-scm:
+ scm:
+ - git:
+ url: "{ci_github_repo}"
+ credentials-id: "{ci_github_jenkins_credentials_id}"
+ branches:
+ - 'master'
+ name: 'origin'
+ refspec: '+refs/heads/*:refs/remotes/origin/*'
+ wipe-workspace: True
+ honor-refspec: True
+ shallow-clone: False
+ script-path: 'ci/jobs/update_nordix_repos.pipeline'
+ lightweight-checkout: False
diff --git a/jjb/metal3/projects.yml b/jjb/metal3/projects.yml
new file mode 100644
index 0000000..b024934
--- /dev/null
+++ b/jjb/metal3/projects.yml
@@ -0,0 +1,205 @@
+---
+#
+# ============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 the list of JJB projects in metal3 category. Each project
+# corresponds to a github repository. Under each project's 'jobs' list defines the
+# jobs associated with that github repository. The job definitions can be found
+# in job_{job_id}.yml files in any of JJB include folders.
+
+- project:
+ name: 'nordix_dev_tools'
+ branch: '${{ghprbActualCommit}}'
+ ci_github_whitelist_org:
+ - nordix-metal3
+ jobs:
+ - linter_tests
+ - openstack_image_building
+ - docker_image_building
+ - update_nordix_artifacts
+ - update_nordix_repos
+ - openstack_node_image_building
+ - openstack_ipa_and_ironic_image_building
+ - metal3_ipa_and_ironic_image_building_test
+ - metal3_dev_tools_integration_test_centos
+ - metal3_dev_tools_integration_test_ubuntu
+ - artifactory_cleanup
+ repo:
+ org: "Nordix"
+ name: "metal3-dev-tools"
+ 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/metal3-dev-tools.git'
+
+- project:
+ name: 'metal3io_project_infra'
+ branch: '${{ghprbActualCommit}}'
+ repo:
+ org: "metal3-io"
+ name: "project-infra"
+ ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
+ jobs:
+ - capm3_v1a4_integration_tests_centos
+ - capm3_v1a4_integration_tests_ubuntu
+ - capm3_v1a5_integration_tests_centos
+ - capm3_v1a5_integration_tests_ubuntu
+ - capm3_v1b1_integration_tests_centos
+ - capm3_v1b1_integration_tests_ubuntu
+ - feature_tests_ubuntu
+ - feature_tests_centos
+ - feature_tests_upgrade_ubuntu
+ - bml_integration_tests_centos
+ - keep_v1b1_test_ubuntu_alive
+ - keep_v1b1_test_centos_alive
+ - keep_v1a5_test_ubuntu_alive
+ - keep_v1a5_test_centos_alive
+
+- project:
+ name: 'metal3io_project_infra_cleanup'
+ repo:
+ org: "metal3-io"
+ name: "project-infra"
+ ci_github_pipeline: 'jenkins/jobs/integration_tests_clean.pipeline'
+ jobs:
+ - master_clean
+
+- project:
+ name: "metal3io_bmo"
+ repo:
+ org: "metal3-io"
+ name: "baremetal-operator"
+ jobs:
+ - capm3_v1a4_integration_tests_centos
+ - capm3_v1a4_integration_tests_ubuntu
+ - capm3_v1a5_integration_tests_centos
+ - capm3_v1a5_integration_tests_ubuntu
+ - capm3_v1b1_integration_tests_centos
+ - capm3_v1b1_integration_tests_ubuntu
+ - keep_v1b1_test_ubuntu_alive
+ - keep_v1b1_test_centos_alive
+ - keep_v1a5_test_ubuntu_alive
+ - keep_v1a5_test_centos_alive
+ - feature_tests_ubuntu
+
+- project:
+ name: "metal3io_ipam"
+ repo:
+ org: "metal3-io"
+ name: "ip-address-manager"
+ jobs:
+ - capm3_v1a4_integration_tests_centos
+ - capm3_v1a4_integration_tests_ubuntu
+ - capm3_v1a5_integration_tests_centos
+ - capm3_v1a5_integration_tests_ubuntu
+ - capm3_v1b1_integration_tests_centos
+ - capm3_v1b1_integration_tests_ubuntu
+ - keep_v1b1_test_ubuntu_alive
+ - keep_v1b1_test_centos_alive
+ - keep_v1a5_test_ubuntu_alive
+ - keep_v1a5_test_centos_alive
+
+- project:
+ name: "metal3io_metal3_dev_env"
+ jobs:
+ - capm3_v1a4_integration_tests_centos
+ - capm3_v1a4_integration_tests_ubuntu
+ - capm3_v1a4_master_integration_tests_centos
+ - capm3_v1a4_master_integration_tests_ubuntu
+ - capm3_v1a5_integration_tests_centos
+ - capm3_v1a5_integration_tests_ubuntu
+ - capm3_v1a5_master_integration_tests_centos
+ - capm3_v1a5_master_integration_tests_ubuntu
+ - capm3_v1b1_integration_tests_centos
+ - capm3_v1b1_integration_tests_ubuntu
+ - capm3_v1b1_master_integration_tests_centos
+ - capm3_v1b1_master_integration_tests_ubuntu
+ - feature_tests_ubuntu
+ - feature_tests_centos
+ - feature_tests_upgrade_ubuntu
+ - master_feature_tests_ubuntu
+ - master_feature_tests_centos
+ - master_feature_tests_upgrade_ubuntu
+ - bml_integration_tests_centos
+ - bml_master_integration_tests_centos
+ - keep_v1b1_test_ubuntu_alive
+ - keep_v1b1_test_centos_alive
+ - keep_v1a5_test_ubuntu_alive
+ - keep_v1a5_test_centos_alive
+
+ repo:
+ org: "metal3-io"
+ name: "metal3-dev-env"
+
+- project:
+ name: "metal3io_capi_m3"
+ repo:
+ org: "metal3-io"
+ name: "cluster-api-provider-metal3"
+ jobs:
+ - capm3_v1a4_integration_tests_centos
+ - capm3_v1a4_integration_tests_ubuntu
+ - capm3_v1a5_integration_tests_centos
+ - capm3_v1a5_integration_tests_ubuntu
+ - capm3_v1a5_e2e_tests_ubuntu
+ - capm3_v1a5_e2e_tests_centos
+ - capm3_v1a5_master_e2e_tests_ubuntu
+ - capm3_v1a5_master_e2e_tests_centos
+ - capm3_v1b1_integration_tests_centos
+ - capm3_v1b1_integration_tests_ubuntu
+ - capm3_v1b1_e2e_tests_centos
+ - capm3_v1b1_e2e_tests_ubuntu
+ - capm3_v1b1_e2e_upgrade_tests_ubuntu
+ - capm3_v1b1_master_e2e_tests_centos
+ - capm3_v1b1_master_e2e_tests_ubuntu
+ - keep_v1b1_test_ubuntu_alive
+ - keep_v1b1_test_centos_alive
+ - keep_v1a5_test_ubuntu_alive
+ - keep_v1a5_test_centos_alive
+
+
+- project:
+ name: "metal3io_ironic_image"
+ repo:
+ org: "metal3-io"
+ name: "ironic-image"
+ jobs:
+ - capm3_v1a4_integration_tests_centos
+ - capm3_v1a4_integration_tests_ubuntu
+ - capm3_v1a5_integration_tests_centos
+ - capm3_v1a5_integration_tests_ubuntu
+ - capm3_v1b1_integration_tests_centos
+ - capm3_v1b1_integration_tests_ubuntu
+ - keep_v1b1_test_ubuntu_alive
+ - keep_v1b1_test_centos_alive
+ - keep_v1a5_test_ubuntu_alive
+ - keep_v1a5_test_centos_alive
+
+- project:
+ name: "metal3io_ironic_ipa_downloader"
+ repo:
+ org: "metal3-io"
+ name: "ironic-ipa-downloader"
+ jobs:
+ - capm3_v1a4_integration_tests_ubuntu
+ - capm3_v1a5_integration_tests_ubuntu
+ - capm3_v1b1_integration_tests_centos
+ - capm3_v1b1_integration_tests_ubuntu