Merge "Add(separate) e2e k8s upgrade tests"
diff --git a/jjb/metal3/job_capm3_e2e_upgrade_tests.yml b/jjb/metal3/job_capm3_e2e_clusterctl_upgrade_tests.yml
similarity index 94%
rename from jjb/metal3/job_capm3_e2e_upgrade_tests.yml
rename to jjb/metal3/job_capm3_e2e_clusterctl_upgrade_tests.yml
index f4bd132..9edba6c 100644
--- a/jjb/metal3/job_capm3_e2e_upgrade_tests.yml
+++ b/jjb/metal3/job_capm3_e2e_clusterctl_upgrade_tests.yml
@@ -20,13 +20,13 @@
 
 # Description:
 # ============
-# This file contains job template definition for Cluster API Provider Metal3 (CAPM3) e2e upgrade tests.
+# This file contains job template definition for Cluster API Provider Metal3 (CAPM3) e2e clusterctl 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: capm3_e2e_upgrade_tests
-    name: '{job_prefix}_{proj}_{upgrade_from_release}_main_e2e_upgrade_test_{image_os}'
+    id: capm3_e2e_clusterctl_upgrade_tests
+    name: '{job_prefix}_{proj}_{upgrade_from_release}_main_e2e_clusterctl_upgrade_test_{image_os}'
     description: "CAPM3 e2e upgrade tests for {org}/{repo} on {image_os}."
     project-type: pipeline
     defaults: global
@@ -79,7 +79,7 @@
         description: 'Tests using the e2e framework.'
     - string:
         name: GINKGO_FOCUS
-        default: "upgrade"
+        default: "clusterctl-upgrade"
         description: 'Select the e2e upgrade test'
     - string:
         name: UPGRADE_FROM_RELEASE
diff --git a/jjb/metal3/job_capm3_e2e_upgrade_tests.yml b/jjb/metal3/job_capm3_e2e_k8s_upgrade_tests.yml
similarity index 85%
copy from jjb/metal3/job_capm3_e2e_upgrade_tests.yml
copy to jjb/metal3/job_capm3_e2e_k8s_upgrade_tests.yml
index f4bd132..7bc5fc8 100644
--- a/jjb/metal3/job_capm3_e2e_upgrade_tests.yml
+++ b/jjb/metal3/job_capm3_e2e_k8s_upgrade_tests.yml
@@ -20,14 +20,14 @@
 
 # Description:
 # ============
-# This file contains job template definition for Cluster API Provider Metal3 (CAPM3) e2e upgrade tests.
+# This file contains job template definition for Cluster API Provider Metal3 (CAPM3) e2e k8s 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: capm3_e2e_upgrade_tests
-    name: '{job_prefix}_{proj}_{upgrade_from_release}_main_e2e_upgrade_test_{image_os}'
-    description: "CAPM3 e2e upgrade tests for {org}/{repo} on {image_os}."
+    id: capm3_e2e_k8s_upgrade_tests
+    name: '{job_prefix}_{proj}_main_e2e_{k8s_versions}_upgrade_test_{image_os}'
+    description: "CAPM3 e2e k8s upgrade tests for {org}/{repo} on {image_os}."
     project-type: pipeline
     defaults: global
     disabled: False
@@ -79,12 +79,16 @@
         description: 'Tests using the e2e framework.'
     - string:
         name: GINKGO_FOCUS
-        default: "upgrade"
+        default: "k8s-upgrade"
         description: 'Select the e2e upgrade test'
     - string:
-        name: UPGRADE_FROM_RELEASE
-        default: '{upgrade_from}'
-        description: 'Release to upgrade from'
+        name: KUBERNETES_VERSION_UPGRADE_FROM
+        default: '{k8s_version_upgrade_from}'
+        description: 'Kubernetes version upgrade from'
+    - string:
+        name: KUBERNETES_VERSION_UPGRADE_TO
+        default: '{k8s_version_upgrade_to}'
+        description: 'Kubernetes version upgrade to'
 
     properties:
     - build-discarder:
@@ -102,7 +106,7 @@
         org-list: "{ci_github_whitelist_org}"
         cron: 'H/5 * * * *'
         auth-id: "{ci_ghprb_auth_id}"
