Release notes for Cluster API Provider AWS (CAPA) v2.9.0
Changelog since v2.8.4
Urgent Upgrade Notes
(No, really, you MUST read this before you upgrade)
- Action required
Add missing permissions for controller. Its recommended that you update your CloudFormation stack. (#5537, @richardcase) - Action required
Garbage collection graduated out of experimental. If you don't want this feature enabled please see the docs on how to disabled it. (#5348, @richardcase) - Action required
Support setting role path and permissions boundary on managed IAM roles. If you want to use permission boundaries, then you will need to update your IAM permissions by running clusterawsadm bootstrap iam create-cloudformation-stack again. (#5286, @robinkb) - Action required
Support storing Ignition user data in S3 bucket forAWSMachinePool
. If you plan to use this feature then you will need to update the permissions for CAPA using clusterawsadm. (#5318, @AndiDog)
Changes by Kind
Support
- Add machine pool template for Flatcar Linux (#5522, @AndiDog)
- Bump calico used in e2e tests to newest version. (#5459, @richardcase)
- Bump github.com/golang/glog to v1.2.5 (#5590, @damdo)
- Bump to go 1.23 (#5437, @damdo)
Deprecation
- Migrate ServiceLimiters to AWS SDK V2 (#5574, @punkwalker)
- Migrate autoscaling to AWS SDK V2 (#5497, @alexander-demicev)
- Migrate elb to AWS SDK v2 (#5572, @phuhung273)
- Migrate iam to aws sdk v2 (#5526, @alexander-demicev)
- Migrate instancestate code to AWS SDK v2 (#5562, @phuhung273)
- Migrate sts to sdk v2 (#5601, @alexander-demicev)
API Change
Feature
- Add ClusterClass support for EKS clusters (#5375, @alexander-demicev)
- Add support for 'fast' channelGroupType in ROSA provider (#5587, @cblecker)
- Adds the capability of provisioning machines on to dedicated hosts. (#5548, @rvanderp3)
- Control plane load balancers are created concurrently, reducing cluster
installation time when specifying a secondary control plane load balancer. (#5569, @mdbooth) - Migrate EC2 packages to AWS SDK v2 (#5521, @yiannistri)
- Migrate EKS packages to AWS SDK v2 (#5498, @punkwalker)
- Migrate Node packages to AWS SDK v2 (#5584, @LiangquanLi930)
- Migrate secretsmanager code to AWS SDK v2 (#5615, @LiangquanLi930)
- Migrate ssm code to AWS SDK v2 (#5529, @miyadav)
- Migrate the S3 service to aws-sdk-go-v2 (#5389, @punkwalker)
- Support additional security group ingress rules for all nodes (#5224, @AndiDog)
- Support running EC2 instances with capacity reservation preferences. i.e.
capacityReservationPreference: none
(#5609, @BraeTroutman) - ✨ Added support for Amazon Linux 2023 and Amazon Linux 2023 GPU AMI lookup in EKS optimized AMI workflow. (#5517, @matzegebbe)
Documentation
- Add feature gate environment variable for machine pool machines (#5575, @AndiDog)
- Update docs on generating clusterclass based test flavours. (#5466, @richardcase)
Bug or Regression
- Add Version to ROSA Control Plane Status (#5443, @PanSpagetka)
- Apply CAPI machinepool changes to ROSAMachinePool (#5386, @PanSpagetka)
- Don't overwrite subnet spec tags with tags from the subnet on AWS (#5474, @fiunchinho)
- Enable NLB target group connection draining to allow for graceful shutdown of apiserver processes (#5589, @benluddy)
- Fix addition logic of getAttemptContextMiddleware (#5580, @punkwalker)
- Fix determined value for
MinSize
field of ASG, avoiding unnecessary updates to ASG (#5523, @AndiDog) - Fix error message text in rosa control plane controller (#5456, @mzazrivec)
- Fix issue with creation of ec2 instances when specifying an existing network interface (#5595, @kylewuolle)
- Fix update ROSA-HCP version channel group (#5616, @serngawy)
- Fix: Ignore conflict resolution and correctly compare configuration for AddOn reconciliation (#5458, @mloiseleur)
- Fix: disallow setting of
CapacityReservationPreference: CapacityReservationsOnly
whenMarketType: Spot
orSpotMarketOptions
is set (#5633, @BraeTroutman) - Fixed the default AMI lookup when using a bastion. (#5531, @richardcase)
- LaunchTemplate needs to be updated if spot options are changed (#5496, @fiunchinho)
- Set conditions to true when reconciliation is successful (#5591, @fiunchinho)
- Update launch template if PrivateDnsName changes (#5508, @fiunchinho)
- Update launch template if capacity-block reservation id changes (#5506, @fiunchinho)
- Update launch template if ssh key name changes (#5507, @fiunchinho)
- Wire logger into machine scope (#5462, @fiunchinho)
- 🐛 Fix missing CRD validation for Amazon Linux 2023 eksLookupType enum values, completing the AL2023 support introduced in v2.8. (#5558, @AmitSahastra)
Other (Cleanup or Flake)
- AWS SDK V1 Cleanup (#5620, @punkwalker)
- Migrate ELB garbage collection to AWS SDK v2 (#5518, @Danil-Grigorev)
Uncategorized
- Add Kubernetes API Linter to project. (#5392, @richardcase)
- Adding support for custom Lifecycle Hooks in AWSMachinePools for external hooks (e.g support for the aws-node-termination-handler with SQS) (#4875, @sebltm)
- Bump CAPI to v1.10.2 (#5447, @tamalsaha)
- Skip adding reserved aws internal tags to resources as they are invalid (#5461, @athiruma)
- Update documentation to refer to new e2e documentation link. (#5545, @rvanderp3)
The images for this release are:
registry.k8s.io/cluster-api-aws/cluster-api-aws-controller:v2.9.0
Thanks to all our contributors.