-
Notifications
You must be signed in to change notification settings - Fork 776
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bump Calico image version #2878
Conversation
Thank you for this PR @joedborg. With this PR we want to also remove the TCP offloading we have in place to mitigate the issue in [1]. We will need to update the apiserver-kicker not to do any offloading. ALso please investigate if we need to configure calico in a different way. We need to do this update because the code we have for offloading seems to be freezing the apiserver on arm64/rpi. [1] projectcalico/calico#3145 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please see the comments.
Also @joedborg please take the calico manifest from [1] and apply the changes described in [2]. There are new sections introduced in the calico manifest so just updating the image tags might be enough. [1] https://projectcalico.docs.tigera.io/archive/v3.19/getting-started/kubernetes/self-managed-onprem/onpremises |
Let's see if that builds. |
This is better @joedborg, we need however to also take into account the clusters that get refreshed and are still running the the 3.19.1 calico. In such clusters the TCP offloading should be kept in place. Only new clusters should have the offloading disabled. |
In this case, should we keep offloading or check the calico version in the refresh hook (and upgrade calico to 3.19.3)? |
I think it would be best to try to upgrade calico, it is a patch release so there should not be any danger. The challenge in upgrading is how would we do this refresh as at the time the refresh (or configure hooks) kubernetes may be stopped (eg via [1] https://github.com/ubuntu/microk8s/blob/master/microk8s-resources/wrappers/apiservice-kicker#L86 |
Have added |
@joedborg changing the tag numbers is not what we want to do for this upgrade. See #2878 (comment) We have to start with the calico manifest from upstream and update the Could we please also move directly to v3.latest so we match the version charmed k8s has? The upgrade scripts are used during the ha-cluster upgrade [2]. [1] https://github.com/ubuntu/microk8s/blob/master/upgrade-scripts/000-switch-to-calico/resources/calico.yaml#L3941 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Calico-related work LGTM.
One code-related comment: upgrade-scripts
(up to this point) use a specific format of "hooks" ({commit,prepare,rollback}-{node,master}.sh
). I would strongly prefer that either 003-calico-upgrade
follow the same scheme, or be moved to a separate location entirely.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Tested:
- Refresh to this snap from 1.23 (single-node + cluster. for clusters, refreshing a worker node has no effect. calico is only updated when the first control plane node gets the update)
- Fresh install
tox.ini
Outdated
@@ -23,7 +23,7 @@ commands = | |||
black --diff --check --exclude "/(\.eggs|\.git|\.tox|\.venv|\.build|dist|charmhelpers|mod)/" . | |||
|
|||
[testenv:unit] | |||
commands = pytest -s upgrade-scripts/003-upgrade-calico/test-upgrade-calico-cni.py | |||
commands = pytest -s scripts/upgrade-calico/test-upgrade-calico-cni.py |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit; The test file could be moved under a tests/unit
folder (to avoid clutter in the result snap build).
2877844
to
c0bc33e
Compare
Introduce a mechanism to upgrade the calico CNI and upgrade to 3.21.4.
Also in this PR: