Upgrading existing DIP or CNF instances is also done through git. Following are the four different upgrade scenarios.
Helm Chart/Kubernetes Manifests Upgrade
If you need to upgrade the helm charts/Kubernetes manifests, make a git commit to update the helm charts/Kubernetes manifests. The TCA automatically realises the commit. This also applies to upgrade on values.yaml files if overwritten
values.yaml
files are used in the CNF intent.DIP Intent Only Upgrade
In this scenario, you have to upgrade the DIP intent to change the node customization of a nodepool, with the assumption that the new node customization is compatible with the CNF instances that are already deployed on the nodepool. In this case, you can make a git commit to update the config section of the DIP intent. The TCA automatically realises updated node customization (defined by config section).
CNF Intent Only Upgrade
In this scenario, you have to upgrade the CNF intent to point to a newer version of existing helm charts or add a new helm charts. You can make a git commit to update the "manifest" section of the CNF intent file. The TCA will automatically realize updated CNF intent.
Both DIP and CNF Intent Upgrade
In this scenario, you upgrade the DIP intent to change the node customization of a nodepool. However, the new node customization is incompatible with the existing CNF instances on the nodepool, therefore the CNF instances also need an upgrade. To handle this upgrade scenario, along with updating the config section of the DIP intent, you need to change the version field of the DIP intent to a newer version. On the CNF intent side, apart from updating the manifest section of the CNF intent (sometimes you may not need to modify the manifest section, but modify the helm charts as in Scenario 1), change the dip.version field to match the newer version of the dependent DIP. With these updates, TCA will automatically realize the upgraded intents and enforce that the upgraded CNF instance is only applied after the upgraded DIP instance is applied successfully.
Currently the git rename operation for intent files is not supported. To workaround this limitation, delete the intent file and recreate the intent file using a different name.
The git push operation should not be done with tag
--force
.