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.