diff --git a/integration/tests/addons/addons_test.go b/integration/tests/addons/addons_test.go index 5f82a4f0b1..4a5dee7933 100644 --- a/integration/tests/addons/addons_test.go +++ b/integration/tests/addons/addons_test.go @@ -806,6 +806,10 @@ var _ = Describe("(Integration) [EKS Addons test]", func() { Name: "coredns", Status: "DEGRADED", }, + addonStatus{ + Name: "metrics-server", + Status: "DEGRADED", + }, addonStatus{ Name: "kube-proxy", Status: "ACTIVE", diff --git a/integration/tests/custom_ami/custom_ami_test.go b/integration/tests/custom_ami/custom_ami_test.go index 458ff89f39..74652ccbc0 100644 --- a/integration/tests/custom_ami/custom_ami_test.go +++ b/integration/tests/custom_ami/custom_ami_test.go @@ -21,7 +21,9 @@ import ( . "github.com/weaveworks/eksctl/integration/matchers" . "github.com/weaveworks/eksctl/integration/runner" "github.com/weaveworks/eksctl/integration/tests" + api "github.com/weaveworks/eksctl/pkg/apis/eksctl.io/v1alpha5" "github.com/weaveworks/eksctl/pkg/testutils" + versionsutils "github.com/weaveworks/eksctl/pkg/utils" ) var params *tests.Params @@ -48,6 +50,12 @@ var _ = BeforeSuite(func() { cfg := NewConfig(params.Region) ssm := awsssm.NewFromConfig(cfg) + givenVersionSupportsUbuntu2404, err := versionsutils.IsMinVersion(api.Version1_31, params.Version) + Expect(err).ToNot(HaveOccurred()) + if !givenVersionSupportsUbuntu2404 { + params.Version = api.Version1_31 + } + // retrieve AL2 AMI input := &awsssm.GetParameterInput{ Name: aws.String(fmt.Sprintf("/aws/service/eks/optimized-ami/%s/amazon-linux-2/recommended/image_id", params.Version)), diff --git a/pkg/apis/eksctl.io/v1alpha5/assets/schema.json b/pkg/apis/eksctl.io/v1alpha5/assets/schema.json index a36295d198..88388ec0ad 100755 --- a/pkg/apis/eksctl.io/v1alpha5/assets/schema.json +++ b/pkg/apis/eksctl.io/v1alpha5/assets/schema.json @@ -1293,13 +1293,19 @@ }, "serviceIPv4CIDR": { "type": "string", - "description": "CIDR range from where `ClusterIP`s are assigned", - "x-intellij-html-description": "CIDR range from where ClusterIPs are assigned" + "description": "IPv4 CIDR range from where `ClusterIP`s are assigned", + "x-intellij-html-description": "IPv4 CIDR range from where ClusterIPs are assigned" + }, + "serviceIPv6CIDR": { + "type": "string", + "description": "IPv6 CIDR range from where `ClusterIP`s are assigned", + "x-intellij-html-description": "IPv6 CIDR range from where ClusterIPs are assigned" } }, "preferredOrder": [ "ipFamily", - "serviceIPv4CIDR" + "serviceIPv4CIDR", + "serviceIPv6CIDR" ], "additionalProperties": false, "description": "contains cluster networking options", @@ -1347,12 +1353,14 @@ }, "amiFamily": { "type": "string", - "description": "Valid variants are: `\"AmazonLinux2\"` (default), `\"AmazonLinux2023\"`, `\"UbuntuPro2204\"`, `\"Ubuntu2204\"`, `\"Ubuntu2004\"`, `\"Ubuntu1804\"`, `\"Bottlerocket\"`, `\"WindowsServer2019CoreContainer\"`, `\"WindowsServer2019FullContainer\"`, `\"WindowsServer2022CoreContainer\"`, `\"WindowsServer2022FullContainer\"`.", - "x-intellij-html-description": "Valid variants are: "AmazonLinux2" (default), "AmazonLinux2023", "UbuntuPro2204", "Ubuntu2204", "Ubuntu2004", "Ubuntu1804", "Bottlerocket", "WindowsServer2019CoreContainer", "WindowsServer2019FullContainer", "WindowsServer2022CoreContainer", "WindowsServer2022FullContainer".", + "description": "Valid variants are: `\"AmazonLinux2\"` (default), `\"AmazonLinux2023\"`, `\"UbuntuPro2404\"`, `\"Ubuntu2404\"`, `\"UbuntuPro2204\"`, `\"Ubuntu2204\"`, `\"Ubuntu2004\"`, `\"Ubuntu1804\"`, `\"Bottlerocket\"`, `\"WindowsServer2019CoreContainer\"`, `\"WindowsServer2019FullContainer\"`, `\"WindowsServer2022CoreContainer\"`, `\"WindowsServer2022FullContainer\"`.", + "x-intellij-html-description": "Valid variants are: "AmazonLinux2" (default), "AmazonLinux2023", "UbuntuPro2404", "Ubuntu2404", "UbuntuPro2204", "Ubuntu2204", "Ubuntu2004", "Ubuntu1804", "Bottlerocket", "WindowsServer2019CoreContainer", "WindowsServer2019FullContainer", "WindowsServer2022CoreContainer", "WindowsServer2022FullContainer".", "default": "AmazonLinux2", "enum": [ "AmazonLinux2", "AmazonLinux2023", + "UbuntuPro2404", + "Ubuntu2404", "UbuntuPro2204", "Ubuntu2204", "Ubuntu2004", @@ -1688,12 +1696,14 @@ }, "amiFamily": { "type": "string", - "description": "Valid variants are: `\"AmazonLinux2\"` (default), `\"AmazonLinux2023\"`, `\"UbuntuPro2204\"`, `\"Ubuntu2204\"`, `\"Ubuntu2004\"`, `\"Ubuntu1804\"`, `\"Bottlerocket\"`, `\"WindowsServer2019CoreContainer\"`, `\"WindowsServer2019FullContainer\"`, `\"WindowsServer2022CoreContainer\"`, `\"WindowsServer2022FullContainer\"`.", - "x-intellij-html-description": "Valid variants are: "AmazonLinux2" (default), "AmazonLinux2023", "UbuntuPro2204", "Ubuntu2204", "Ubuntu2004", "Ubuntu1804", "Bottlerocket", "WindowsServer2019CoreContainer", "WindowsServer2019FullContainer", "WindowsServer2022CoreContainer", "WindowsServer2022FullContainer".", + "description": "Valid variants are: `\"AmazonLinux2\"` (default), `\"AmazonLinux2023\"`, `\"UbuntuPro2404\"`, `\"Ubuntu2404\"`, `\"UbuntuPro2204\"`, `\"Ubuntu2204\"`, `\"Ubuntu2004\"`, `\"Ubuntu1804\"`, `\"Bottlerocket\"`, `\"WindowsServer2019CoreContainer\"`, `\"WindowsServer2019FullContainer\"`, `\"WindowsServer2022CoreContainer\"`, `\"WindowsServer2022FullContainer\"`.", + "x-intellij-html-description": "Valid variants are: "AmazonLinux2" (default), "AmazonLinux2023", "UbuntuPro2404", "Ubuntu2404", "UbuntuPro2204", "Ubuntu2204", "Ubuntu2004", "Ubuntu1804", "Bottlerocket", "WindowsServer2019CoreContainer", "WindowsServer2019FullContainer", "WindowsServer2022CoreContainer", "WindowsServer2022FullContainer".", "default": "AmazonLinux2", "enum": [ "AmazonLinux2", "AmazonLinux2023", + "UbuntuPro2404", + "Ubuntu2404", "UbuntuPro2204", "Ubuntu2204", "Ubuntu2004", diff --git a/pkg/apis/eksctl.io/v1alpha5/validation.go b/pkg/apis/eksctl.io/v1alpha5/validation.go index 6bfaa9871e..eb5e4bd542 100644 --- a/pkg/apis/eksctl.io/v1alpha5/validation.go +++ b/pkg/apis/eksctl.io/v1alpha5/validation.go @@ -435,7 +435,7 @@ func (c *ClusterConfig) ValidateVPCConfig() error { return fmt.Errorf("Ipv6Cidr and Ipv6CidrPool are only supported when IPFamily is set to IPv6") } - if c.IPv6Enabled() { + if c.IPv6Enabled() && c.Status == nil { if IsEnabled(c.VPC.AutoAllocateIPv6) { return fmt.Errorf("auto allocate ipv6 is not supported with IPv6") } @@ -600,6 +600,10 @@ func (c *ClusterConfig) ValidatePrivateCluster() error { // validateKubernetesNetworkConfig validates the k8s network config func (c *ClusterConfig) validateKubernetesNetworkConfig() error { + // this check ensured the validation is only run on cluster creation + if c.Status != nil { + return nil + } if c.KubernetesNetworkConfig == nil { return nil }