Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add support for tracking latest AMI release version on managed nodegroups #2951

Conversation

bryantbiggs
Copy link
Member

@bryantbiggs bryantbiggs commented Mar 1, 2024

Description

  • Add support for tracking latest AMI release version on managed nodegroups

Motivation and Context

Breaking Changes

  • No

How Has This Been Tested?

  • I have updated at least one of the examples/* to demonstrate and validate my change(s)
  • I have tested and validated these changes using one or more of the provided examples/* projects
  • I have executed pre-commit run -a on my pull request

@bryantbiggs
Copy link
Member Author

using the logic added here, these are the values returned for the different AMI types supported and K8s versions (for reference):

[
    {
        "ami_type": "AL2023_ARM_64_STANDARD",
        "cluster_version": "1.24",
        "release_version": "1.24.17-20240227"
    },
    {
        "ami_type": "AL2023_ARM_64_STANDARD",
        "cluster_version": "1.25",
        "release_version": "1.25.16-20240227"
    },
    {
        "ami_type": "AL2023_ARM_64_STANDARD",
        "cluster_version": "1.26",
        "release_version": "1.26.12-20240227"
    },
    {
        "ami_type": "AL2023_ARM_64_STANDARD",
        "cluster_version": "1.27",
        "release_version": "1.27.9-20240227"
    },
    {
        "ami_type": "AL2023_ARM_64_STANDARD",
        "cluster_version": "1.28",
        "release_version": "1.28.5-20240227"
    },
    {
        "ami_type": "AL2023_ARM_64_STANDARD",
        "cluster_version": "1.29",
        "release_version": "1.29.0-20240227"
    },
    {
        "ami_type": "AL2023_x86_64_STANDARD",
        "cluster_version": "1.24",
        "release_version": "1.24.17-20240227"
    },
    {
        "ami_type": "AL2023_x86_64_STANDARD",
        "cluster_version": "1.25",
        "release_version": "1.25.16-20240227"
    },
    {
        "ami_type": "AL2023_x86_64_STANDARD",
        "cluster_version": "1.26",
        "release_version": "1.26.12-20240227"
    },
    {
        "ami_type": "AL2023_x86_64_STANDARD",
        "cluster_version": "1.27",
        "release_version": "1.27.9-20240227"
    },
    {
        "ami_type": "AL2023_x86_64_STANDARD",
        "cluster_version": "1.28",
        "release_version": "1.28.5-20240227"
    },
    {
        "ami_type": "AL2023_x86_64_STANDARD",
        "cluster_version": "1.29",
        "release_version": "1.29.0-20240227"
    },
    {
        "ami_type": "AL2_ARM_64",
        "cluster_version": "1.24",
        "release_version": "1.24.17-20240227"
    },
    {
        "ami_type": "AL2_ARM_64",
        "cluster_version": "1.25",
        "release_version": "1.25.16-20240227"
    },
    {
        "ami_type": "AL2_ARM_64",
        "cluster_version": "1.26",
        "release_version": "1.26.12-20240227"
    },
    {
        "ami_type": "AL2_ARM_64",
        "cluster_version": "1.27",
        "release_version": "1.27.9-20240227"
    },
    {
        "ami_type": "AL2_ARM_64",
        "cluster_version": "1.28",
        "release_version": "1.28.5-20240227"
    },
    {
        "ami_type": "AL2_ARM_64",
        "cluster_version": "1.29",
        "release_version": "1.29.0-20240227"
    },
    {
        "ami_type": "AL2_x86_64",
        "cluster_version": "1.24",
        "release_version": "1.24.17-20240227"
    },
    {
        "ami_type": "AL2_x86_64",
        "cluster_version": "1.25",
        "release_version": "1.25.16-20240227"
    },
    {
        "ami_type": "AL2_x86_64",
        "cluster_version": "1.26",
        "release_version": "1.26.12-20240227"
    },
    {
        "ami_type": "AL2_x86_64",
        "cluster_version": "1.27",
        "release_version": "1.27.9-20240227"
    },
    {
        "ami_type": "AL2_x86_64",
        "cluster_version": "1.28",
        "release_version": "1.28.5-20240227"
    },
    {
        "ami_type": "AL2_x86_64",
        "cluster_version": "1.29",
        "release_version": "1.29.0-20240227"
    },
    {
        "ami_type": "AL2_x86_64_GPU",
        "cluster_version": "1.24",
        "release_version": "1.24.17-20240227"
    },
    {
        "ami_type": "AL2_x86_64_GPU",
        "cluster_version": "1.25",
        "release_version": "1.25.16-20240227"
    },
    {
        "ami_type": "AL2_x86_64_GPU",
        "cluster_version": "1.26",
        "release_version": "1.26.12-20240227"
    },
    {
        "ami_type": "AL2_x86_64_GPU",
        "cluster_version": "1.27",
        "release_version": "1.27.9-20240227"
    },
    {
        "ami_type": "AL2_x86_64_GPU",
        "cluster_version": "1.28",
        "release_version": "1.28.5-20240227"
    },
    {
        "ami_type": "AL2_x86_64_GPU",
        "cluster_version": "1.29",
        "release_version": "1.29.0-20240227"
    },
    {
        "ami_type": "BOTTLEROCKET_ARM_64",
        "cluster_version": "1.24",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_ARM_64",
        "cluster_version": "1.25",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_ARM_64",
        "cluster_version": "1.26",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_ARM_64",
        "cluster_version": "1.27",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_ARM_64",
        "cluster_version": "1.28",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_ARM_64",
        "cluster_version": "1.29",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_ARM_64_NVIDIA",
        "cluster_version": "1.24",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_ARM_64_NVIDIA",
        "cluster_version": "1.25",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_ARM_64_NVIDIA",
        "cluster_version": "1.26",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_ARM_64_NVIDIA",
        "cluster_version": "1.27",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_ARM_64_NVIDIA",
        "cluster_version": "1.28",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_ARM_64_NVIDIA",
        "cluster_version": "1.29",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_x86_64",
        "cluster_version": "1.24",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_x86_64",
        "cluster_version": "1.25",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_x86_64",
        "cluster_version": "1.26",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_x86_64",
        "cluster_version": "1.27",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_x86_64",
        "cluster_version": "1.28",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_x86_64",
        "cluster_version": "1.29",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_x86_64_NVIDIA",
        "cluster_version": "1.24",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_x86_64_NVIDIA",
        "cluster_version": "1.25",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_x86_64_NVIDIA",
        "cluster_version": "1.26",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_x86_64_NVIDIA",
        "cluster_version": "1.27",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_x86_64_NVIDIA",
        "cluster_version": "1.28",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "BOTTLEROCKET_x86_64_NVIDIA",
        "cluster_version": "1.29",
        "release_version": "1.19.2-29cc92cc"
    },
    {
        "ami_type": "WINDOWS_CORE_2019_x86_64",
        "cluster_version": "1.24",
        "release_version": "1.24-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_CORE_2019_x86_64",
        "cluster_version": "1.25",
        "release_version": "1.25-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_CORE_2019_x86_64",
        "cluster_version": "1.26",
        "release_version": "1.26-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_CORE_2019_x86_64",
        "cluster_version": "1.27",
        "release_version": "1.27-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_CORE_2019_x86_64",
        "cluster_version": "1.28",
        "release_version": "1.28-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_CORE_2019_x86_64",
        "cluster_version": "1.29",
        "release_version": "1.29-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_CORE_2022_x86_64",
        "cluster_version": "1.24",
        "release_version": "1.24-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_CORE_2022_x86_64",
        "cluster_version": "1.25",
        "release_version": "1.25-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_CORE_2022_x86_64",
        "cluster_version": "1.26",
        "release_version": "1.26-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_CORE_2022_x86_64",
        "cluster_version": "1.27",
        "release_version": "1.27-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_CORE_2022_x86_64",
        "cluster_version": "1.28",
        "release_version": "1.28-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_CORE_2022_x86_64",
        "cluster_version": "1.29",
        "release_version": "1.29-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_FULL_2019_x86_64",
        "cluster_version": "1.24",
        "release_version": "1.24-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_FULL_2019_x86_64",
        "cluster_version": "1.25",
        "release_version": "1.25-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_FULL_2019_x86_64",
        "cluster_version": "1.26",
        "release_version": "1.26-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_FULL_2019_x86_64",
        "cluster_version": "1.27",
        "release_version": "1.27-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_FULL_2019_x86_64",
        "cluster_version": "1.28",
        "release_version": "1.28-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_FULL_2019_x86_64",
        "cluster_version": "1.29",
        "release_version": "1.29-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_FULL_2022_x86_64",
        "cluster_version": "1.24",
        "release_version": "1.24-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_FULL_2022_x86_64",
        "cluster_version": "1.25",
        "release_version": "1.25-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_FULL_2022_x86_64",
        "cluster_version": "1.26",
        "release_version": "1.26-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_FULL_2022_x86_64",
        "cluster_version": "1.27",
        "release_version": "1.27-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_FULL_2022_x86_64",
        "cluster_version": "1.28",
        "release_version": "1.28-2024.02.13"
    },
    {
        "ami_type": "WINDOWS_FULL_2022_x86_64",
        "cluster_version": "1.29",
        "release_version": "1.29-2024.02.13"
    }
]

@FernandoMiguel
Copy link
Contributor

is the idea here that by default, AMIs are pinned?
will this be considered a breaking change, since right now the default is to pick the most recent AMI?

@bryantbiggs
Copy link
Member Author

No - there is no change to the current default behavior

@bryantbiggs bryantbiggs marked this pull request as ready for review March 8, 2024 20:54
@bryantbiggs bryantbiggs requested a review from antonbabenko March 8, 2024 20:54
@bryantbiggs bryantbiggs merged commit 393da7e into terraform-aws-modules:master Mar 9, 2024
19 checks passed
@bryantbiggs bryantbiggs deleted the feat/latest-ami-release-version branch March 9, 2024 03:48
antonbabenko pushed a commit that referenced this pull request Mar 9, 2024
## [20.6.0](v20.5.3...v20.6.0) (2024-03-09)

### Features

* Add support for tracking latest AMI release version on managed nodegroups ([#2951](#2951)) ([393da7e](393da7e))
@antonbabenko
Copy link
Member

This PR is included in version 20.6.0 🎉

Copy link

github-actions bot commented Apr 9, 2024

I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 9, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Retrieve the latest ami_release_version for managed node groups
3 participants