introduce the metal3 fullstack building tests 28/15428/1
authorRozzii <adam.rozman@est.tech>
Tue, 4 Oct 2022 08:08:51 +0000 (11:08 +0300)
committerRozzii <adam.rozman@est.tech>
Tue, 4 Oct 2022 08:11:17 +0000 (11:11 +0300)
The fullstack jobs will replace the ipa-ironc test jobs.

Change-Id: Ia4fda73fe5259bf07901f99e640db3e523635d8a

jjb/metal3/job_fullstack_building_test.yml [moved from jjb/metal3/job_ipa_image_building_test.yml with 56% similarity]
jjb/metal3/job_main_fullstack_building.yml [new file with mode: 0644]
jjb/metal3/job_main_ipa_image_building.yml [deleted file]
jjb/metal3/projects.yml

similarity index 56%
rename from jjb/metal3/job_ipa_image_building_test.yml
rename to jjb/metal3/job_fullstack_building_test.yml
index 231d22734ee02eb65b1028d710c50a3884a12d8b..81a22df46d1a8d8e389cfb3e117321df604191ff 100644 (file)
 
 # 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.
+# This file contains job template definition for building the full stack of Metal3
+# from source. 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'
+    id: fullstack_building_test
+    name: '{job_prefix}_fullstack_building_test'
     description: "IPA and Ironic image building test."
     project-type: pipeline
     defaults: global
     - string:
         name: IRONIC_IMAGE_REPO_COMMIT
         default: 'HEAD'
-        description: 'Ironic Image repository commit hash to build'
+        description: 'Metal3 Ironic image Git repository commit hash to build'
     - string:
         name: IRONIC_IMAGE_BRANCH
         default: 'main'
-        description: 'Ironic image repository branch to build'
+        description: 'Metal3 Ironic image Git 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
+        name: IPA_REPO
+        default: 'https://opendev.org/openstack/ironic-python-agent.git'
+        description: "The default Git repository of IPA"
+    - string:
+        name: IPA_REF
         default: 'HEAD'
-        description: 'Ironic Python Agent repository commit hash to build'
+        description: 'Ironic Python Agent repository reference to use for the build. Example: refs/changes/84/800084/22'
     - 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'
+        name: IPA_BUILDER_REPO
+        default: 'https://opendev.org/openstack/ironic-python-agent-builder.git'
+        description: 'Ironic Python Agent builder Git repository'
     - string:
         name: IPA_BUILDER_BRANCH
         default: 'master'
-        description: 'Ironic Python Agent builder repository tool branch'
+        description: 'Ironic Python Agent builder Git repository tool branch'
     - string:
         name: IPA_BUILDER_COMMIT
         default: 'HEAD'
-        description: 'Ironic Python Agent builder repository tool commit'
+        description: 'Ironic Python Agent builder Git repository tool commit'
+    - string:
+        name: METAL3_DEV_ENV_REPO
+        default: 'https://github.com/metal3-io/metal3-dev-env.git'
+        description: 'The Git repository of metal3-dev-env'
     - string:
         name: METAL3_DEV_ENV_BRANCH
         default: 'main'
-        description: 'Metal3 dev env repository branch'
+        description: 'Metal3 dev-env Git repository branch'
     - string:
         name: METAL3_DEV_ENV_COMMIT
         default: 'HEAD'