-        trigger-phrase: '((.|\n)*\s)?/test-e2e-upgrade-main-{upgrade_from_release}(\s(.|\n)*)?'
+        trigger-phrase: '((.|\n)*\s)?/test-e2e-{k8s_versions}-upgrade-main(\s(.|\n)*)?'
         skip-build-phrase: '/skip-test'
         only-trigger-phrase: True
         github-hooks: True
@@ -111,7 +115,7 @@
         allow-whitelist-orgs-as-admins: True
         white-list-target-branches:
           - 'main'
-        status-context: "test-e2e-upgrade-main-{upgrade_from_release}"
+        status-context: "test-e2e-{k8s_versions}-upgrade-main"
         success-status: "Passed"
         failure-status: "Failed"
         error-status: "Error"
diff --git a/jjb/metal3/job_capm3_main_e2e_upgrade_tests.yml b/jjb/metal3/job_capm3_main_e2e_clusterctl_upgrade_tests.yml
similarity index 95%
rename from jjb/metal3/job_capm3_main_e2e_upgrade_tests.yml
rename to jjb/metal3/job_capm3_main_e2e_clusterctl_upgrade_tests.yml
index 27cc7da..50f2d5a 100644
--- a/jjb/metal3/job_capm3_main_e2e_upgrade_tests.yml
+++ b/jjb/metal3/job_capm3_main_e2e_clusterctl_upgrade_tests.yml
@@ -25,8 +25,8 @@
 # pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
 
 - job-template:
-    id: capm3_main_e2e_upgrade_tests
-    name: '{job_prefix}_daily_{upgrade_from_release}_main_e2e_upgrade_test_{image_os}'
+    id: capm3_main_e2e_clusterctl_upgrade_tests
+    name: '{job_prefix}_daily_{upgrade_from_release}_main_e2e_clusterctl_upgrade_test_{image_os}'
     description: "CAPM3 v1alpha5 to v1beta1 e2e upgrade tests for {repo[org]}/{repo[name]} on ubuntu."
     project-type: pipeline
     defaults: global
@@ -79,7 +79,7 @@
         description: 'Tests using the e2e framework.'
     - string:
         name: GINKGO_FOCUS
-        default: "upgrade"
+        default: "clusterctl-upgrade"
         description: 'Select the e2e upgrade test'
     - string:
         name: UPGRADE_FROM_RELEASE
diff --git a/jjb/metal3/job_capm3_main_e2e_upgrade_tests.yml b/jjb/metal3/job_capm3_main_e2e_k8s_upgrade_tests.yml
similarity index 84%
copy from jjb/metal3/job_capm3_main_e2e_upgrade_tests.yml
copy to jjb/metal3/job_capm3_main_e2e_k8s_upgrade_tests.yml
index 27cc7da..eb7c1e3 100644
--- a/jjb/metal3/job_capm3_main_e2e_upgrade_tests.yml
+++ b/jjb/metal3/job_capm3_main_e2e_k8s_upgrade_tests.yml
@@ -20,14 +20,14 @@
 
 # Description:
 # ============
-# This file contains job template definition for Cluster API Provider Metal3 (CAPM3) main e2e upgrade tests.
+# This file contains job template definition for Cluster API Provider Metal3 (CAPM3) main e2e k8s upgrade 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_main_e2e_upgrade_tests
-    name: '{job_prefix}_daily_{upgrade_from_release}_main_e2e_upgrade_test_{image_os}'
-    description: "CAPM3 v1alpha5 to v1beta1 e2e upgrade tests for {repo[org]}/{repo[name]} on ubuntu."
+    id: capm3_main_e2e_k8s_upgrade_tests
+    name: '{job_prefix}_daily_main_e2e_{k8s_versions}_upgrade_test_{image_os}'
+    description: "CAPM3 e2e k8s upgrade tests for {repo[org]}/{repo[name]} on ubuntu."
     project-type: pipeline
     defaults: global
     disabled: False
@@ -79,12 +79,16 @@
         description: 'Tests using the e2e framework.'
     - string:
         name: GINKGO_FOCUS
-        default: "upgrade"
+        default: "k8s-upgrade"
         description: 'Select the e2e upgrade test'
     - string:
