> For the complete documentation index, see [llms.txt](https://docs.platform9.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.platform9.com/self-managed-cloud-platform/smcp-514-release-notes.md).

# SMCP 5.14 Release Notes

**2025-12-22**

| **Component**          | **Version**      |
| ---------------------- | ---------------- |
| Airctl                 | v-5.14.1-4276358 |
| **Workload Clusters**  |                  |
| Kubernetes 1.31        | 1.31.9-pmk.149   |
| Kubernetes 1.32        | 1.32.3-pmk.72    |
| Kubernetes 1.33        | 1.33.3-pmk.50    |
| **Management cluster** |                  |
| Kubernetes 1.33        | 1.33.3-pmk.50    |

## Features/Enhancements

`Added` Continuous backup is now supported via cronjobs:

* **airctl backup cronjob**: Uses `airctl` backup command to take backup of components like consul, mysql, state.yaml, and kplane\_values inside backup\_ \*.tar.gz and stores it under /var/pf9/backups/airctl/ dir.
* **etcd backup cronjob**: Uses the new command introduced for `etcd backup`, i.e. `airctl mgmt-etcd-backup` to take an etcd snapshot and store it under `/var/pf9/backups/etcd/`dir.

Upgrading to **SMCP 5.14** will automatically deploy the cronjobs required to back up `airctl` and `etcd`.

`Added` Introduced `airctl` commands to provide `etcd` backup and restore features:

* **airctl mgmt-etcd-backup**: Triggers etcdctl snapshot save in backend to backup etcd.db under the directory provided in the command using the flag --outdir. By default backup is stored under /tmp dir.
* **airctl mgmt-etcd-restore**: Triggers `etcdutl` snapshot restore in backend to restore etcd db from provided etcd.db file in the command using the flag **--etcd-backup-file-path** (required field).

{% hint style="info" %}
**NOTE**

The `etcd` restore feature is added on the assumption that volumes attached at the time of taking backups are in place and intact, or preserved by customers using external support.
{% endhint %}

`Added` Enhanced `airctl backup` to store backup files containing the current date and time. Also added an optional flag , \`\`airctl backup \`--outfile\`\`\` which will add the given argument as a prefix to the output backup file.

`Added` Workload cluster support for Kubernetes 1.32 and 1.33.

`Added` Updated the management cluster to Kubernetes 1.33.

`Added` Introducing support for Cilium as a Container Network Interface (CNI), providing a high-performance networking, observability, and security layer powered by eBPF. By leveraging eBPF's ability to run logic directly within the Linux kernel, Cilium enables efficient L3/L4 and L7 load balancing, identity-based network policy enforcement, and transparent encryption without the overhead of traditional iptables. This integration enables users to gain deep visibility into service-to-service communication and to achieve greater scalability in large Kubernetes clusters.

`Added` Replaced MinIO with SeaweedFS in the management plane due to licensing changes.

## Bug Fixes

`Fixed` In `airctl delete-mgmt` where containerd failed to remove a container properly.

`Fixed` Installing the kube-prometheus helm chart due to wrong container images.

## Known Issues

`Known Issue` `etcd` restore command i.e `airctl mgmt-etcd-restore` added in this release is not working as expected in multi-master setups. `new`

`Known Issue` ***On Ubuntu 22*** : [SMCP 5.10 to SMCP 5.11 upgrade](https://platform9.com/docs/5.10/PEC/upgrade-smcp#13-upgrade-host-components) procedure requires following commands to be run to update host side components:

* `airctl configure-hosts --reset-pf9-managed-docker-conf --skip-docker-install --skip-docker-img-import --verbose`
* `airctl upgrade-hosts --verbose`

*Impact:* For ubuntu22, above procedure breaks the host connection from the management cluster, terminates the pf9-comms leading to management cluster upgrade failure.

*Workaround:* For ubuntu22, reversing the order of the two commands works; run the upgrade-host then the configure-hosts

`Known Issue` During the DU upgrade process (`airctl upgrade --config airctl-config.yaml --verbose`), the sunpike-kube-apiserver pod enters a CrashLoopBackOff state following the successful execution of the airctl upgrade step. While the pod eventually reconciles itself, it may take an extended duration (30+ minutes or more).

Impact: This delay can disrupt cluster operations, leading to prolonged upgrade timelines and potential downtime for services dependent on the sunpike-kube-apiserver.

Workaround:

Manually restarting the sunpike-kube-apiserver pod resolves the issue and significantly reduces reconciliation time.

`Known Issue` ***On Ubuntu 22***: When rebooting a management cluster node running Ubuntu 22, the node does not automatically recover. This can lead to an unavailable management plane and disruption of cluster operations.

*Impact:* Post-reboot, the management cluster node remains in a non-functional state until manual intervention is performed.

*Workaround:* To recover the node, run the following commands on the affected node:

* sudo systemctl stop pf9-nodeletd.
* sudo /opt/pf9/nodelet/nodeletd phases restart.

`Known Issue` `airctl advance-ddu`**`scale-mgmt`** command fails for scale-down nodes .

## SMCP 5.14 Kubernetes Components List

| **Component**                        | **Kubernetes 1.33** | **Kubernetes 1.32** | **Kubernetes 1.31** |
| ------------------------------------ | ------------------- | ------------------- | ------------------- |
| KUBERNETES BUILD VERSION             | 1.33.3-pmk.50       | 1.32.3-pmk.72       | 1.31.9-pmk.149      |
| CORE-DNS                             | 1.11.1              | 1.11.1              | 1.11.1              |
| CONTAINERD                           | 1.7.13              | 1.7.13              | 1.7.13              |
| RUNC                                 | 1.1.12              | 1.1.12              | 1.1.12              |
| METRICS SERVER                       | 0.6.4               | 0.6.4               | 0.6.4               |
| METAL LB                             | 0.13.11             | 0.13.11             | 0.13.11             |
| KUBERNETES DASHBOARD                 | 2.7.0               | 2.7.0               | 2.7.0               |
| CLUSTER AUTO-SCALER AWS              | 1.28.0              | 1.28.0              | 1.28.0              |
| CLUSTER AUTO-SCALER AZURE            | 1.13.8              | 1.13.8              | 1.13.8              |
| CLUSTER AUTO-SCALER CAPI             | 1.24.0              | 1.24.0              | 1.24.0              |
| FLANNEL                              | 0.24.2              | 0.24.2              | 0.22.2              |
| CALICO`update`                       | 3.27.5              | 3.27.5              | 3.27.5              |
| **CILIUM** `new`                     | 1.17.2              | 1.17.2              | 1.17.2              |
| **CILIUM-CLI** `new`                 | 0.18.3              | 0.18.3              | 0.18.3              |
| ETCD                                 | 3.5.12              | 3.5.12              | 3.5.12              |
| CNI PLUGINS                          | 1.4.0               | 1.4.0               | 1.3.0               |
| KUBEVIRT                             | 1.0.0               | 1.0.0               | 1.0.0               |
| KUBEVIRT CDI                         | 1.57.0              | 1.57.0              | 1.57.0              |
| ADVANCED NETWORKING OPERATOR (LUIGI) | 0.5.4               | 0.5.4               | 0.5.4               |
| MONITORING - PROMETHEUS OPERATOR     | 0.68.1              | 0.68.1              | 0.68.1              |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.platform9.com/self-managed-cloud-platform/smcp-514-release-notes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
