diff --git a/.github/workflows/run-vsphere-tests.yaml b/.github/workflows/run-vsphere-tests.yaml index f3d14cf30..a044258aa 100644 --- a/.github/workflows/run-vsphere-tests.yaml +++ b/.github/workflows/run-vsphere-tests.yaml @@ -12,7 +12,6 @@ env: VSPHERE_DATACENTER: ${{ secrets.VSPHERE_DATACENTER }} VSPHERE_DATASTORE: ${{ secrets.VSPHERE_DATASTORE }} VSPHERE_FOLDER: ${{ secrets.VSPHERE_FOLDER }} - VSPHERE_TEMPLATE: ${{ secrets.VSPHERE_TEMPLATE }} VSPHERE_NETWORK: ${{ secrets.VSPHERE_NETWORK }} VSPHERE_RESOURCE_POOL: ${{ secrets.VSPHERE_RESOURCE_POOL }} VSPHERE_USERNAME: ${{ secrets.VSPHERE_USERNAME }} diff --git a/charts/rancher-turtles/Chart.yaml b/charts/rancher-turtles/Chart.yaml index 9577fb632..178ccd431 100644 --- a/charts/rancher-turtles/Chart.yaml +++ b/charts/rancher-turtles/Chart.yaml @@ -14,7 +14,7 @@ keywords: annotations: catalog.cattle.io/certified: rancher catalog.cattle.io/display-name: Rancher Turtles - the Cluster API Extension - catalog.cattle.io/kube-version: '>= 1.31.4-0 < 1.32.0-0' + catalog.cattle.io/kube-version: '>= 1.31.4-0 < 1.34.0-0' catalog.cattle.io/namespace: rancher-turtles-system catalog.cattle.io/os: linux catalog.cattle.io/permits-os: linux diff --git a/examples/clusterclasses/aws/kubeadm/clusterclass-kubeadm-example.yaml b/examples/clusterclasses/aws/kubeadm/clusterclass-kubeadm-example.yaml index 3498e2615..dac93116c 100644 --- a/examples/clusterclasses/aws/kubeadm/clusterclass-kubeadm-example.yaml +++ b/examples/clusterclasses/aws/kubeadm/clusterclass-kubeadm-example.yaml @@ -208,13 +208,6 @@ spec: template: spec: kubeadmConfigSpec: - clusterConfiguration: - apiServer: - extraArgs: - cloud-provider: external - controllerManager: - extraArgs: - cloud-provider: external initConfiguration: nodeRegistration: kubeletExtraArgs: diff --git a/examples/clusterclasses/azure/kubeadm/clusterclass-kubeadm-example.yaml b/examples/clusterclasses/azure/kubeadm/clusterclass-kubeadm-example.yaml index 7ac201a5a..64c25e3cf 100644 --- a/examples/clusterclasses/azure/kubeadm/clusterclass-kubeadm-example.yaml +++ b/examples/clusterclasses/azure/kubeadm/clusterclass-kubeadm-example.yaml @@ -265,12 +265,10 @@ spec: kubeadmConfigSpec: clusterConfiguration: apiServer: - extraArgs: {} timeoutForControlPlane: 20m controllerManager: extraArgs: allocate-node-cidrs: "false" - cloud-provider: external cluster-name: "TO_BE_REPLACED_BY_PATCH" etcd: local: diff --git a/examples/clusterclasses/gcp/kubeadm/clusterclass-kubeadm-example.yaml b/examples/clusterclasses/gcp/kubeadm/clusterclass-kubeadm-example.yaml index 4cdb22ca2..1c4c74706 100644 --- a/examples/clusterclasses/gcp/kubeadm/clusterclass-kubeadm-example.yaml +++ b/examples/clusterclasses/gcp/kubeadm/clusterclass-kubeadm-example.yaml @@ -194,11 +194,8 @@ spec: clusterConfiguration: apiServer: timeoutForControlPlane: 20m - extraArgs: - cloud-provider: external controllerManager: extraArgs: - cloud-provider: external allocate-node-cidrs: "false" initConfiguration: nodeRegistration: diff --git a/examples/go.mod b/examples/go.mod index 3739144e9..b5d0d93e1 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -1,6 +1,6 @@ module github.com/rancher/turtles/examples -go 1.24.4 +go 1.24.9 require ( github.com/agnivade/levenshtein v1.2.1 diff --git a/exp/clusterclass/go.mod b/exp/clusterclass/go.mod index af4bb5ccf..19833ca08 100644 --- a/exp/clusterclass/go.mod +++ b/exp/clusterclass/go.mod @@ -1,6 +1,6 @@ module github.com/rancher/turtles/exp/clusterclass -go 1.24.4 +go 1.24.9 require ( github.com/go-logr/logr v1.4.3 diff --git a/exp/day2/go.mod b/exp/day2/go.mod index a1a57db57..e68d0ab27 100644 --- a/exp/day2/go.mod +++ b/exp/day2/go.mod @@ -1,6 +1,6 @@ module github.com/rancher/turtles/exp/day2 -go 1.24.4 +go 1.24.9 replace github.com/rancher/turtles => ../.. diff --git a/go.mod b/go.mod index e26ca04b0..5e4a31d19 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/rancher/turtles -go 1.24.4 +go 1.24.9 require ( github.com/blang/semver/v4 v4.0.0 diff --git a/test/e2e/config/operator.yaml b/test/e2e/config/operator.yaml index 4a14f372a..472c3db96 100644 --- a/test/e2e/config/operator.yaml +++ b/test/e2e/config/operator.yaml @@ -38,34 +38,43 @@ variables: SECRET_KEYS: "NGROK_AUTHTOKEN,NGROK_API_KEY,RANCHER_HOSTNAME,RANCHER_PASSWORD,CAPG_ENCODED_CREDS,AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,AZURE_SUBSCRIPTION_ID,AZURE_CLIENT_ID,AZURE_CLIENT_SECRET,AZURE_TENANT_ID,GCP_PROJECT,GCP_NETWORK_NAME,GCP_IMAGE_ID,VSPHERE_TLS_THUMBPRINT,VSPHERE_SERVER,VSPHERE_DATACENTER,VSPHERE_DATASTORE,VSPHERE_FOLDER,VSPHERE_TEMPLATE,VSPHERE_NETWORK,VSPHERE_RESOURCE_POOL,VSPHERE_USERNAME,VSPHERE_PASSWORD,VSPHERE_KUBE_VIP_IP_KUBEADM,VSPHERE_KUBE_VIP_IP_RKE2,DOCKER_REGISTRY_TOKEN,DOCKER_REGISTRY_USERNAME,DOCKER_REGISTRY_CONFIG" # Kubernetes Configuration - KUBERNETES_VERSION: "v1.31.4" - KUBERNETES_MANAGEMENT_VERSION: "v1.31.4" - RKE2_VERSION: "v1.31.7+rke2r1" + KUBERNETES_VERSION: "v1.33.5" + KUBERNETES_MANAGEMENT_VERSION: "v1.32.3" + RKE2_VERSION: "v1.33.5+rke2r1" RKE2_CNI: "none" # Azure Configuration # # Azure Kubeadm tests need specific k8s version. # This is due to the limited availability of published AMIs. - # For example: https://portal.azure.com/#@suseazuredev.onmicrosoft.com/resource/providers/Microsoft.Compute/locations/FranceCentral/CommunityGalleries/ClusterAPI-f72ceb4f-5159-4c26-a0fe-2ea738f0d019/Images/capi-ubun2-2204/overview - AZURE_KUBERNETES_VERSION: "v1.31.1" + # For example: https://portal.azure.com/#view/Microsoft_Azure_ComputeHub/ComputeHubMenuBlade/~/communityImagesBrowse + # Filter `capi-ubun2-2404` images. Beware: not all versions are published on all regions. + AZURE_KUBERNETES_VERSION: "v1.33.5" + AZURE_AKS_KUBERNETES_VERSION: "v1.33.3" # AWS Configuration # # AWS Kubeadm tests need specific k8s version. # This is due to the limited availability of published AMIs. # For a complete list, run: clusterawsadm ami list - AWS_KUBERNETES_VERSION: "v1.31.0" + # Alternatively, seach for `capa-ami` in https://eu-west-2.console.aws.amazon.com/ec2/home?region=eu-west-2#AMICatalog: + AWS_KUBERNETES_VERSION: "v1.33.5" AWS_REGION: "eu-west-2" KUBERNETES_MANAGEMENT_AWS_REGION: "eu-west-2" AWS_CONTROL_PLANE_MACHINE_TYPE: "t3.large" AWS_NODE_MACHINE_TYPE: "t3.large" AWS_RKE2_CONTROL_PLANE_MACHINE_TYPE: "t3.xlarge" AWS_RKE2_NODE_MACHINE_TYPE: "t3.xlarge" - AWS_AMI_ID: "ami-012e88f0aa221423a" # Public upstream AMI + AWS_AMI_ID: "ami-0cd9e4e7906f4c9dd" # Private AMI present only in eu-west-2 # GCP Configuration GCP_MACHINE_TYPE: "n1-standard-2" + + # vSphere Configuration + VSPHERE_TEMPLATE: "turtles-ci/ubuntu-2404-kube-v1.33.5" + + # Docker Configuration + DOCKER_KUBERNETES_VERSION: "v1.33.4" # CLI Tool Paths CLUSTERCTL_BINARY_PATH: "" @@ -97,7 +106,6 @@ variables: CERT_MANAGER_REPO_NAME: "jetstack" CERT_MANAGER_URL: "https://charts.jetstack.io" CERT_MANAGER_PATH: "jetstack/cert-manager" - CPI_IMAGE_K8S_VERSION: "v1.31.0" # Ingress Configuration (Ngrok) NGROK_REPO_NAME: "ngrok" diff --git a/test/e2e/const.go b/test/e2e/const.go index da805d104..b735748fe 100644 --- a/test/e2e/const.go +++ b/test/e2e/const.go @@ -159,10 +159,12 @@ const ( BootstrapClusterNameVar = "BOOTSTRAP_CLUSTER_NAME" - KubernetesVersionVar = "KUBERNETES_VERSION" - AWSKubernetesVersionVar = "AWS_KUBERNETES_VERSION" - AzureKubernetesVersionVar = "AZURE_KUBERNETES_VERSION" - RancherHostnameVar = "RANCHER_HOSTNAME" + KubernetesVersionVar = "KUBERNETES_VERSION" + AWSKubernetesVersionVar = "AWS_KUBERNETES_VERSION" + AzureKubernetesVersionVar = "AZURE_KUBERNETES_VERSION" + AzureAKSKubernetesVersionVar = "AZURE_AKS_KUBERNETES_VERSION" + DockerKubernetesVersionVar = "DOCKER_KUBERNETES_VERSION" + RancherHostnameVar = "RANCHER_HOSTNAME" ArtifactsFolderVar = "ARTIFACTS_FOLDER" UseExistingClusterVar = "USE_EXISTING_CLUSTER" diff --git a/test/e2e/data/cluster-templates/aws-eks-mmp.yaml b/test/e2e/data/cluster-templates/aws-eks-mmp.yaml index 04b96dc2c..66d0230b8 100644 --- a/test/e2e/data/cluster-templates/aws-eks-mmp.yaml +++ b/test/e2e/data/cluster-templates/aws-eks-mmp.yaml @@ -74,4 +74,5 @@ metadata: namespace: "${NAMESPACE}" annotations: "helm.sh/resource-policy": keep -spec: {} +spec: + amiType: AL2023_x86_64_STANDARD diff --git a/test/e2e/data/cluster-templates/aws-kubeadm-topology.yaml b/test/e2e/data/cluster-templates/aws-kubeadm-topology.yaml index 83a1230fd..848621258 100644 --- a/test/e2e/data/cluster-templates/aws-kubeadm-topology.yaml +++ b/test/e2e/data/cluster-templates/aws-kubeadm-topology.yaml @@ -34,6 +34,8 @@ spec: value: ${AWS_CONTROL_PLANE_MACHINE_TYPE} - name: workerMachineType value: ${AWS_NODE_MACHINE_TYPE} + - name: amiID + value: ${AWS_AMI_ID} - name: awsClusterIdentityName value: cluster-identity version: ${AWS_KUBERNETES_VERSION} diff --git a/test/e2e/suites/chart-upgrade/chart_upgrade_test.go b/test/e2e/suites/chart-upgrade/chart_upgrade_test.go index 4c6cd66e0..b27004b04 100644 --- a/test/e2e/suites/chart-upgrade/chart_upgrade_test.go +++ b/test/e2e/suites/chart-upgrade/chart_upgrade_test.go @@ -114,6 +114,9 @@ var _ = Describe("Chart upgrade functionality should work", Ordered, Label(e2e.S TopologyNamespace: topologyNamespace, SkipCleanup: true, SkipDeletionTest: true, + AdditionalTemplateVariables: map[string]string{ + e2e.KubernetesVersionVar: e2e.LoadE2EConfig().GetVariableOrEmpty(e2e.DockerKubernetesVersionVar), // override the default k8s version + }, AdditionalFleetGitRepos: []framework.FleetCreateGitRepoInput{ { Name: "docker-cluster-classes-regular", diff --git a/test/e2e/suites/import-gitops/import_gitops_test.go b/test/e2e/suites/import-gitops/import_gitops_test.go index 16410cb9b..6ce66c68a 100644 --- a/test/e2e/suites/import-gitops/import_gitops_test.go +++ b/test/e2e/suites/import-gitops/import_gitops_test.go @@ -55,6 +55,9 @@ var _ = Describe("[Docker] [Kubeadm] Create and delete CAPI cluster functionali CapiClusterOwnerNamespaceLabel: e2e.CapiClusterOwnerNamespaceLabel, OwnedLabelName: e2e.OwnedLabelName, TopologyNamespace: topologyNamespace, + AdditionalTemplateVariables: map[string]string{ + e2e.KubernetesVersionVar: e2e.LoadE2EConfig().GetVariableOrEmpty(e2e.DockerKubernetesVersionVar), // override the default k8s version + }, AdditionalFleetGitRepos: []turtlesframework.FleetCreateGitRepoInput{ { Name: "docker-cluster-classes-regular", @@ -100,6 +103,9 @@ var _ = Describe("[Docker] [RKE2] Create and delete CAPI cluster functionality s CapiClusterOwnerNamespaceLabel: e2e.CapiClusterOwnerNamespaceLabel, OwnedLabelName: e2e.OwnedLabelName, TopologyNamespace: topologyNamespace, + AdditionalTemplateVariables: map[string]string{ + e2e.KubernetesVersionVar: e2e.LoadE2EConfig().GetVariableOrEmpty(e2e.DockerKubernetesVersionVar), // override the default k8s version + }, AdditionalFleetGitRepos: []turtlesframework.FleetCreateGitRepoInput{ { Name: "docker-cluster-classes-regular", @@ -144,6 +150,9 @@ var _ = Describe("[Azure] [AKS] Create and delete CAPI cluster from cluster clas CapiClusterOwnerNamespaceLabel: e2e.CapiClusterOwnerNamespaceLabel, OwnedLabelName: e2e.OwnedLabelName, TopologyNamespace: topologyNamespace, + AdditionalTemplateVariables: map[string]string{ + e2e.KubernetesVersionVar: e2e.LoadE2EConfig().GetVariableOrEmpty(e2e.AzureAKSKubernetesVersionVar), // override the default k8s version + }, AdditionalFleetGitRepos: []turtlesframework.FleetCreateGitRepoInput{ { Name: "azure-cluster-classes-aks", diff --git a/test/go.mod b/test/go.mod index b607989c9..ca56ca0e5 100644 --- a/test/go.mod +++ b/test/go.mod @@ -1,6 +1,6 @@ module github.com/rancher/turtles/test -go 1.24.4 +go 1.24.9 replace github.com/rancher/turtles => ../ diff --git a/tilt/project/Tiltfile b/tilt/project/Tiltfile index 9c8c5ed22..d13964989 100644 --- a/tilt/project/Tiltfile +++ b/tilt/project/Tiltfile @@ -293,7 +293,7 @@ def get_port_forwards(debug): tilt_helper_dockerfile_header = """ # Tilt image -FROM golang:1.24.4 as tilt-helper +FROM golang:1.24.9 as tilt-helper # Support live reloading with Tilt RUN go install github.com/go-delve/delve/cmd/dlv@latest RUN wget --output-document /restart.sh --quiet https://raw.githubusercontent.com/tilt-dev/rerun-process-wrapper/master/restart.sh && \