Repository navigation
buildchain,salt: bump calico to 3.33.0 - #5165
riadelhajjaji-scality wants to merge 3 commits into
Conversation
Hello riadelhajjaji-scality,My role is to assist you with the merge of this Available options
Available commands
Status report is not available. |
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list: |
|
/changie Enhanced |
|
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list: |
|
LGTM |
|
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list: |
|
LGTM |
906a64a to
4dc5a6c
Compare
|
LGTM |
ezekiel-alexrod
left a comment
There was a problem hiding this comment.
Adding release links to the changelog message could be handy too
| K8S_VERSION: str = f"{K8S_SHORT_VERSION}.{K8S_VERSION_PATCH}" | ||
|
|
||
| CALICO_VERSION: str = "3.32.0" | ||
| CALICO_VERSION: str = "3.33.0" |
There was a problem hiding this comment.
Thanks for your comment !
I have already tested it to see compatibility with our Calico configuration, and I didn't notice any issues. I put what I have checked in #MK8S-351
Bump Calico from v3.32.0 to v3.33.0. The deployed.sls manifest is rebased on the upstream v3.33.0 calico.yaml, and all MetalK8s patches are kept (see BUMPING_CALICO.md). Breaking changes upstream, handled in this commit: - Single calico image: the calico/cni and calico/kube-controllers images are no longer published. They are replaced by calico/calico (CNI plugin, IPAM, kube-controllers), plus the new calico/third-party-cni-plugins init image (portmap, host-local, loopback...). Images, REMOTE_NAMES and the control-plane boot cache are updated accordingly. - Node process consolidation: calico-node now runs its helper services in a single `calico` process, which listens on the 127.0.0.1:9099 health port. The expected process in the listening ports check becomes `calico`, a prefix that still matches the `calico-node` process of older Calico, so nodes not upgraded yet keep passing the check during an upgrade. Changes that could impact MetalK8s: - Felix, not BIRD, now programs the IPIP cluster routes by default (BIRD programming is deprecated, removal planned for v3.35): no configuration change needed, we keep IPIP CrossSubnet. - The CNI configuration declares cniVersion 1.0.0, which requires containerd >= 1.6: we ship containerd 2.2.5. - BIRD default logging for BGP peers is more verbose (states, routes, filters, events), which increases calico-node logs sent to Loki. - Felix Prometheus metrics client auth defaults to NoClientCert: Felix metrics are not enabled in MetalK8s. - FIPS image variants removed, netkit device type and BPF attach changes: not used by MetalK8s (no FIPS images, veth, iptables dataplane). Also add a 10s initialDelaySeconds to the calico-node readiness probe, so the first check does not run before BIRD is started, avoiding "BIRD is not ready" warnings on startup. This patch is documented in BUMPING_CALICO.md so it is reapplied on next bumps. The digests have been updated by pulling the images from the registry using: gcrane digest docker.io/calico/calico:v3.33.0 gcrane digest docker.io/calico/node:v3.33.0 gcrane digest docker.io/calico/third-party-cni-plugins:v3.33.0 Ref: MK8S-351
0d823e2 to
f0d7f05
Compare
Branches have divergedThis pull request's source branch To avoid any integration risks, please re-synchronize them using one of the
Note: If you choose to rebase, you may have to ask me to rebuild |
|
LGTM |
|
@riadelhajjaji-scality please resolve conflicts |
…K8S-351-bump-calico # Conflicts: # buildchain/buildchain/image.py
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list: |
|
LGTM |
|
✅ Changelog check passed. |
| @@ -364,7 +363,6 @@ def _local_image(name: str, **kwargs: Any) -> targets.LocalImage: | |||
| "kube-controller-manager", | |||
| "kube-scheduler", | |||
| "coredns", | |||
There was a problem hiding this comment.
Moving calico-kube-controllers out of the control-plane boot cache makes the unreleased changelog entry .changes/unreleased/Enhanced-20260820-140410-488064253.yaml wrong: it still lists calico-kube-controllers in metalk8s-boot-cache-control-plane. Please update that entry (control-plane: kube-apiserver, kube-controller-manager, kube-scheduler, CoreDNS; Calico images all in the worker cache).
— Claude Code
|
Component: build, salt, networking
Context:
MetalK8s 136.0 ships Calico 3.32.0. Calico
3.33.0
brings bug and security fixes, and changes how Calico is packaged:
most components now ship in a single
calico/calicoimage, and thecalico-node helper services run in a single
calicoprocess.Summary:
salt/metalk8s/kubernetes/cni/calico/deployed.slson the upstreamv3.33.0
calico.yaml, keeping all MetalK8s patchescalico-cniandcalico-kube-controllersimages are nolonger published, and are replaced by
calico(CNI plugin, IPAM,kube-controllers) and the new
calico-third-party-cni-pluginsinitimage (portmap, host-local, loopback...).
versions.py,image.py(
IMGS_PER_REPOSITORY,REMOTE_NAMES, control-plane boot cache) andBUMPING_CALICO.mdare updated accordingly127.0.0.1:9099nowruns in the
calicoprocess, so the expected process becomescalico. This prefix still matches thecalico-nodeprocess ofCalico 3.32, so nodes not yet upgraded keep passing the check during
an upgrade
initialDelaySecondsto the calico-node readiness probe,to avoid "BIRD is not ready" warnings on startup (documented in
BUMPING_CALICO.md)Upstream changes reviewed against our configuration:
(BIRD programming is deprecated, removal planned for v3.35): no
configuration change needed, we keep IPIP CrossSubnet
cniVersion1.0.0, which requirescontainerd >= 1.6: we ship containerd 2.x
filters, events), which increases calico-node logs sent to Loki
NoClientCert:Felix metrics are not enabled in MetalK8s
changes: not used by MetalK8s
Acceptance criteria:
calico-nodepods are Ready, and BGP peering between nodes isestablished, including after a
calico-nodepod restart3.33
Closes: #MK8S-351