Skip to content

Commit 3f7fe4d

Browse files
committed
Updates for v3.25.0
1 parent 4584ca8 commit 3f7fe4d

23 files changed

+193
-83
lines changed

apiserver/Makefile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,11 @@ VERSION_FLAGS = -X $(PACKAGE_NAME)/cmd/apiserver/server.VERSION=$(APISERVER_VERS
5555

5656
include ../lib.Makefile
5757

58+
# TODO Add s390x back to VALIDARCHES. Excluding it should be temporary since
59+
# there are currently issues in our pipeline with building s390x images. Remove
60+
# this command once the s390x build pipeline has been fixed.
61+
VALIDARCHES=amd64 arm64 ppc64le
62+
5863
# We need CGO to leverage Boring SSL. However, the cross-compile doesn't support CGO yet.
5964
ifeq ($(ARCH), $(filter $(ARCH),amd64))
6065
CGO_ENABLED=1

calico/_data/versions.yml

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,37 @@
1-
- title: v3.25.0-pre
2-
note: ""
3-
manifests_url: https://raw.githubusercontent.com/projectcalico/calico/release-v3.25
1+
- title: v3.25.0
2+
manifests_url: https://raw.githubusercontent.com/projectcalico/calico/v3.25.0
43
chart:
54
version: 0
65
tigera-operator:
76
image: tigera/operator
87
registry: quay.io
9-
version: release-v3.25
8+
version: v1.29.0
109
components:
1110
typha:
12-
version: release-v3.25
11+
version: v3.25.0
1312
calicoctl:
14-
version: release-v3.25
13+
version: v3.25.0
1514
calico/node:
16-
version: release-v3.25
15+
version: v3.25.0
1716
calico/cni:
18-
version: release-v3.25
17+
version: v3.25.0
1918
calico/apiserver:
20-
version: release-v3.25
19+
version: v3.25.0
2120
calico/kube-controllers:
22-
version: release-v3.25
21+
version: v3.25.0
2322
calico/flannel-migration-controller:
24-
version: release-v3.25
23+
version: v3.25.0
2524
calico/windows:
26-
version: release-v3.25
25+
version: v3.25.0
2726
networking-calico:
28-
version: release-v3.25
27+
version: v3.25.0
2928
flannel:
3029
version: v0.16.3
3130
calico/dikastes:
32-
version: release-v3.25
31+
version: v3.25.0
3332
flexvol:
34-
version: release-v3.25
33+
version: v3.25.0
3534
csi-driver:
36-
version: release-v3.25
35+
version: v3.25.0
3736
csi-node-driver-registrar:
38-
version: release-v3.25
37+
version: v3.25.0
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
09 Jan 2023
2+
3+
#### eBPF Dataplane Stability: Connect Time Load Balancing (CTLB)
4+
5+
In certain scenarios, Calico would not update rapidly changing pods and IPs properly. We have added
6+
some large changes to the eBPF dataplane in order to ensure that connect time load balancing works
7+
in larger, rapidly changing environments.
8+
9+
Pull Requests:
10+
- ebpf: ipv4 and ipv6 code separated to different object files so the v6 code gets never loaded outside tests. [calico #7093](https://github.com/projectcalico/calico/pull/7093) (@tomastigera)
11+
- ebpf: CTLB resolves service when ipv4 is masked as ipv6. Commonly happens with grpc. [calico #7087](https://github.com/projectcalico/calico/pull/7087) (@tomastigera)
12+
- ebpf: we can apply the CTLB-turned-off workaround just to UDP [calico #6783](https://github.com/projectcalico/calico/pull/6783) (@tomastigera)
13+
- ebpf: host can accesses services without CTLB - gated feature [calico #6527](https://github.com/projectcalico/calico/pull/6527) (@tomastigera)
14+
15+
#### Bug fixes
16+
17+
##### General
18+
- Fix incorrect cleanup in the service policy index after having both ingress and egress rules that reference the same service, resulting in missed IP set updates after one rule was deactivated. [calico #7148](https://github.com/projectcalico/calico/pull/7148) (@fasaxc)
19+
- Fix panic in calico-node when invalid spoofed IP range provided on a pod. [calico #7076](https://github.com/projectcalico/calico/pull/7076) (@caseydavenport)
20+
- fixed felix docs for bpf config options [calico #7065](https://github.com/projectcalico/calico/pull/7065) (@tomastigera)
21+
- Fix missing nsswitch files in Typha causing localhost lookup fails [calico #6971](https://github.com/projectcalico/calico/pull/6971) (@wdoekes)
22+
- Fix that Calico would try to use the IPV6 VXLAN or Wireguard tunnel devices for its BGP connections. [calico #6929](https://github.com/projectcalico/calico/pull/6929) (@coutinhop)
23+
- Fix that Calico would try to use the VXLAN tunnel device for its BGP connections. [calico #6902](https://github.com/projectcalico/calico/pull/6902) (@caseydavenport)
24+
- Add missing Auto option for IptablesBackend FelixConfiguration field [calico #6871](https://github.com/projectcalico/calico/pull/6871) (@huiyizzz)
25+
- Fix an issue that caused annotations and labels to be overwritten during a calicoctl patch command [calico #6791](https://github.com/projectcalico/calico/pull/6791) (@mgleung)
26+
- Fixed SyncLabels validation for Kubernetes datastore. [calico #6786](https://github.com/projectcalico/calico/pull/6786) (@huiyizzz)
27+
- Fix issues with OCP installs using the wrong operator manifest. [calico #6724](https://github.com/projectcalico/calico/pull/6724) (@mgleung)
28+
- Fix bug in IPv6 router ID calculation on IPv6 single-stack clusters that resulted in invalid router IDs being calculated. Note that this change will result in new router IDs being used for some IPv6 single-stack nodes. [calico #6674](https://github.com/projectcalico/calico/pull/6674) (@ramanujadasu)
29+
- Fix that `calicoctl ipam release` could only release IPAM handles when running in etcd mode. [calico #6650](https://github.com/projectcalico/calico/pull/6650) (@fasaxc)
30+
- Fix issue in L3RouteResolver CIDRTrie which could result in crashes when the IPv6 trie had a node with a /63 prefix. [calico #6532](https://github.com/projectcalico/calico/pull/6532) (@coutinhop)
31+
- Fix nil error logged from kube-controllers health reporter [calico #6513](https://github.com/projectcalico/calico/pull/6513) (@caseydavenport)
32+
- Fix that kube-controllers health checks didn't include a timeout on HTTP calls [calico #6513](https://github.com/projectcalico/calico/pull/6513) (@caseydavenport)
33+
- Set IPIPMode and VXLANMode to the default "Never" if they are empty strings in IPPools. [calico #6498](https://github.com/projectcalico/calico/pull/6498) (@coutinhop)
34+
- Fix that single-IP entries on BGPConfiguration LoadBalancerIPs were not advertised according to external traffic policy. [calico #6282](https://github.com/projectcalico/calico/pull/6282) (@mtryfoss)
35+
- fix: ErrorActionPreference must continue for kubectl commands Issue #6127 [calico #6257](https://github.com/projectcalico/calico/pull/6257) (@chrisjohnson00)
36+
37+
##### eBPF
38+
- ebpf: fix error setting accept_local - device may get stuck dirty [calico #7071](https://github.com/projectcalico/calico/pull/7071) (@tomastigera)
39+
- ebpf: no src fixup on host iface for traffic returning from pod to the nodeport tunnel [calico #7039](https://github.com/projectcalico/calico/pull/7039) (@tomastigera)
40+
- ebpf: XDP (notrack) policy debug output is removed/cleaned up when XDP program is removed (fix) [calico #6994](https://github.com/projectcalico/calico/pull/6994) (@tomastigera)
41+
- ebpf: fixes ifstate leak when devices go down [calico #6946](https://github.com/projectcalico/calico/pull/6946) (@tomastigera)
42+
43+
##### Windows
44+
- Fixed issue when Calico Windows hostprocess installation would fail to clean up a previous manual install of Calico Windows. [calico #6952](https://github.com/projectcalico/calico/pull/6952) (@coutinhop)
45+
- Fix issues with the windows node names in GCE [calico #6470](https://github.com/projectcalico/calico/pull/6470) (@lmm)
46+
47+
##### Wireguard
48+
- Limit rate of logging 'Wireguard is not supported' to fix log spam issues. [calico #6534](https://github.com/projectcalico/calico/pull/6534) (@coutinhop)
49+
50+
#### Other changes
51+
52+
##### General
53+
- Felix now supports overriding the timeouts of its internal readiness/liveness watchdog. This is useful for dealing with issues "in prod" without needing a new release. The timeouts have also been tuned to reduce false positives. [calico #7061](https://github.com/projectcalico/calico/pull/7061) (@fasaxc)
54+
- Typha now shares snapshots between clients that connect at roughly the same time. This dramatically reduces load when many clients connect at once. [calico #7047](https://github.com/projectcalico/calico/pull/7047) (@fasaxc)
55+
- By default, skip bridge interface created by `docker network create` command in IP auto-detection [calico #7045](https://github.com/projectcalico/calico/pull/7045) (@masap)
56+
- The Typha protocol now supports compression. This is enabled automatically if client and server both support it. [calico #7043](https://github.com/projectcalico/calico/pull/7043) (@fasaxc)
57+
- Add ignorable interfaces via the BGPConfiguration API [calico #7006](https://github.com/projectcalico/calico/pull/7006) (@huiyizzz)
58+
- Typha now supports graceful shut down, disconnecting calico-node pods at a configured rate instead of all at once. [calico #6973](https://github.com/projectcalico/calico/pull/6973) (@fasaxc)
59+
- Update installation documentation for AWS to include information regarding and links for CSI driver installation [calico #6967](https://github.com/projectcalico/calico/pull/6967) (@Josh-Tigera)
60+
- Update golang from 1.18.7 to 1.18.8 to avoid CVEs. [calico #6961](https://github.com/projectcalico/calico/pull/6961) (@Behnam-Shobiri)
61+
- By default, skip 'podman' interface in IP auto-detection [calico #6950](https://github.com/projectcalico/calico/pull/6950) (@OrvilleQ)
62+
- By default, skip 'nodelocaldns' interface in IP auto-detection [calico #6942](https://github.com/projectcalico/calico/pull/6942) (@cyclinder)
63+
- ebpf: faster program loading for workload endpoint - unused programs not loaded. [calico #6933](https://github.com/projectcalico/calico/pull/6933) (@tomastigera)
64+
- Remove problematic terminology from the codebase. [calico #6912](https://github.com/projectcalico/calico/pull/6912) (@fasaxc)
65+
- Update Istio support to include Istio v1.15.2 [calico #6890](https://github.com/projectcalico/calico/pull/6890) (@frozenprocess)
66+
- Add generalized TTL security mechanism (GTSM) via BGPPeer API [calico #6862](https://github.com/projectcalico/calico/pull/6862) (@Josh-Tigera)
67+
- Retain OpenSSL FIPS dependent files in calico-node image. [calico #6852](https://github.com/projectcalico/calico/pull/6852) (@hjiawei)
68+
- Disable VXLAN checksum offload by default for all kernels. If this was fixed, it has since been regressed. [calico #6842](https://github.com/projectcalico/calico/pull/6842) (@fasaxc)
69+
- Improve formatting of logged-out health reports from components such as Felix. [calico #6833](https://github.com/projectcalico/calico/pull/6833) (@fasaxc)
70+
- Update golang to 1.18.7 to avoid new CVEs. [calico #6824](https://github.com/projectcalico/calico/pull/6824) (@Behnam-Shobiri)
71+
- Updated documentation list of images to pull for deploying from private registry (now includes node-driver-registrar) [calico #6812](https://github.com/projectcalico/calico/pull/6812) (@Josh-Tigera)
72+
- Match full interface names in IP auto-detection default exclude list. [calico #6760](https://github.com/projectcalico/calico/pull/6760) (@neoaggelos)
73+
- Update multiple golang dependencies. [calico #6719](https://github.com/projectcalico/calico/pull/6719) (@Behnam-Shobiri)
74+
- Update the go version used to build the binaries from 1.18.5 to 1.18.6 [calico #6717](https://github.com/projectcalico/calico/pull/6717) (@Behnam-Shobiri)
75+
- Calico now uses a faster JSON parsing library; this reduces CPU load and improves start-up latency. [calico #6705](https://github.com/projectcalico/calico/pull/6705) (@fasaxc)
76+
- Reduce parsing overhead when parsing key/value pairs from Typha. [calico #6703](https://github.com/projectcalico/calico/pull/6703) (@fasaxc)
77+
- Many of Typha's Prometheus metrics are now split by syncer (client) type, represented by a label "syncer" on the metrics. This prevents cross-talk where the syncers would all share the same metrics and the last writer to the metric would "win". [calico #6675](https://github.com/projectcalico/calico/pull/6675) (@fasaxc)
78+
- The vxlanEnabled attribute from FelixConfiguration is now ignored for IPv6 VXLAN pools, allowing VXLAN to have IPv4 enabled independently from IPv6. [calico #6671](https://github.com/projectcalico/calico/pull/6671) (@muff1nman)
79+
- Typha now uses a B-tree for its internal cache, which allows it to export a Prometheus metric, typha_snapshot_size, that gives the total size of its current snapshot of the Calico datastore. [calico #6666](https://github.com/projectcalico/calico/pull/6666) (@fasaxc)
80+
- Use exponential backoff for kube-controllers health check timeout, retry sooner if failed. [calico #6610](https://github.com/projectcalico/calico/pull/6610) (@caseydavenport)
81+
- Bump K8S_VERSION and KUBECTL_VERSION to v1.24.3 in metadata.mk [calico #6606](https://github.com/projectcalico/calico/pull/6606) (@coutinhop)
82+
- Update Installation CRD to include new CSI changes introduced by recent operator API changes. [calico #6596](https://github.com/projectcalico/calico/pull/6596) (@Josh-Tigera)
83+
- Helm: imagePullSecrets now also applied to tigera-operator serviceaccount [calico #6591](https://github.com/projectcalico/calico/pull/6591) (@tamcore)
84+
- Retry kube-controllers initialization on failure [calico #6566](https://github.com/projectcalico/calico/pull/6566) (@tmjd)
85+
- Update the base images to alpine 3.16 for the flexvolume and CSI driver [calico #6559](https://github.com/projectcalico/calico/pull/6559) (@mgleung)
86+
- Windows quickstart install script creates calico service account token secret if missing [calico #6464](https://github.com/projectcalico/calico/pull/6464) (@lmm)
87+
- Updating the dependencies - to avoid indirect vulnerabilities (CVE) detection from scanners. [calico #6452](https://github.com/projectcalico/calico/pull/6452) (@Behnam-Shobiri)
88+
- added FeatureGates to Felix [calico #6381](https://github.com/projectcalico/calico/pull/6381) (@tomastigera)
89+
- eBPF: Add BPF counters to XDP programs, and also load XDP programs using Libbpf instead of iproute2. [calico #6371](https://github.com/projectcalico/calico/pull/6371) (@mazdakn)
90+
- The arm64 image of calico-kube-controllers now runs as non-root by default (similar to the amd64 image). [calico #6346](https://github.com/projectcalico/calico/pull/6346) (@ialidzhikov)
91+
92+
##### eBPF
93+
- ebpf: Include enPxxxxxx in the default BPFDataIfacePattern [calico #7077](https://github.com/projectcalico/calico/pull/7077) (@TrevorTaoARM)
94+
- ebpf: cleanup previously attached programs when BPFDataIfacePattern changes. [calico #7008](https://github.com/projectcalico/calico/pull/7008) (@tomastigera)
95+
- ebpf : BPFDisableLinuxConntrack added to FelixConfiguration resource. [calico #6641](https://github.com/projectcalico/calico/pull/6641) (@mazdakn)
96+
- ebpf: New felix config bpfL3IfacePattern allows to specify non calico L3 devices such as wireguard, vxlan. [calico #6612](https://github.com/projectcalico/calico/pull/6612) (@sridhartigera)
97+
98+
##### Windows
99+
- Update Windows NSSM version [calico #6861](https://github.com/projectcalico/calico/pull/6861) (@song-jiang)
100+
- windows: ensure calico-managed kubelet starts after the calico network has been initialized [calico #6656](https://github.com/projectcalico/calico/pull/6656) (@vitaliy-leschenko)
101+
102+
##### OpenStack
103+
- Calico for OpenStack: remove iptables programming by the DHCP agent that is no longer needed, and that was increasing the need for Felix to resync Calico's iptables programming. Existing users will see issues - i.e. a VM failing to learn its IP address at boot time - if their VM OS is old enough to have unfixed DHCP client software. In that case the remedy is to update the VM OS. For example, in Tigera's own testing, we updated from CirrOS 0.3.4 to CirrOS 0.6.0. [calico #6857](https://github.com/projectcalico/calico/pull/6857) (@tj90241)
104+
- Calico for OpenStack: prime the project (aka tenant) data cache on Neutron server startup [calico #6839](https://github.com/projectcalico/calico/pull/6839) (@tj90241)
105+
- Allow Calico to set MTU in OpenStack [calico #6725](https://github.com/projectcalico/calico/pull/6725) (@nelljerram)
106+

charts/calico/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# The Calico version to use when generating manifests.
2-
version: master
2+
version: v3.25.0
33

44
# Configure the images to use when generating manifests.
55
node:

charts/tigera-operator/values.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ podLabels: {}
4141
# Image and registry configuration for the tigera/operator pod.
4242
tigeraOperator:
4343
image: tigera/operator
44-
version: master
44+
version: v1.29.0
4545
registry: quay.io
4646
calicoctl:
4747
image: docker.io/calico/ctl
48-
tag: master
48+
tag: v3.25.0

hack/release/pkg/builder/builder.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ func (r *ReleaseBuilder) assertManifestVersions(ver string) error {
483483
// Go through a subset of yaml files in manifests/ and extract the images
484484
// that they use. Verify that the images are using the given version.
485485
// We also do the manifests/ocp/ yaml to check the calico/ctl image is correct.
486-
manifests := []string{"calico.yaml", "manifests/ocp/02-tigera-operator.yaml"}
486+
manifests := []string{"calico.yaml", "ocp/02-tigera-operator.yaml"}
487487

488488
for _, m := range manifests {
489489
args := []string{"-Po", `image:\K(.*)`, m}

manifests/apiserver.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ spec:
7777
env:
7878
- name: DATASTORE_TYPE
7979
value: kubernetes
80-
image: calico/apiserver:master
80+
image: calico/apiserver:v3.25.0
8181
livenessProbe:
8282
httpGet:
8383
path: /version

manifests/calico-bpf.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4445,7 +4445,7 @@ spec:
44454445
# It can be deleted if this is a fresh installation, or if you have already
44464446
# upgraded to use calico-ipam.
44474447
- name: upgrade-ipam
4448-
image: docker.io/calico/cni:master
4448+
image: docker.io/calico/cni:v3.25.0
44494449
imagePullPolicy: IfNotPresent
44504450
command: ["/opt/cni/bin/calico-ipam", "-upgrade"]
44514451
envFrom:
@@ -4484,7 +4484,7 @@ spec:
44844484
# This container installs the CNI binaries
44854485
# and CNI network config file on each node.
44864486
- name: install-cni
4487-
image: docker.io/calico/cni:master
4487+
image: docker.io/calico/cni:v3.25.0
44884488
imagePullPolicy: IfNotPresent
44894489
command: ["/opt/cni/bin/install"]
44904490
envFrom:
@@ -4538,7 +4538,7 @@ spec:
45384538
# i.e. bpf at /sys/fs/bpf and cgroup2 at /run/calico/cgroup. Calico-node initialisation is executed
45394539
# in best effort fashion, i.e. no failure for errors, to not disrupt pod creation in iptable mode.
45404540
- name: "mount-bpffs"
4541-
image: docker.io/calico/node:master
4541+
image: docker.io/calico/node:v3.25.0
45424542
imagePullPolicy: IfNotPresent
45434543
command: ["calico-node", "-init", "-best-effort"]
45444544
volumeMounts:
@@ -4564,7 +4564,7 @@ spec:
45644564
# container programs network policy and routes on each
45654565
# host.
45664566
- name: calico-node
4567-
image: docker.io/calico/node:master
4567+
image: docker.io/calico/node:v3.25.0
45684568
imagePullPolicy: IfNotPresent
45694569
envFrom:
45704570
- configMapRef:
@@ -4795,7 +4795,7 @@ spec:
47954795
priorityClassName: system-cluster-critical
47964796
containers:
47974797
- name: calico-kube-controllers
4798-
image: docker.io/calico/kube-controllers:master
4798+
image: docker.io/calico/kube-controllers:v3.25.0
47994799
imagePullPolicy: IfNotPresent
48004800
env:
48014801
# Choose which controllers to run.

0 commit comments

Comments
 (0)