-        description: 'Metal3 dev env repository commit'
+        description: 'Metal3 dev-env Git repository commit'
+    - bool:
+        name: BUILD_BMO_LOCALLY
+        default: true
+        description: 'Enable or disable BMO local building (enabled by default)'
+    - bool:
+        name: BUILD_CAPM3_LOCALLY
+        default: true
+        description: 'Enable or disable CAPM3 local building (enabled by default)'
+    - bool:
+        name: BUILD_IPAM_LOCALLY
+        default: true
+        description: 'Enable or disable IPAM local building (enabled by default)'
+    - bool:
+        name: BUILD_CAPI_LOCALLY
+        default: false
+        description: 'Enable or disable CAPI local building (disabled by default)'
+    - string:
+        name: BMO_REPO
+        default: 'https://github.com/metal3-io/baremetal-operator.git'
+        description: 'The Git reposiotry used to build BMO'
+    - string:
+        name: BMO_BRANCH
+        default: 'main'
+        description: 'Bare Metal Operator Git repository branch to build'
+    - string:
+        name: BMO_COMMIT
+        default: 'HEAD'
+        description: 'Cluster API provider Metal3 Git repository commit hash to build'
+    - string:
+        name: CAPM3_REPO
+        default: 'https://github.com/metal3-io/baremetal-operator.git'
+        description: 'The Git reposiotry used to build Cluster API provider Metal3'
+    - string:
+        name: CAPM3_BRANCH
+        default: 'main'
+        description: 'Cluster API provider Metal3 Git repository branch to build'
+    - string:
+        name: CAPM3_COMMIT
+        default: 'HEAD'
+        description: 'Cluster API provider Metal3 Git repository commit hash to build'
+    - string:
+        name: IPAM_REPO
+        default: 'https://github.com/metal3-io/ip-address-manager.git'
+        description: 'IP Address Manager Git repository branch to build'
+    - string:
+        name: IPAM_BRANCH
+        default: 'main'
+        description: 'IP Address Manager Git repository branch to build'
+    - string:
+        name: IPAM_COMMIT
+        default: 'HEAD'
+        description: 'IP Address Manager Git repository commit hash to build'
+    - string:
+        name: CAPI_REPO
+        default: 'https://github.com/kubernetes-sigs/cluster-api.git'
+        description: 'Cluster API Git repository branch to build'
+    - string:
+        name: CAPI_BRANCH
+        default: 'main'
+        description: 'Cluster API Git repository branch to build'
+    - string:
+        name: CAPI_COMMIT
+        default: 'HEAD'
+        description: 'Cluster API Git repository commit hash to build'
     - string:
         name: PROJECT_REPO_ORG
         default: '{repo[org]}'