-        name: UPGRADE_FROM_RELEASE
-        default: '{upgrade_from}'
-        description: 'Release to upgrade from'
+        name: KUBERNETES_VERSION_UPGRADE_FROM
+        default: '{k8s_version_upgrade_from}'
+        description: 'Kubernetes version upgrade from'
+    - string:
+        name: KUBERNETES_VERSION_UPGRADE_TO
+        default: '{k8s_version_upgrade_to}'
+        description: 'Kubernetes version upgrade to'
 
     properties:
     - build-discarder:
@@ -94,7 +98,7 @@
         artifact-num-to-keep: -1
 
     triggers:
-      - timed: "H 1 * * *"
+      - timed: "H 18 * * *"
 
     pipeline-scm:
       scm:
diff --git a/jjb/metal3/job_keep_capm3_e2e_upgrade_tests.yml b/jjb/metal3/job_keep_capm3_e2e_clusterctl_upgrade_tests.yml
similarity index 96%
rename from jjb/metal3/job_keep_capm3_e2e_upgrade_tests.yml
rename to jjb/metal3/job_keep_capm3_e2e_clusterctl_upgrade_tests.yml
index 7232952..de151c9 100644
--- a/jjb/metal3/job_keep_capm3_e2e_upgrade_tests.yml
+++ b/jjb/metal3/job_keep_capm3_e2e_clusterctl_upgrade_tests.yml
@@ -20,13 +20,13 @@
 
 # Description:
 # ============
-# This file contains job template definition for Cluster API Provider Metal3 (CAPM3) e2e upgrade tests.
+# This file contains job template definition for Cluster API Provider Metal3 (CAPM3) e2e clusterctl 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: keep_capm3_e2e_upgrade_tests
-    name: '{job_prefix}_keep_{proj}_{upgrade_from_release}_main_e2e_upgrade_test_{image_os}'
+    id: keep_capm3_e2e_clusterctl_upgrade_tests
+    name: '{job_prefix}_keep_{proj}_{upgrade_from_release}_main_e2e_clusterctl_upgrade_test_{image_os}'
     description: "Keep CAPM3 e2e upgrade tests for {org}/{repo} on {image_os}."
     project-type: pipeline
     defaults: global
@@ -83,7 +83,7 @@
         description: 'Whether tester VM and test env should be deleted or not by the end of the test'
     - string:
         name: GINKGO_FOCUS
-        default: "upgrade"
+        default: "clusterctl-upgrade"
         description: 'Select the e2e upgrade test'
     - string:
         name: UPGRADE_FROM_RELEASE
diff --git a/jjb/metal3/job_keep_capm3_e2e_upgrade_tests.yml b/jjb/metal3/job_keep_capm3_e2e_k8s_upgrade_tests.yml
similarity index 85%
copy from jjb/metal3/job_keep_capm3_e2e_upgrade_tests.yml
copy to jjb/metal3/job_keep_capm3_e2e_k8s_upgrade_tests.yml
index 7232952..c88c0a7 100644
--- a/jjb/metal3/job_keep_capm3_e2e_upgrade_tests.yml
+++ b/jjb/metal3/job_keep_capm3_e2e_k8s_upgrade_tests.yml
@@ -20,14 +20,14 @@
 
 # Description:
 # ============
-# This file contains job template definition for Cluster API Provider Metal3 (CAPM3) e2e upgrade tests.
+# This file contains job template definition for Cluster API Provider Metal3 (CAPM3) e2e k8s 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: keep_capm3_e2e_upgrade_tests
-    name: '{job_prefix}_keep_{proj}_{upgrade_from_release}_main_e2e_upgrade_test_{image_os}'
-    description: "Keep CAPM3 e2e upgrade tests for {org}/{repo} on {image_os}."
+    id: keep_capm3_e2e_k8s_upgrade_tests
+    name: '{job_prefix}_keep_{proj}_main_e2e_{k8s_versions}_upgrade_test_{image_os}'
+    description: "Keep CAPM3 e2e k8s upgrade tests for {org}/{repo} on {image_os}."
     project-type: pipeline
     defaults: global
     disabled: False
@@ -83,12 +83,16 @@
         description: 'Whether tester VM and test env should be deleted or not by the end of the test'
     - string:
         name: GINKGO_FOCUS
