diff --git a/integration/tests/managed/managed_nodegroup_test.go b/integration/tests/managed/managed_nodegroup_test.go
index a65a628194..8fa173dcbc 100644
--- a/integration/tests/managed/managed_nodegroup_test.go
+++ b/integration/tests/managed/managed_nodegroup_test.go
@@ -135,7 +135,7 @@ var _ = Describe("(Integration) Create Managed Nodegroups", func() {
Entry("Ubuntu with dry-run", managedCLIEntry{
createArgs: []string{
- "--node-ami-family=Ubuntu2004",
+ "--node-ami-family=Ubuntu2204",
"--dry-run",
},
}),
diff --git a/pkg/ami/auto_resolver.go b/pkg/ami/auto_resolver.go
index 7cecdb4e62..b350282a01 100644
--- a/pkg/ami/auto_resolver.go
+++ b/pkg/ami/auto_resolver.go
@@ -55,10 +55,6 @@ func MakeImageSearchPatterns(version string) map[string]map[int]string {
ImageClassGeneral: fmt.Sprintf("ubuntu-eks/k8s_%s/images/*22.04-amd64*", version),
ImageClassARM: fmt.Sprintf("ubuntu-eks/k8s_%s/images/*22.04-arm64*", version),
},
- api.NodeImageFamilyUbuntu2004: {
- ImageClassGeneral: fmt.Sprintf("ubuntu-eks/k8s_%s/images/*20.04-amd64*", version),
- ImageClassARM: fmt.Sprintf("ubuntu-eks/k8s_%s/images/*20.04-arm64*", version),
- },
api.NodeImageFamilyWindowsServer2019CoreContainer: {
ImageClassGeneral: fmt.Sprintf("Windows_Server-2019-English-Core-EKS_Optimized-%v-*", version),
},
@@ -77,7 +73,7 @@ func MakeImageSearchPatterns(version string) map[string]map[int]string {
// OwnerAccountID returns the AWS account ID that owns worker AMI.
func OwnerAccountID(imageFamily, region string) (string, error) {
switch imageFamily {
- case api.NodeImageFamilyUbuntuPro2404, api.NodeImageFamilyUbuntu2404, api.NodeImageFamilyUbuntuPro2204, api.NodeImageFamilyUbuntu2204, api.NodeImageFamilyUbuntuPro2004, api.NodeImageFamilyUbuntu2004:
+ case api.NodeImageFamilyUbuntuPro2404, api.NodeImageFamilyUbuntu2404, api.NodeImageFamilyUbuntuPro2204, api.NodeImageFamilyUbuntu2204, api.NodeImageFamilyUbuntuPro2004:
return ownerIDUbuntuFamily, nil
case api.NodeImageFamilyAmazonLinux2023, api.NodeImageFamilyAmazonLinux2:
return api.EKSResourceAccountID(region), nil
diff --git a/pkg/ami/ssm_resolver.go b/pkg/ami/ssm_resolver.go
index be4da1e8ce..6566b236ba 100644
--- a/pkg/ami/ssm_resolver.go
+++ b/pkg/ami/ssm_resolver.go
@@ -73,8 +73,7 @@ func MakeSSMParameterName(version, instanceType, imageFamily string) (string, er
return fmt.Sprintf("/aws/service/ami-windows-latest/Windows_Server-2022-English-%s-EKS_Optimized-%s/%s", windowsAmiType(imageFamily), version, fieldName), nil
case api.NodeImageFamilyBottlerocket:
return fmt.Sprintf("/aws/service/bottlerocket/aws-k8s-%s/%s/latest/%s", imageType(imageFamily, instanceType, version), instanceEC2ArchName(instanceType), fieldName), nil
- case api.NodeImageFamilyUbuntu2004,
- api.NodeImageFamilyUbuntuPro2004,
+ case api.NodeImageFamilyUbuntuPro2004,
api.NodeImageFamilyUbuntu2204,
api.NodeImageFamilyUbuntuPro2204:
if err := validateVersionForUbuntu(version, imageFamily); err != nil {
@@ -184,7 +183,7 @@ func windowsAmiType(imageFamily string) string {
func ubuntuReleaseName(imageFamily string) string {
switch imageFamily {
- case api.NodeImageFamilyUbuntu2004, api.NodeImageFamilyUbuntuPro2004:
+ case api.NodeImageFamilyUbuntuPro2004:
return "20.04"
case api.NodeImageFamilyUbuntu2204, api.NodeImageFamilyUbuntuPro2204:
return "22.04"
@@ -197,25 +196,6 @@ func ubuntuReleaseName(imageFamily string) string {
func validateVersionForUbuntu(version, imageFamily string) error {
switch imageFamily {
- case api.NodeImageFamilyUbuntu2004:
- var err error
- supportsUbuntu := false
- const minVersion = api.Version1_21
- const maxVersion = api.Version1_29
- supportsUbuntu, err = utils.IsMinVersion(minVersion, version)
- if err != nil {
- return err
- }
- if !supportsUbuntu {
- return &UnsupportedQueryError{msg: fmt.Sprintf("%s requires EKS version greater or equal than %s and lower than %s", imageFamily, minVersion, maxVersion)}
- }
- supportsUbuntu, err = utils.IsMinVersion(version, maxVersion)
- if err != nil {
- return err
- }
- if !supportsUbuntu {
- return &UnsupportedQueryError{msg: fmt.Sprintf("%s requires EKS version greater or equal than %s and lower than %s", imageFamily, minVersion, maxVersion)}
- }
case api.NodeImageFamilyUbuntuPro2004:
var err error
supportsUbuntu := false
diff --git a/pkg/ami/ssm_resolver_test.go b/pkg/ami/ssm_resolver_test.go
index c2bbd1d95b..930bc92e58 100644
--- a/pkg/ami/ssm_resolver_test.go
+++ b/pkg/ami/ssm_resolver_test.go
@@ -234,78 +234,6 @@ var _ = Describe("AMI Auto Resolution", func() {
})
- Context("and Ubuntu2004 family", func() {
- BeforeEach(func() {
- p = mockprovider.NewMockProvider()
- instanceType = "t2.medium"
- imageFamily = "Ubuntu2004"
- })
-
- DescribeTable("should return an error",
- func(version string) {
- resolver := NewSSMResolver(p.MockSSM())
- resolvedAmi, err = resolver.Resolve(context.Background(), region, version, instanceType, imageFamily)
-
- Expect(err).To(HaveOccurred())
- Expect(err).To(MatchError("Ubuntu2004 requires EKS version greater or equal than 1.21 and lower than 1.29"))
- },
- EntryDescription("When EKS version is %s"),
- Entry(nil, "1.20"),
- Entry(nil, "1.30"),
- )
-
- DescribeTable("should return a valid AMI",
- func(version string) {
- addMockGetParameter(p, fmt.Sprintf("/aws/service/canonical/ubuntu/eks/20.04/%s/stable/current/amd64/hvm/ebs-gp2/ami-id", version), expectedAmi)
-
- resolver := NewSSMResolver(p.MockSSM())
- resolvedAmi, err = resolver.Resolve(context.Background(), region, version, instanceType, imageFamily)
-
- Expect(err).NotTo(HaveOccurred())
- Expect(p.MockSSM().AssertNumberOfCalls(GinkgoT(), "GetParameter", 1)).To(BeTrue())
- Expect(resolvedAmi).To(BeEquivalentTo(expectedAmi))
- },
- EntryDescription("When EKS version is %s"),
- Entry(nil, "1.21"),
- Entry(nil, "1.22"),
- Entry(nil, "1.23"),
- Entry(nil, "1.24"),
- Entry(nil, "1.25"),
- Entry(nil, "1.26"),
- Entry(nil, "1.27"),
- Entry(nil, "1.28"),
- Entry(nil, "1.29"),
- )
-
- Context("for arm instance type", func() {
- BeforeEach(func() {
- instanceType = "c6g.12xlarge"
- })
- DescribeTable("should return a valid AMI for arm64",
- func(version string) {
- addMockGetParameter(p, fmt.Sprintf("/aws/service/canonical/ubuntu/eks/20.04/%s/stable/current/arm64/hvm/ebs-gp2/ami-id", version), expectedAmi)
-
- resolver := NewSSMResolver(p.MockSSM())
- resolvedAmi, err = resolver.Resolve(context.Background(), region, version, instanceType, imageFamily)
-
- Expect(err).NotTo(HaveOccurred())
- Expect(p.MockSSM().AssertNumberOfCalls(GinkgoT(), "GetParameter", 1)).To(BeTrue())
- Expect(resolvedAmi).To(BeEquivalentTo(expectedAmi))
- },
- EntryDescription("When EKS version is %s"),
- Entry(nil, "1.21"),
- Entry(nil, "1.22"),
- Entry(nil, "1.23"),
- Entry(nil, "1.24"),
- Entry(nil, "1.25"),
- Entry(nil, "1.26"),
- Entry(nil, "1.27"),
- Entry(nil, "1.28"),
- Entry(nil, "1.29"),
- )
- })
- })
-
Context("and UbuntuPro2004 family", func() {
BeforeEach(func() {
p = mockprovider.NewMockProvider()
diff --git a/pkg/apis/eksctl.io/v1alpha5/assets/schema.json b/pkg/apis/eksctl.io/v1alpha5/assets/schema.json
index e3ae66cc4e..9cb105a519 100755
--- a/pkg/apis/eksctl.io/v1alpha5/assets/schema.json
+++ b/pkg/apis/eksctl.io/v1alpha5/assets/schema.json
@@ -1386,8 +1386,8 @@
},
"amiFamily": {
"type": "string",
- "description": "Valid variants are: `\"AmazonLinux2\"` (default), `\"AmazonLinux2023\"`, `\"UbuntuPro2404\"`, `\"Ubuntu2404\"`, `\"UbuntuPro2204\"`, `\"Ubuntu2204\"`, `\"UbuntuPro2004\"`, `\"Ubuntu2004\"`, `\"Bottlerocket\"`, `\"WindowsServer2019CoreContainer\"`, `\"WindowsServer2019FullContainer\"`, `\"WindowsServer2022CoreContainer\"`, `\"WindowsServer2022FullContainer\"`.",
- "x-intellij-html-description": "Valid variants are: "AmazonLinux2"
(default), "AmazonLinux2023"
, "UbuntuPro2404"
, "Ubuntu2404"
, "UbuntuPro2204"
, "Ubuntu2204"
, "UbuntuPro2004"
, "Ubuntu2004"
, "Bottlerocket"
, "WindowsServer2019CoreContainer"
, "WindowsServer2019FullContainer"
, "WindowsServer2022CoreContainer"
, "WindowsServer2022FullContainer"
.",
+ "description": "Valid variants are: `\"AmazonLinux2\"` (default), `\"AmazonLinux2023\"`, `\"UbuntuPro2404\"`, `\"Ubuntu2404\"`, `\"UbuntuPro2204\"`, `\"Ubuntu2204\"`, `\"UbuntuPro2004\"`, `\"Bottlerocket\"`, `\"WindowsServer2019CoreContainer\"`, `\"WindowsServer2019FullContainer\"`, `\"WindowsServer2022CoreContainer\"`, `\"WindowsServer2022FullContainer\"`.",
+ "x-intellij-html-description": "Valid variants are: "AmazonLinux2"
(default), "AmazonLinux2023"
, "UbuntuPro2404"
, "Ubuntu2404"
, "UbuntuPro2204"
, "Ubuntu2204"
, "UbuntuPro2004"
, "Bottlerocket"
, "WindowsServer2019CoreContainer"
, "WindowsServer2019FullContainer"
, "WindowsServer2022CoreContainer"
, "WindowsServer2022FullContainer"
.",
"default": "AmazonLinux2",
"enum": [
"AmazonLinux2",
@@ -1397,7 +1397,6 @@
"UbuntuPro2204",
"Ubuntu2204",
"UbuntuPro2004",
- "Ubuntu2004",
"Bottlerocket",
"WindowsServer2019CoreContainer",
"WindowsServer2019FullContainer",
@@ -1736,8 +1735,8 @@
},
"amiFamily": {
"type": "string",
- "description": "Valid variants are: `\"AmazonLinux2\"` (default), `\"AmazonLinux2023\"`, `\"UbuntuPro2404\"`, `\"Ubuntu2404\"`, `\"UbuntuPro2204\"`, `\"Ubuntu2204\"`, `\"UbuntuPro2004\"`, `\"Ubuntu2004\"`, `\"Bottlerocket\"`, `\"WindowsServer2019CoreContainer\"`, `\"WindowsServer2019FullContainer\"`, `\"WindowsServer2022CoreContainer\"`, `\"WindowsServer2022FullContainer\"`.",
- "x-intellij-html-description": "Valid variants are: "AmazonLinux2"
(default), "AmazonLinux2023"
, "UbuntuPro2404"
, "Ubuntu2404"
, "UbuntuPro2204"
, "Ubuntu2204"
, "UbuntuPro2004"
, "Ubuntu2004"
, "Bottlerocket"
, "WindowsServer2019CoreContainer"
, "WindowsServer2019FullContainer"
, "WindowsServer2022CoreContainer"
, "WindowsServer2022FullContainer"
.",
+ "description": "Valid variants are: `\"AmazonLinux2\"` (default), `\"AmazonLinux2023\"`, `\"UbuntuPro2404\"`, `\"Ubuntu2404\"`, `\"UbuntuPro2204\"`, `\"Ubuntu2204\"`, `\"UbuntuPro2004\"`, `\"Bottlerocket\"`, `\"WindowsServer2019CoreContainer\"`, `\"WindowsServer2019FullContainer\"`, `\"WindowsServer2022CoreContainer\"`, `\"WindowsServer2022FullContainer\"`.",
+ "x-intellij-html-description": "Valid variants are: "AmazonLinux2"
(default), "AmazonLinux2023"
, "UbuntuPro2404"
, "Ubuntu2404"
, "UbuntuPro2204"
, "Ubuntu2204"
, "UbuntuPro2004"
, "Bottlerocket"
, "WindowsServer2019CoreContainer"
, "WindowsServer2019FullContainer"
, "WindowsServer2022CoreContainer"
, "WindowsServer2022FullContainer"
.",
"default": "AmazonLinux2",
"enum": [
"AmazonLinux2",
@@ -1747,7 +1746,6 @@
"UbuntuPro2204",
"Ubuntu2204",
"UbuntuPro2004",
- "Ubuntu2004",
"Bottlerocket",
"WindowsServer2019CoreContainer",
"WindowsServer2019FullContainer",
diff --git a/pkg/apis/eksctl.io/v1alpha5/gpu_validation_test.go b/pkg/apis/eksctl.io/v1alpha5/gpu_validation_test.go
index 6efde9d02e..5d23d70fc7 100644
--- a/pkg/apis/eksctl.io/v1alpha5/gpu_validation_test.go
+++ b/pkg/apis/eksctl.io/v1alpha5/gpu_validation_test.go
@@ -67,16 +67,12 @@ var _ = Describe("GPU instance support", func() {
gpuInstanceType: "g5.12xlarge",
amiFamily: api.NodeImageFamilyAmazonLinux2,
}),
- Entry("Ubuntu2004", gpuInstanceEntry{
- amiFamily: api.NodeImageFamilyUbuntu2004,
- gpuInstanceType: "g4dn.xlarge",
- }),
Entry("Ubuntu2204", gpuInstanceEntry{
- amiFamily: api.NodeImageFamilyUbuntu2004,
+ amiFamily: api.NodeImageFamilyUbuntu2204,
gpuInstanceType: "g4dn.xlarge",
}),
Entry("UbuntuPro2204", gpuInstanceEntry{
- amiFamily: api.NodeImageFamilyUbuntu2004,
+ amiFamily: api.NodeImageFamilyUbuntuPro2204,
gpuInstanceType: "g4dn.xlarge",
}),
Entry("Bottlerocket INF", gpuInstanceEntry{
@@ -164,10 +160,6 @@ var _ = Describe("GPU instance support", func() {
amiFamily: api.NodeImageFamilyBottlerocket,
gpuInstanceType: "g4dn.xlarge",
}),
- Entry("Ubuntu2004", gpuInstanceEntry{
- amiFamily: api.NodeImageFamilyUbuntu2004,
- gpuInstanceType: "g4dn.xlarge",
- }),
Entry("Windows2019Core", gpuInstanceEntry{
amiFamily: api.NodeImageFamilyWindowsServer2019CoreContainer,
gpuInstanceType: "g3.8xlarge",
@@ -218,13 +210,6 @@ var _ = Describe("GPU instance support", func() {
Expect(output.String()).NotTo(ContainSubstring(api.GPUDriversWarning(mng.AMIFamily)))
}
},
- Entry("Windows without GPU instances", gpuInstanceEntry{
- amiFamily: api.NodeImageFamilyUbuntu2004,
- instanceSelector: &api.InstanceSelector{
- VCPUs: 4,
- GPUs: newInt(0),
- },
- }),
Entry("Windows with explicit GPU instance", gpuInstanceEntry{
amiFamily: api.NodeImageFamilyWindowsServer2019FullContainer,
gpuInstanceType: "g4dn.xlarge",
@@ -237,14 +222,6 @@ var _ = Describe("GPU instance support", func() {
},
expectWarning: true,
}),
- Entry("Ubuntu with implicit GPU instance", gpuInstanceEntry{
- amiFamily: api.NodeImageFamilyUbuntu2004,
- instanceSelector: &api.InstanceSelector{
- VCPUs: 4,
- GPUs: newInt(2),
- },
- expectWarning: true,
- }),
)
Describe("No GPU instance type support validation for custom AMI", func() {
@@ -272,7 +249,6 @@ var _ = Describe("GPU instance support", func() {
},
Entry("AmazonLinux2", api.NodeImageFamilyAmazonLinux2, true),
Entry("AmazonLinux2023", api.NodeImageFamilyAmazonLinux2023, false),
- Entry("Ubuntu2004", api.NodeImageFamilyUbuntu2004, false),
Entry("Windows2019Full", api.NodeImageFamilyWindowsServer2019FullContainer, true),
Entry("Windows2019Core", api.NodeImageFamilyWindowsServer2019CoreContainer, true),
Entry("Bottlerocket", api.NodeImageFamilyBottlerocket, false),
diff --git a/pkg/apis/eksctl.io/v1alpha5/outposts_validation_test.go b/pkg/apis/eksctl.io/v1alpha5/outposts_validation_test.go
index 86e62dd056..65c3b056e9 100644
--- a/pkg/apis/eksctl.io/v1alpha5/outposts_validation_test.go
+++ b/pkg/apis/eksctl.io/v1alpha5/outposts_validation_test.go
@@ -206,7 +206,6 @@ var _ = Describe("Outposts validation", func() {
},
Entry("AmazonLinux2", api.NodeImageFamilyAmazonLinux2, false),
Entry("Bottlerocket", api.NodeImageFamilyBottlerocket, true),
- Entry("Ubuntu2004", api.NodeImageFamilyUbuntu2004, true),
Entry("UbuntuPro2004", api.NodeImageFamilyUbuntuPro2004, true),
Entry("Ubuntu2204", api.NodeImageFamilyUbuntu2204, true),
Entry("UbuntuPro2204", api.NodeImageFamilyUbuntuPro2204, true),
diff --git a/pkg/apis/eksctl.io/v1alpha5/types.go b/pkg/apis/eksctl.io/v1alpha5/types.go
index 9348269170..6f8c0905aa 100644
--- a/pkg/apis/eksctl.io/v1alpha5/types.go
+++ b/pkg/apis/eksctl.io/v1alpha5/types.go
@@ -207,7 +207,6 @@ const (
NodeImageFamilyUbuntuPro2204 = "UbuntuPro2204"
NodeImageFamilyUbuntu2204 = "Ubuntu2204"
NodeImageFamilyUbuntuPro2004 = "UbuntuPro2004"
- NodeImageFamilyUbuntu2004 = "Ubuntu2004"
NodeImageFamilyBottlerocket = "Bottlerocket"
NodeImageFamilyWindowsServer2019CoreContainer = "WindowsServer2019CoreContainer"
@@ -566,7 +565,6 @@ func SupportedAMIFamilies() []string {
NodeImageFamilyUbuntuPro2204,
NodeImageFamilyUbuntu2204,
NodeImageFamilyUbuntuPro2004,
- NodeImageFamilyUbuntu2004,
NodeImageFamilyBottlerocket,
NodeImageFamilyWindowsServer2019CoreContainer,
NodeImageFamilyWindowsServer2019FullContainer,
diff --git a/pkg/apis/eksctl.io/v1alpha5/validation.go b/pkg/apis/eksctl.io/v1alpha5/validation.go
index eb7a1181c1..d29bf6c49a 100644
--- a/pkg/apis/eksctl.io/v1alpha5/validation.go
+++ b/pkg/apis/eksctl.io/v1alpha5/validation.go
@@ -1637,7 +1637,6 @@ func IsUbuntuImage(imageFamily string) bool {
NodeImageFamilyUbuntuPro2204,
NodeImageFamilyUbuntu2204,
NodeImageFamilyUbuntuPro2004,
- NodeImageFamilyUbuntu2004:
return true
default:
diff --git a/pkg/apis/eksctl.io/v1alpha5/validation_test.go b/pkg/apis/eksctl.io/v1alpha5/validation_test.go
index 27e235099b..f57c866e6d 100644
--- a/pkg/apis/eksctl.io/v1alpha5/validation_test.go
+++ b/pkg/apis/eksctl.io/v1alpha5/validation_test.go
@@ -2254,10 +2254,6 @@ var _ = Describe("ClusterConfig validation", func() {
err := api.ValidateManagedNodeGroup(0, mng)
Expect(err).NotTo(HaveOccurred())
- mng.AMIFamily = api.NodeImageFamilyUbuntu2004
- err = api.ValidateManagedNodeGroup(0, mng)
- Expect(err).NotTo(HaveOccurred())
-
mng.AMIFamily = api.NodeImageFamilyUbuntuPro2004
err = api.ValidateManagedNodeGroup(0, mng)
Expect(err).NotTo(HaveOccurred())
diff --git a/pkg/cfn/builder/managed_nodegroup_ami_type_test.go b/pkg/cfn/builder/managed_nodegroup_ami_type_test.go
index 38dfba1962..f54bbf4c67 100644
--- a/pkg/cfn/builder/managed_nodegroup_ami_type_test.go
+++ b/pkg/cfn/builder/managed_nodegroup_ami_type_test.go
@@ -227,16 +227,6 @@ var _ = DescribeTable("Managed Nodegroup AMI type", func(e amiTypeEntry) {
expectedAMIType: "BOTTLEROCKET_x86_64",
}),
- Entry("non-native Ubuntu", amiTypeEntry{
- nodeGroup: &api.ManagedNodeGroup{
- NodeGroupBase: &api.NodeGroupBase{
- Name: "test",
- AMIFamily: api.NodeImageFamilyUbuntu2004,
- },
- },
- expectedAMIType: "CUSTOM",
- }),
-
Entry("non-native Ubuntu", amiTypeEntry{
nodeGroup: &api.ManagedNodeGroup{
NodeGroupBase: &api.NodeGroupBase{
diff --git a/pkg/ctl/create/nodegroup_test.go b/pkg/ctl/create/nodegroup_test.go
index 947c9c1824..5d0fd83cd8 100644
--- a/pkg/ctl/create/nodegroup_test.go
+++ b/pkg/ctl/create/nodegroup_test.go
@@ -138,7 +138,7 @@ var _ = Describe("create nodegroup", func() {
Entry("with full-ecr-access flag", "--full-ecr-access", "true"),
Entry("with appmesh-access flag", "--appmesh-access", "true"),
Entry("with alb-ingress-access flag", "--alb-ingress-access", "true"),
- Entry("with Ubuntu AMI", "--node-ami-family", "Ubuntu2004"),
+ Entry("with Ubuntu AMI", "--node-ami-family", "Ubuntu2204"),
Entry("with Bottlerocket AMI", "--node-ami-family", "Bottlerocket"),
Entry("with subnet-ids flag", "--subnet-ids", "id1,id2,id3"),
Entry("with Windows AMI", "--node-ami-family", "WindowsServer2019FullContainer"),
diff --git a/pkg/eks/api_test.go b/pkg/eks/api_test.go
index e427b779b4..b59086319f 100644
--- a/pkg/eks/api_test.go
+++ b/pkg/eks/api_test.go
@@ -279,27 +279,6 @@ var _ = Describe("eksctl API", func() {
testEnsureAMI(Equal("ami-ssm"), "1.14")
})
- It("should fall back to auto resolution for Ubuntu2004 on 1.14", func() {
- ng.AMIFamily = api.NodeImageFamilyUbuntu2004
- mockDescribeImages(provider, "ami-ubuntu", func(input *ec2.DescribeImagesInput) bool {
- return input.Owners[0] == "099720109477"
- })
- testEnsureAMI(Equal("ami-ubuntu"), "1.14")
- })
-
- It("should resolve AMI using SSM Parameter Store for Ubuntu2004 on 1.29", func() {
- provider.MockSSM().On("GetParameter", mock.Anything, &ssm.GetParameterInput{
- Name: aws.String("/aws/service/canonical/ubuntu/eks/20.04/1.29/stable/current/amd64/hvm/ebs-gp2/ami-id"),
- }).Return(&ssm.GetParameterOutput{
- Parameter: &ssmtypes.Parameter{
- Value: aws.String("ami-ubuntu"),
- },
- }, nil)
- ng.AMIFamily = api.NodeImageFamilyUbuntu2004
-
- testEnsureAMI(Equal("ami-ubuntu"), "1.29")
- })
-
It("should fall back to auto resolution for UbuntuPro2004", func() {
ng.AMIFamily = api.NodeImageFamilyUbuntuPro2004
mockDescribeImages(provider, "ami-ubuntu", func(input *ec2.DescribeImagesInput) bool {
diff --git a/pkg/nodebootstrap/managed_ubuntu_test.go b/pkg/nodebootstrap/managed_ubuntu_test.go
index e97ff6c5af..14a167adac 100644
--- a/pkg/nodebootstrap/managed_ubuntu_test.go
+++ b/pkg/nodebootstrap/managed_ubuntu_test.go
@@ -22,7 +22,7 @@ var _ = Describe("Managed Ubuntu User Data", func() {
clusterConfig.Status = be.clusterStatus
ng := &api.ManagedNodeGroup{
NodeGroupBase: &api.NodeGroupBase{
- AMIFamily: api.NodeImageFamilyUbuntu2004,
+ AMIFamily: api.NodeImageFamilyUbuntu2204,
},
}
diff --git a/pkg/nodebootstrap/ubuntu_test.go b/pkg/nodebootstrap/ubuntu_test.go
index dddd1f1cb5..5a8e68694a 100644
--- a/pkg/nodebootstrap/ubuntu_test.go
+++ b/pkg/nodebootstrap/ubuntu_test.go
@@ -23,7 +23,7 @@ var _ = Describe("Ubuntu User Data", func() {
clusterConfig.Status = &api.ClusterStatus{}
ng = &api.NodeGroup{
NodeGroupBase: &api.NodeGroupBase{
- AMIFamily: "Ubuntu2004",
+ AMIFamily: "Ubuntu2204",
},
}
})
diff --git a/pkg/nodebootstrap/userdata.go b/pkg/nodebootstrap/userdata.go
index b4de32fa38..d7833b55cb 100644
--- a/pkg/nodebootstrap/userdata.go
+++ b/pkg/nodebootstrap/userdata.go
@@ -46,7 +46,7 @@ func NewBootstrapper(clusterConfig *api.ClusterConfig, ng *api.NodeGroup) (Boots
return NewWindowsBootstrapper(clusterConfig, ng, clusterDNS), nil
}
switch ng.AMIFamily {
- case api.NodeImageFamilyUbuntuPro2404, api.NodeImageFamilyUbuntu2404, api.NodeImageFamilyUbuntuPro2204, api.NodeImageFamilyUbuntu2204, api.NodeImageFamilyUbuntuPro2004, api.NodeImageFamilyUbuntu2004:
+ case api.NodeImageFamilyUbuntuPro2404, api.NodeImageFamilyUbuntu2404, api.NodeImageFamilyUbuntuPro2204, api.NodeImageFamilyUbuntu2204, api.NodeImageFamilyUbuntuPro2004:
return NewUbuntuBootstrapper(clusterConfig, ng, clusterDNS), nil
case api.NodeImageFamilyBottlerocket:
return NewBottlerocketBootstrapper(clusterConfig, ng), nil
@@ -78,7 +78,7 @@ func NewManagedBootstrapper(clusterConfig *api.ClusterConfig, ng *api.ManagedNod
return NewManagedAL2Bootstrapper(ng), nil
case api.NodeImageFamilyBottlerocket:
return NewManagedBottlerocketBootstrapper(clusterConfig, ng), nil
- case api.NodeImageFamilyUbuntu2004, api.NodeImageFamilyUbuntuPro2004, api.NodeImageFamilyUbuntu2204, api.NodeImageFamilyUbuntuPro2204, api.NodeImageFamilyUbuntu2404, api.NodeImageFamilyUbuntuPro2404:
+ case api.NodeImageFamilyUbuntuPro2004, api.NodeImageFamilyUbuntu2204, api.NodeImageFamilyUbuntuPro2204, api.NodeImageFamilyUbuntu2404, api.NodeImageFamilyUbuntuPro2404:
return NewUbuntuBootstrapper(clusterConfig, ng, clusterDNS), nil
}
return nil, nil
diff --git a/userdocs/src/usage/custom-ami-support.md b/userdocs/src/usage/custom-ami-support.md
index c2603ebeed..f2508f5724 100644
--- a/userdocs/src/usage/custom-ami-support.md
+++ b/userdocs/src/usage/custom-ami-support.md
@@ -57,7 +57,6 @@ The `--node-ami-family` can take following keywords:
|--------------------------------|:---------------------------------------------------------------------------------------------------------------------------:|
| AmazonLinux2 | Indicates that the EKS AMI image based on Amazon Linux 2 should be used (default). |
| AmazonLinux2023 | Indicates that the EKS AMI image based on Amazon Linux 2023 should be used. |
-| Ubuntu2004 | Indicates that the EKS AMI image based on Ubuntu 20.04 LTS (Focal) should be used (supported for EKS <= 1.29). |
| UbuntuPro2004 | Indicates that the EKS AMI image based on Ubuntu Pro 20.04 LTS (Focal) should be used (available for EKS >= 1.27, <= 1.29). |
| Ubuntu2204 | Indicates that the EKS AMI image based on Ubuntu 22.04 LTS (Jammy) should be used (available for EKS >= 1.29). |
| UbuntuPro2204 | Indicates that the EKS AMI image based on Ubuntu Pro 22.04 LTS (Jammy) should be used (available for EKS >= 1.29). |
@@ -89,7 +88,7 @@ managedNodeGroups:
The `--node-ami-family` flag can also be used with `eksctl create nodegroup`. `eksctl` requires AMI Family to be explicitly set via config file or via `--node-ami-family` CLI flag, whenever working with a custom AMI.
???+ note
- At the moment, EKS managed nodegroups only support the following AMI Families when working with custom AMIs: `AmazonLinux2023`, `AmazonLinux2`, `Bottlerocket`, `Ubuntu2004`, `Ubuntu2204` and `Ubuntu2404`
+ At the moment, EKS managed nodegroups only support the following AMI Families when working with custom AMIs: `AmazonLinux2023`, `AmazonLinux2`, `Bottlerocket`, `Ubuntu2204` and `Ubuntu2404`
## Windows custom AMI support
Only self-managed Windows nodegroups can specify a custom AMI. `amiFamily` should be set to a valid Windows AMI family.