diff --git a/jjb/metal3/job_main_fullstack_building.yml b/jjb/metal3/job_main_fullstack_building.yml
new file mode 100644 (file)
index 0000000..b5d06e0
--- /dev/null
@@ -0,0 +1,188 @@
+---
+#
+# ============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 building the whole Metal3 stack
+# from source. 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: main_fullstack_building
+    name: '{job_prefix}_daily_main_fullstack_building'
+    description: "Build and test a Metal3 cluster stack from source."
+    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: 'Metal3 Ironic image Git repository commit hash to build'
+    - string:
+        name: IRONIC_IMAGE_BRANCH
+        default: 'main'
+        description: 'Metal3 Ironic image Git 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_REPO
+        default: 'https://opendev.org/openstack/ironic-python-agent.git'
+        description: "The default Git repository of IPA"
+    - string:
+        name: IPA_REF
+        default: 'HEAD'
+        description: 'Ironic Python Agent repository reference to use for the build. Example: refs/changes/84/800084/22'
+    - string:
+        name: IPA_BRANCH
+        default: 'master'
+        description: 'Ironic Python Agent repository branch to build'
+    - string:
+        name: IPA_BUILDER_REPO
+        default: 'https://opendev.org/openstack/ironic-python-agent-builder.git'
+        description: 'Ironic Python Agent builder Git repository'
+    - string:
+        name: IPA_BUILDER_BRANCH
+        default: 'master'
+        description: 'Ironic Python Agent builder Git repository tool branch'
+    - string:
+        name: IPA_BUILDER_COMMIT
+        default: 'HEAD'
+        description: 'Ironic Python Agent builder Git repository tool commit'
+    - string:
+        name: METAL3_DEV_ENV_REPO
+        default: 'https://github.com/metal3-io/metal3-dev-env.git'
+        description: 'The Git repository of metal3-dev-env'
+    - string:
+        name: METAL3_DEV_ENV_BRANCH
+        default: 'main'
+        description: 'Metal3 dev-env Git repository branch'
+    - string:
+        name: METAL3_DEV_ENV_COMMIT
+        default: 'HEAD'
+        description: 'Metal3 dev-env Git repository commit'
+    - bool:
+        name: BUILD_BMO_LOCALLY
+        default: true
+        description: 'Enable or disable BMO local building (enabled by default)'
+    - bool:
+        name: BUILD_CAPM3_LOCALLY
+        default: true
+        description: 'Enable or disable CAPM3 local building (enabled by default)'
+    - bool:
+        name: BUILD_IPAM_LOCALLY
+        default: true
+        description: 'Enable or disable IPAM local building (enabled by default)'
+    - bool:
+        name: BUILD_CAPI_LOCALLY
+        default: false
+        description: 'Enable or disable CAPI local building (disabled by default)'
+    - string:
+        name: BMO_REPO
+        default: 'https://github.com/metal3-io/baremetal-operator.git'
+        description: 'The Git reposiotry used to build BMO'
+    - string:
+        name: BMO_BRANCH
+        default: 'main'
+        description: 'Bare Metal Operator Git repository branch to build'
+    - string:
+        name: BMO_COMMIT
+        default: 'HEAD'
+        description: 'Cluster API provider Metal3 Git repository commit hash to build'
+    - string:
+        name: CAPM3_REPO
+        default: 'https://github.com/metal3-io/baremetal-operator.git'
+        description: 'The Git reposiotry used to build Cluster API provider Metal3'
+    - string:
+        name: CAPM3_BRANCH
+        default: 'main'
+        description: 'Cluster API provider Metal3 Git repository branch to build'
+    - string:
+        name: CAPM3_COMMIT
+        default: 'HEAD'
+        description: 'Cluster API provider Metal3 Git repository commit hash to build'
+    - string:
+        name: IPAM_REPO
+        default: 'https://github.com/metal3-io/ip-address-manager.git'
+        description: 'IP Address Manager Git repository branch to build'
+    - string:
+        name: IPAM_BRANCH
+        default: 'main'
+        description: 'IP Address Manager Git repository branch to build'
+    - string:
+        name: IPAM_COMMIT
+        default: 'HEAD'
+        description: 'IP Address Manager Git repository commit hash to build'
+    - string:
+        name: CAPI_REPO
+        default: 'https://github.com/kubernetes-sigs/cluster-api.git'
+        description: 'Cluster API Git repository branch to build'
+    - string:
+        name: CAPI_BRANCH
+        default: 'main'
+        description: 'Cluster API Git repository branch to build'
+    - string:
+        name: CAPI_COMMIT
+        default: 'HEAD'
+        description: 'Cluster API Git repository commit hash to build'
+    - 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:
+            - 'main'
+          name: 'origin'
+          refspec: '+refs/heads/*:refs/remotes/origin/*'
+          wipe-workspace: True
+          honor-refspec: True
+          shallow-clone: False
+          included-regions:
+                - "ci/scripts/image_scripts/ipa_builder_elements/.*"
+                - "ci/scripts/image_scripts/build_ipa.sh"
+                - "ci/scripts/image_scripts/run_build_ironic.sh"
+                - "ci/scripts/image_scripts/start_centos_ipa_ironic_build.sh"
+      script-path: "ci/jobs/openstack_ipa_and_ironic_image_building.pipeline"
+      lightweight-checkout: False
diff --git a/jjb/metal3/job_main_ipa_image_building.yml b/jjb/metal3/job_main_ipa_image_building.yml
deleted file mode 100644 (file)
index f468257..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
----
-#
-# ============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: main_openstack_ipa_and_ironic_image_building
-    name: '{job_prefix}_daily_main_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: 'main'
-        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:
-            - 'main'
-          name: 'origin'
-          refspec: '+refs/heads/*:refs/remotes/origin/*'
-          wipe-workspace: True
-          honor-refspec: True
-          shallow-clone: False
-          included-regions:
-                - "ci/scripts/image_scripts/ipa_builder_elements/.*"
-                - "ci/scripts/image_scripts/build_ipa.sh"
-                - "ci/scripts/image_scripts/run_build_ironic.sh"
-                - "ci/scripts/image_scripts/start_centos_ipa_ironic_build.sh"
-      script-path: "ci/jobs/openstack_ipa_and_ironic_image_building.pipeline"
-      lightweight-checkout: False
index 4bc842f090b3758eef8d8468dd7e74ed5d7b5576..d54960bd4a7b78313da0c5d1a70bb801f8b3aa47 100644 (file)
@@ -37,8 +37,8 @@
     - docker_image_building
     - update_nordix_repos
     - openstack_node_image_building
-    - main_openstack_ipa_and_ironic_image_building
-    - metal3_ipa_and_ironic_image_building_test
+    - main_fullstack_building
+    - fullstack_building_test
     - metal3_dev_tools_integration_test:
         image_os:
           - ubuntu