-        default: "upgrade"
+        default: "k8s-upgrade"
         description: 'Select the e2e upgrade test'
     - string:
-        name: UPGRADE_FROM_RELEASE
-        default: '{upgrade_from}'
-        description: 'Release to upgrade from'
+        name: KUBERNETES_VERSION_UPGRADE_FROM
+        default: '{k8s_version_upgrade_from}'
+        description: 'Kubernetes version upgrade from'
+    - string:
+        name: KUBERNETES_VERSION_UPGRADE_TO
+        default: '{k8s_version_upgrade_to}'
+        description: 'Kubernetes version upgrade to'
 
     properties:
     - build-discarder:
@@ -106,7 +110,7 @@
         org-list: "{ci_github_whitelist_org}"
         cron: 'H/5 * * * *'
         auth-id: "{ci_ghprb_auth_id}"
-        trigger-phrase: '((.|\n)*\s)?/keep-test-e2e-upgrade-main-{upgrade_from_release}(\s(.|\n)*)?'
+        trigger-phrase: '((.|\n)*\s)?/keep-test-e2e-{k8s_versions}-upgrade-main(\s(.|\n)*)?'
         skip-build-phrase: '/skip-test'
         only-trigger-phrase: True
         github-hooks: True
@@ -115,7 +119,7 @@
         allow-whitelist-orgs-as-admins: True
         white-list-target-branches:
           - 'main'
-        status-context: "keep-test-e2e-upgrade-{upgrade_from_release}"
+        status-context: "keep-test-e2e-{k8s_versions}-upgrade-main"
         success-status: "Passed"
         failure-status: "Failed"
         error-status: "Error"
diff --git a/jjb/metal3/projects.yml b/jjb/metal3/projects.yml
index 7d8b657..392cc78 100644
--- a/jjb/metal3/projects.yml
+++ b/jjb/metal3/projects.yml
@@ -289,7 +289,7 @@
           target_branches:
             - 'release-1.2'
     jobs:
-      - capm3_e2e_upgrade_tests:
+      - capm3_e2e_clusterctl_upgrade_tests:
           upgrade_from_release:
             - from-release-1-4:
                 upgrade_from: v1.4.
@@ -301,6 +301,13 @@
                 upgrade_from: v0.5.
           exclude:
             - image_os: centos
+      - capm3_e2e_k8s_upgrade_tests:
+          k8s_versions:
+            - 1-26-1-27:
+                k8s_version_upgrade_from: v1.26.4
+                k8s_version_upgrade_to: v1.27.1
+          exclude:
+              - image_os: centos
       - capm3_e2e_integration_tests:
           capm3_target_branch:
             - main:
@@ -333,7 +340,7 @@
                   - 'main'
                   - 'release-1.4'
       - keep_capm3_e2e_feature_tests:
-      - keep_capm3_e2e_upgrade_tests:
+      - keep_capm3_e2e_clusterctl_upgrade_tests:
           upgrade_from_release:
             - from-release-1-4:
                 upgrade_from: v1.4.
@@ -345,6 +352,13 @@
                 upgrade_from: v0.5.
           exclude:
             - image_os: centos
+      - keep_capm3_e2e_k8s_upgrade_tests:
+          k8s_versions:
+            - 1-26-1-27:
+                k8s_version_upgrade_from: v1.26.4
+                k8s_version_upgrade_to: v1.27.1
+          exclude:
+            - image_os: centos
 
 - project:
     name: "capm3-main-tests"
@@ -355,7 +369,7 @@
       - ubuntu
       - centos
     jobs:
-      - capm3_main_e2e_upgrade_tests:
+      - capm3_main_e2e_clusterctl_upgrade_tests:
           upgrade_from_release:
             - from-release-1-4:
                 upgrade_from: v1.4.
@@ -367,6 +381,13 @@
                 upgrade_from: v0.5.
           exclude:
             - image_os: centos
+      - capm3_main_e2e_k8s_upgrade_tests:
+          k8s_versions:
+            - 1-26-1-27:
+                k8s_version_upgrade_from: v1.26.4
+                k8s_version_upgrade_to: v1.27.1
+          exclude:
+              - image_os: centos
       - capm3_main_e2e_ephemeral_tests:
           exclude:
             - image_os: ubuntu