Kuryr-Kubernetes supports standard OpenStack utility for checking upgrade is possible and safe:
$ kuryr-k8s-status upgrade check
+---------------------------------------+
| Upgrade Check Results |
+---------------------------------------+
| Check: Pod annotations |
| Result: Success |
| Details: All annotations are updated. |
+---------------------------------------+
If any issue will be found, the utility will give you explanation and possible remediations. Also note that Warning results aren’t blocking an upgrade, but are worth investigating.
In T we want to drop support for old format of Pod annotations (switch was
motivated by multi-vif support feature implemented in Rocky). To make sure that
you don’t have unsupported Pod annotations you need to run kuryr-k8s-status
upgrade check
utility before upgrading Kuryr-Kubernetes services to T.
Note
In case of running Kuryr-Kubernetes containerized you can use kubectl
exec
to run kuryr-k8s-status
$ kubectl -n kube-system exec -it <controller-pod-name> kuryr-k8s-status upgrade check
$ kuryr-k8s-status upgrade check
+---------------------------------------+
| Upgrade Check Results |
+---------------------------------------+
| Check: Pod annotations |
| Result: Success |
| Details: All annotations are updated. |
+---------------------------------------+
In case of Failure result of Pod annotations check you should run
kuryr-k8s-status upgrade update-annotations
command and check again:
$ kuryr-k8s-status upgrade check
+----------------------------------------------------------------------+
| Upgrade Check Results |
+----------------------------------------------------------------------+
| Check: Pod annotations |
| Result: Failure |
| Details: You have 3 Kuryr pod annotations in old format. You need to |
| run `kuryr-k8s-status upgrade update-annotations` |
| before proceeding with the upgrade. |
+----------------------------------------------------------------------+
$ kuryr-k8s-status upgrade update-annotations
+-----------------------+--------+
| Stat | Number |
+-----------------------+--------+
| Updated annotations | 3 |
+-----------------------+--------+
| Malformed annotations | 0 |
+-----------------------+--------+
| Annotations left | 0 |
+-----------------------+--------+
$ kuryr-k8s-status upgrade check
+---------------------------------------+
| Upgrade Check Results |
+---------------------------------------+
| Check: Pod annotations |
| Result: Success |
| Details: All annotations are updated. |
+---------------------------------------+
It’s possible that some annotations were somehow malformed. That will generate a warning that should be investigated, but isn’t blocking upgrading to T (it won’t make things any worse).
If in any case you need to rollback those changes, there is
kuryr-k8s-status upgrade downgrade-annotations
command as well.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.