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
}