v2.4.0
Release notes for Cluster API Provider AWS (CAPA) v2.4.0
Changelog since v2.3.0
Urgent Upgrade Notes
(No, really, you MUST read this before you upgrade)
- v1beta1 types are not going to be served any longer and will be removed in the next release (#4757, @vincepri)
Changes by Kind
Feature
- A new enum value,
disabled
, is added for theAWSCluster.spec.controlPlaneLoadBalancer.loadBalancerType
field, which skips the reconciliation of the load balancer for the given cluster, useful for clusters which are consuming an externally managed Control Plane. (#4438, @prometherion) - Add & Reconcile ROSAMachinePools.spec.version (#4764, @muraee)
- Add tests for the re-introduced managed subnet functionality in #4474 (#4637, @AndiDog)
- Added AWSMachine and AWSMachineTemplate fields to control vpc placement for individual instances (#4541, @cnmcavoy)
- Adds support for a secondary, internal API server load balancer within clusters. (#4733, @nrb)
- Allow to configure garbage collector using clusterawsadm (#4500, @Fedosin)
- Enable transit encryption on S3 buckets (#4676, @fiunchinho)
- Generate CAPI kubeconfig secret for ROSA clusters (#4742, @muraee)
- Ignition: add option to store User Data in plain text (#4700, @damdo)
- Introduce basic support for ROSAMachinePools (#4725, @muraee)
- Log full ARN in GC error messages (#4709, @AndiDog)
- Prevent users setting SpotMarketOptions and MixedInstancesPolicy at the same time (#4656, @fiunchinho)
- Reconcile ROSAControlPlane version to trigger upgrades (#4761, @muraee)
- Reconcile ROSAControlePlane status (#4759, @muraee)
- Remove ingress and egress rules from vpc default security group (#4707, @fiunchinho)
- Skip AWSCluster deletion reconciliation once CAPA finalizer is gone (#4730, @AndiDog)
- Support setting HostnameType options for subnets and machines (#4664, @MaxFedotov)
- Trigger machine pool instance refresh (node rollout) if bootstrap config reference changes (#4619, @AndiDog)
- Use go 1.21.5 (#4710, @fiunchinho)
- Bump CAPI to v1.6.x (#4739, @damdo)
Bug or Regression
- Don't error when ASG is not present while deciding whether or not to refresh ASG instances. (#4660, @fiunchinho)
- Fix logging verbosity for machine pool reconciliation (#4620, @AndiDog)
- Fix: bump rosa deps to fix int overflow on non-64bit arch (#4836, @damdo)
- Make VPC creation idempotent to avoid indefinite creation of new VPCs if storage of the ID fails (#4723, @AndiDog)
- Resolved issue where deleted control planes were still registered in the kube-apiserver load balancer, causing potential disruptions. (#4701, @tobiasgiese)
- Skip instance refresh attempt if ASG does not yet exist (#4662, @fiunchinho)
- Treat the annotation
cluster.x-k8s.io/replicas-managed-by
on MachinePool CR as described in CAPI documentation and do not set desired replicas on ASG when the annotation is present. (#4654, @calvix) - Update AWSMachine providerID and instanceID earlier to minimize scenarios where tag-based searching is needed (#4670, @mjlshen)
- Various changes to the releases process. (#4813, @richardcase)
- When using Ignition, the S3 bucket was previously created in us-east-1 regardless of where the cluster was located, new S3 buckets will be created within the same region as the cluster. (#4732, @vincepri)
Failing Test
- Add CI script to test docker builds for the controller and clusterawsadm with all architectures. (#4834, @richardcase)
Support
- Disable dependency report short term. (#4825, @richardcase)
- Move @AndiDog to reviewer status (#4687, @richardcase)
- Update metadata for v2.4.x release series. (#4833, @richardcase)
Other (Cleanup or Flake)
- Dependabot configuration update to group updates, (#4688, @richardcase)
- Fix some logging and error cases (#4724, @AndiDog)
- If you're using S3 buckets for bootstrap data, the following permissions are required on the controller to automatically detect whether an object is still needing to be deleted:
s3:GetObject
. The following permissions are optional:s3:ListBucket
. (#4667, @thefirstofthe300)
Uncategorized
- Updated the default clusterctl template to use external cloud-controller-manager (#4678, @nrb)
- Use seedling emoji for dependabot pull requests (#4652, @kranurag7)
- Wrap the underlying error when the AWSMachinePool reconciler fails to get the infra provider cluster or control plane object (#4685, @harveyxia)
The images for this release are: registry.k8s.io/cluster-api-aws/cluster-api-aws-controller:v2.4.0
Thanks to all our contributors.