Skip to content

Commit 1719bd0

Browse files
committed
Merge branch 'main' into nb-frontend-vpc
2 parents 0bf0d35 + 9966fd8 commit 1719bd0

File tree

5 files changed

+48
-25
lines changed

5 files changed

+48
-25
lines changed

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ DEVBOX_BIN ?= $(DEVBOX_PACKAGES_DIR)/bin
1010
HELM ?= $(LOCALBIN)/helm
1111
HELM_VERSION ?= v3.16.3
1212
GOLANGCI_LINT ?= $(LOCALBIN)/golangci-lint
13-
GOLANGCI_LINT_VERSION ?= v2.5.0
13+
GOLANGCI_LINT_VERSION ?= v2.7.2
1414
GOLANGCI_LINT_NILAWAY ?= $(CACHE_BIN)/golangci-lint-nilaway
1515

1616
#####################################################################
@@ -165,7 +165,7 @@ generate-capl-cluster-manifests:
165165
create-capl-cluster:
166166
# Create a CAPL cluster with updated CCM and wait for it to be ready
167167
kubectl apply -f $(MANIFEST_NAME).yaml
168-
kubectl wait --for=condition=ControlPlaneReady cluster/$(CLUSTER_NAME) --timeout=600s || (kubectl get cluster -o yaml; kubectl get linodecluster -o yaml; kubectl get linodemachines -o yaml)
168+
kubectl wait --for=condition=ControlPlaneReady cluster/$(CLUSTER_NAME) --timeout=600s || (kubectl get cluster -o yaml; kubectl get linodecluster -o yaml; kubectl get linodemachines -o yaml; kubectl logs -n capl-system deployments/capl-controller-manager --tail=50)
169169
kubectl wait --for=condition=NodeHealthy=true machines -l cluster.x-k8s.io/cluster-name=$(CLUSTER_NAME) --timeout=900s
170170
clusterctl get kubeconfig $(CLUSTER_NAME) > $(KUBECONFIG_PATH)
171171
KUBECONFIG=$(KUBECONFIG_PATH) kubectl wait --for=condition=Ready nodes --all --timeout=600s

e2e/test/lb-with-udp-ports-stickiness/chainsaw-test.yaml

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,33 @@ spec:
4747
echo "Nodebalancer config found, updating config stickiness"
4848
4949
kubectl annotate --overwrite svc svc-test -n $NAMESPACE service.beta.kubernetes.io/linode-loadbalancer-default-stickiness=source_ip
50-
sleep 5s
51-
52-
echo "Verifying that stickiness is set to source_ip"
53-
nbconfig=$(LINODE_TOKEN=$LINODE_TOKEN NBID=$nbid ../scripts/get-nb-config.sh)
54-
stickiness=$(echo $nbconfig | jq -r '.stickiness')
55-
echo "stickiness is $stickiness"
50+
51+
echo "Waiting for stickiness to be updated to source_ip..."
52+
max_attempts=12
53+
for i in $(seq 1 $max_attempts); do
54+
echo "Attempt $i/$max_attempts: Checking stickiness..."
55+
nbconfig=$(LINODE_TOKEN=$LINODE_TOKEN NBID=$nbid ../scripts/get-nb-config.sh)
56+
stickiness=$(echo $nbconfig | jq -r '.stickiness')
57+
echo "Current stickiness: $stickiness"
58+
59+
if [[ "$stickiness" == "source_ip" ]]; then
60+
echo "Stickiness successfully updated to source_ip"
61+
break
62+
fi
63+
64+
if [[ $i -eq $max_attempts ]]; then
65+
echo "Timeout: Stickiness was not updated to source_ip after $max_attempts attempts"
66+
exit 1
67+
fi
68+
69+
echo "Waiting 10 seconds before next check..."
70+
sleep 10
71+
done
5672
check:
5773
($error == null): true
58-
(contains($stdout, 'stickiness is source_ip')): true
74+
(contains($stdout, 'Stickiness successfully updated to source_ip')): true
75+
catch:
76+
- script:
77+
content: |
78+
echo "Test failed. Fetching CCM logs..."
79+
kubectl logs -n kube-system daemonsets/ccm-linode | grep "lb-with-udp-ports-stickiness"

e2e/test/lb-with-udp-ports-stickiness/create-pods-services.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ metadata:
3535
name: svc-test
3636
labels:
3737
app: lb-with-udp-ports-stickiness
38+
annotations:
39+
service.beta.kubernetes.io/linode-loadbalancer-default-algorithm: ring_hash
3840
spec:
3941
type: LoadBalancer
4042
selector:

go.mod

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ module github.com/linode/linode-cloud-controller-manager
22

33
go 1.25.0
44

5-
toolchain go1.25.3
5+
toolchain go1.25.5
66

