1.32

Canonical Kubernetes Charms 1.32 - Release notes - 20 December 2024

Welcome to the 1.32 release of Canonical Kubernetes charms, the Juju operators for Canonical Kubernetes! These release notes cover the highlights of this release.

What’s new

  • Kubernetes 1.32 - read more about the upstream release here.

  • Canonical Kubernetes Snap 1.32 - read more about the snap release here.

  • Reschedule Update Hook - use systemd to reschedule update-status hooks #118.

  • Override Installed Snap - support a charm resource to override the installed snap #149.

  • Snap Refresh - allow for a snap refresh if the charm wishes to refresh the same revision/channel or use a resource override #166.

  • Feature Configurations - expose Canonical Kubernetes snap feature config through charm config charm config.

  • Terraform Modules - add basic Terraform modules for the Canonical Kubernetes charms #194.

  • Upgrade Orchestration - introduce upgrade orchestration for control plane nodes #200.

  • Multiple Worker Integration - allow the k8s charm to integrate with multiple k8s-worker units #221.

Bug fixes

  • Worker goes into error after the control plane departed #75

  • Control plane does not go into blocked when no relation to worker #90

  • Enable and configure Loadbalancer feature #109

  • Enable and configure LocalStorage feature #110

  • Support to configure Custom registries #111

  • Ability to configure Cilium option --vlan-bpf-bypass #112

Upstream deprecations and API changes

For details of other deprecation notices and API changes for Kubernetes 1.32, please see the relevant sections of the upstream release notes.

Also in this release

  • Replace AssertionError with ReconcileError #173

  • Renames annotations to cluster-annotations in charm config #198

  • Add kube-apiserver-extra-sans option #201

  • Add worker bootstrap-node-taints setting #215

  • Enhance status visibility during cluster upgrades #216

Patch notices

Aug 25, 2025

  • Provide immutability for charm’s bootstrap-* config #629

  • Update k8s snap revisions to amd64-4176 and arm64-4180 #635

  • Address Vale errors in our docs #631

  • Fix issues with etcd simultaneous join #627

  • Stop the charm from managing service restarts when performing a snap refresh #625

  • Update Juju provider version constraint for Terraform #622

  • Bump Cilium to v1.17.1-ck2 #617

  • Provide fix to regenerate tokens when node-join fails #616

  • Update k8s snaps revision to change the default datastore to etcd 3.6 #600 . Existing clusters deployed with k8s-dqlite will not be affected.

  • Sort keys in proxied systemd environment files #605

  • Use ops_test.fast_forwards to speed up testing #597

  • Wait for public IP address to be assigned to confirm it is not clashing with the LB IP address #593

  • Catch a broader httpx exception to signal a failure during cluster inspection #589

  • Allow extra-args to remove args #583

  • Check pods across a configurable set of namespaces to declare workloads ‘active/idle’ #584

  • Add support to apply charm extra-args at runtime #485

  • Add managed-etcd to the list of valid datastores #574

  • Check features when the node status is in not ready state #549

  • Improve cluster name logic #547

  • Restore testing with py38 to continue Focal support #544

  • Improve COS integration and add a kubectl timeout #538

  • Update k8s snap revision to include feature controller fixes #521

  • Fix bug when reading quoted argument for containerd config path #469

  • Add configurable timeout to tests #458

  • Address issue of multiple workers joining the cluster at once #440

Mar 25, 2025

  • Bypass operator-workflows promote task which is limited to Charmcraft 2 base notation #414

  • Update k8s snap revisions amd64-2717 and arm64-2723 #407

  • Bump node-base to apply AZ node labels #400

  • Update canonical/operator-workflows digest to e848763 #376

Feb 19, 2025

  • Cherry-pick bug fixes to 1.32 #327 including:

    • Improve external load balancer endpoint testing

    • Add external load balancer relation

    • Test custom-registry config is applied with or without the containerd relation

    • Address httpx.ConnectError as a cluster-inspect error

    • Use UV as the build system

    • Update integrating testing

  • Update k8s snap 1.32 revision to 2502 on arm64 #335

  • Update k8s snap 1.32 revision to 2500 on amd64 #334

  • Pin kube-control dependency to 0.2.0 #332

  • Fix containerd base dir issue #311

  • Manually set k8s snap 1.32-classic/stable revision #306

Feb 5, 2025

  • Streamline storage tests by using k8s python client #285

  • Update dependency cosl to v0.0.54 #276

  • Update charm libraries #248

  • Update dependency ops to v2.18.0 #269

  • Don’t allow bootstrap with containerd_base #272

  • Address markdown-lint errors #275

  • Update canonical/operator-workflows digest to 1c44a58 #273

  • Expose k8s application config via Terraform #268

  • Pin operator-workflows version #270

  • Upgrade to Charmcraft 3.x #265

  • Update dependency Pydantic to v1.10.21 #236

  • Update dependency cosl to v0.0.51 #227

  • Update dependency LightKube to v0.17.1 #228

  • Update docs link to cluster annotations #254

  • Reduce requirements for the model/bundle for tests specifically on OpenStack #259

  • Map containerd to systemd file rather than /etc/environment #258

  • Allows for clouds(...) marker and --no-deploy handling in integration test #237

  • Upgrade tests must continue when k8s leader is ready for worker upgrades #255

  • Fix CI issue and add missing dependencies for TICS job #253

  • Test with UV on various python versions #247

  • Require Terraform users to specify a charm channel #242

  • Add Tiobe TICS cron job to CI #249

  • Allow bootstrap and join cluster with a fixed containerd-base-dir #239

  • Provide tag-prefix when promoting charms #226

  • Update charm libraries #218

  • Update dependency LightKube to v0.16.0 #220

  • Update dependency cosl to v0.0.48 #222

  • Pick up changes applied to 1.32-release branch #225 including:

    • Pin snap installations to 1.32-classic stable

    • Revert changes to continue having the snap override available from edge channels

    • Begin testing upgrades from 1.32/beta channels

  • Manually upgrade the snap revision to 1958 #256

  • Allow charms to remove node labels via config #244

  • Fix reporting of the default image registry #243

  • Change year to 2025 in licenses #245

Contributors

Many thanks to @addyess, @mateoflorido, @bschimke95, @louiseschmidtgen, @eaudetcobello, @berkayoz, @HomayoonAlimohammadi, @ktsakalozos, @kwmonroe, @maci3jka, @petrutlucian94, @evilnick, @nhennigan, @perk, @asbalderson.