77
require (
88
github.com/appscode/go v0.0.0-20201105063637-5613f3b8169f
9-
github.com/cilium/cilium v1.18.2
9+
github.com/cilium/cilium v1.18.4
1010
github.com/getsentry/sentry-go v0.35.3
1111
github.com/golang/mock v1.6.0
1212
github.com/google/uuid v1.6.0
@@ -138,13 +138,13 @@ require (
138138
go.yaml.in/yaml/v2 v2.4.2 // indirect
139139
go.yaml.in/yaml/v3 v3.0.4 // indirect
140140
go4.org/netipx v0.0.0-20231129151722-fdeea329fbba // indirect
141-
golang.org/x/crypto v0.43.0 // indirect
141+
golang.org/x/crypto v0.45.0 // indirect
142142
golang.org/x/mod v0.29.0 // indirect
143-
golang.org/x/net v0.46.0 // indirect
143+
golang.org/x/net v0.47.0 // indirect
144144
golang.org/x/oauth2 v0.33.0 // indirect
145145
golang.org/x/sync v0.18.0 // indirect
146-
golang.org/x/sys v0.37.0 // indirect
147-
golang.org/x/term v0.36.0 // indirect
146+
golang.org/x/sys v0.38.0 // indirect
147+
golang.org/x/term v0.37.0 // indirect
148148
golang.org/x/text v0.31.0 // indirect
149149
golang.org/x/time v0.12.0 // indirect
150150
golang.org/x/tools v0.38.0 // indirect

go.sum

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK3
2828
github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
2929
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
3030
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
31-
github.com/cilium/cilium v1.18.2 h1:ZqxNBoVLMYbJIYiKXWXna5kxd4XiE9IRww9vdaKJZoo=
32-
github.com/cilium/cilium v1.18.2/go.mod h1:2FzcCUTmMUDdOYxZgyeu1DXbnlwgLHQdzK3FWj+28ME=
31+
github.com/cilium/cilium v1.18.4 h1:/HrbeMmk46UDkJs4uJemIqxB7wuZ+QRMNVscNYua5C8=
32+
github.com/cilium/cilium v1.18.4/go.mod h1:PPAuhDhMHOLaAiraQKDxEHUTmE68RrDlZj3988R+Lco=
3333
github.com/cilium/ebpf v0.19.0 h1:Ro/rE64RmFBeA9FGjcTc+KmCeY6jXmryu6FfnzPRIao=
3434
github.com/cilium/ebpf v0.19.0/go.mod h1:fLCgMo3l8tZmAdM3B2XqdFzXBpwkcSTroaVqN08OWVY=
3535
github.com/cilium/hive v0.0.0-20250611195437-5a5dacdfb354 h1:4G9PC8nQw4pGW5wCMA0g8J8rK1l4C3owlceAOQggXzs=
@@ -376,8 +376,8 @@ golang.org/x/crypto v0.0.0-20190422183909-d864b10871cd/go.mod h1:yigFU9vqHzYiE8U
376376
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
377377
golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
378378
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
379-
golang.org/x/crypto v0.43.0 h1:dduJYIi3A3KOfdGOHX8AVZ/jGiyPa3IbBozJ5kNuE04=
380-
golang.org/x/crypto v0.43.0/go.mod h1:BFbav4mRNlXJL4wNeejLpWxB7wMbc79PdRGhWKncxR0=
379+
golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
380+
golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
381381
golang.org/x/exp v0.0.0-20250911091902-df9299821621 h1:2id6c1/gto0kaHYyrixvknJ8tUK/Qs5IsmBtrc+FtgU=
382382
golang.org/x/exp v0.0.0-20250911091902-df9299821621/go.mod h1:TwQYMMnGpvZyc+JpB/UAuTNIsVJifOlSkrZkhcvpVUk=
383383
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
@@ -391,8 +391,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
391391
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
392392
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
393393
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
394-
golang.org/x/net v0.46.0 h1:giFlY12I07fugqwPuWJi68oOnpfqFnJIJzaIIm2JVV4=
395-
golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210=
394+
golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
395+
golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
396396
golang.org/x/oauth2 v0.33.0 h1:4Q+qn+E5z8gPRJfmRy7C2gGG3T4jIprK6aSYgTXGRpo=
397397
golang.org/x/oauth2 v0.33.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
398398
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -411,11 +411,11 @@ golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBc
411411
golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
412412
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
413413
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
414-
golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ=
415-
golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
414+
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
415+
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
416416
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
417-
golang.org/x/term v0.36.0 h1:zMPR+aF8gfksFprF/Nc/rd1wRS1EI6nDBGyWAvDzx2Q=
418-
golang.org/x/term v0.36.0/go.mod h1:Qu394IJq6V6dCBRgwqshf3mPF85AqzYEzofzRdZkWss=
417+
golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU=
418+
golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
419419
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
420420
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
421421
golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=

0 commit comments

Comments
 (0)