Skip to content

Commit c24b4c3

Browse files
committed
fix
Signed-off-by: clyi <[email protected]>
1 parent 3af1130 commit c24b4c3

File tree

6 files changed

+48
-36
lines changed

6 files changed

+48
-36
lines changed

.github/workflows/build-x86-image.yaml

+28-20
Original file line numberDiff line numberDiff line change
@@ -3145,7 +3145,7 @@ jobs:
31453145
path: kube-ovn-connectivity-e2e-${{ matrix.mode }}-ko-log.tar.gz
31463146

31473147

3148-
kube-ovn-metallb-e2e:
3148+
kube-ovn-underlay-metallb-e2e:
31493149
name: OVN METALLB E2E
31503150
needs:
31513151
- build-kube-ovn
@@ -3222,6 +3222,14 @@ jobs:
32223222
- name: Load images
32233223
run: docker load -i kube-ovn.tar
32243224

3225+
- name: Set environment variables
3226+
run: |
3227+
if [ $(($RANDOM%2)) -ne 0 ]; then
3228+
# run as root and use valgrind to debug memory leak
3229+
echo "VERSION=$(cat VERSION)-debug" >> "$GITHUB_ENV"
3230+
echo "DEBUG_WRAPPER=valgrind" >> "$GITHUB_ENV"
3231+
fi
3232+
32253233
- name: Create kind cluster
32263234
run: |
32273235
pipx install jinjanator
@@ -3232,53 +3240,53 @@ jobs:
32323240
run: make kind-install-metallb-pool-from-underlay
32333241

32343242
- name: Run Ovn Metallb and Kube-OVN Combine E2E
3235-
id: kube-ovn-metallb-e2e
3243+
id: kube-ovn-underlay-metallb-e2e
32363244
working-directory: ${{ env.E2E_DIR }}
32373245
env:
32383246
E2E_BRANCH: ${{ github.base_ref || github.ref_name }}
3239-
run: make kube-ovn-metallb-e2e
3247+
run: make kube-ovn-underlay-metallb-e2e
32403248

32413249
- name: Collect k8s events
32423250
if: failure() && ( steps.ovn-metallb-e2e.conclusion == 'failure')
32433251
run: |
3244-
kubectl get events -A -o yaml > kube-ovn-metallb-e2e-events.yaml
3245-
tar zcf kube-ovn-metallb-e2e-events.tar.gz kube-ovn-metallb-e2e-events.yaml
3252+
kubectl get events -A -o yaml > kube-ovn-underlay-metallb-e2e-events.yaml
3253+
tar zcf kube-ovn-underlay-metallb-e2e-events.tar.gz kube-ovn-underlay-metallb-e2e-events.yaml
32463254
32473255
- name: Upload k8s events
32483256
uses: actions/upload-artifact@v4
3249-
if: failure() && (steps.kube-ovn-metallb-e2e.conclusion == 'failure')
3257+
if: failure() && (steps.kube-ovn-underlay-metallb-e2e.conclusion == 'failure')
32503258
with:
3251-
name: kube-ovn-metallb-e2e-events
3252-
path: kube-ovn-metallb-e2e-events.tar.gz
3259+
name: kube-ovn-underlay-metallb-e2e-events
3260+
path: kube-ovn-underlay-metallb-e2e-events.tar.gz
32533261

32543262
- name: Collect apiserver audit logs
3255-
if: failure() && (steps.kube-ovn-metallb-e2e.conclusion == 'failure')
3263+
if: failure() && (steps.kube-ovn-underlay-metallb-e2e.conclusion == 'failure')
32563264
run: |
32573265
docker cp kube-ovn-control-plane:/var/log/kubernetes/kube-apiserver-audit.log .
3258-
tar zcf kube-ovn-metallb-e2e-audit-log.tar.gz kube-apiserver-audit.log
3266+
tar zcf kube-ovn-underlay-metallb-e2e-audit-log.tar.gz kube-apiserver-audit.log
32593267
32603268
- name: Upload apiserver audit logs
32613269
uses: actions/upload-artifact@v4
3262-
if: failure() && (steps.kube-ovn-metallb-e2e.conclusion == 'failure')
3270+
if: failure() && (steps.kube-ovn-underlay-metallb-e2e.conclusion == 'failure')
32633271
with:
3264-
name: kube-ovn-metallb-e2e-audit-log
3265-
path: kube-ovn-metallb-e2e-audit-log.tar.gz
3272+
name: kube-ovn-underlay-metallb-e2e-audit-log
3273+
path: kube-ovn-underlay-metallb-e2e-audit-log.tar.gz
32663274

32673275
- name: kubectl ko log
3268-
if: failure() && (steps.kube-ovn-metallb-e2e.conclusion == 'failure')
3276+
if: failure() && (steps.kube-ovn-underlay-metallb-e2e.conclusion == 'failure')
32693277
run: |
32703278
make kubectl-ko-log
3271-
mv kubectl-ko-log.tar.gz kube-ovn-metallb-e2e-ko-log.tar.gz
3279+
mv kubectl-ko-log.tar.gz kube-ovn-underlay-metallb-e2e-ko-log.tar.gz
32723280
32733281
- name: upload kubectl ko log
32743282
uses: actions/upload-artifact@v4
3275-
if: failure() && (steps.kube-ovn-metallb-e2e.conclusion == 'failure')
3283+
if: failure() && (steps.kube-ovn-underlay-metallb-e2e.conclusion == 'failure')
32763284
with:
3277-
name: kube-ovn-metallb-e2e-ko-log
3278-
path: kube-ovn-metallb-e2e-ko-log.tar.gz
3285+
name: kube-ovn-underlay-metallb-e2e-ko-log
3286+
path: kube-ovn-underlay-metallb-e2e-ko-log.tar.gz
32793287

32803288
- name: Check kube ovn pod restarts
3281-
if: ${{ success() || (failure() && (steps.install.conclusion == 'failure' || steps.kube-ovn-metallb-e2e.conclusion == 'failure')) }}
3289+
if: ${{ success() || (failure() && (steps.install.conclusion == 'failure' || steps.kube-ovn-underlay-metallb-e2e.conclusion == 'failure')) }}
32823290
run: make check-kube-ovn-pod-restarts
32833291

32843292
push:
@@ -3290,7 +3298,7 @@ jobs:
32903298
- kube-ovn-conformance-e2e
32913299
- kube-ovn-ic-conformance-e2e
32923300
- kube-ovn-ipsec-e2e
3293-
- kube-ovn-metallb-e2e
3301+
- kube-ovn-underlay-metallb-e2e
32943302
- multus-conformance-e2e
32953303
- vpc-egress-gateway-e2e
32963304
- ovn-vpc-nat-gw-conformance-e2e

charts/kube-ovn/templates/ovn-CR.yaml

+12-3
Original file line numberDiff line numberDiff line change
@@ -290,18 +290,27 @@ rules:
290290
- nodes
291291
- nodes/status
292292
- pods
293+
- services
293294
verbs:
294295
- get
295296
- list
296297
- patch
297298
- watch
299+
- apiGroups:
300+
- "kubeovn.io"
301+
resources:
302+
- ips
303+
verbs:
304+
- get
305+
- update
298306
- apiGroups:
299307
- ""
300308
resources:
301-
- services
309+
- events
302310
verbs:
303-
- list
304-
- watch
311+
- create
312+
- patch
313+
- update
305314
- apiGroups:
306315
- ""
307316
resources:

dist/images/Dockerfile.base

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ RUN cd /usr/src/ && git clone -b branch-24.03 --depth=1 https://github.com/ovn-o
6767
# skip node local dns ip conntrack when set acl
6868
curl -s https://github.com/kubeovn/ovn/commit/e7d3ba53cdcbc524bb29c54ddb07b83cc4258ed7.patch | git apply && \
6969
# select local backend first
70-
curl -s https://github.com/kubeovn/ovn/commit/faa762818447a4ac470ec28c69bbcabf80091d3a.patch | git apply
70+
curl -s https://github.com/kubeovn/ovn/commit/1fed88af496939d6e526b38897bc10d56557c5c4.patch | git apply
7171

7272
RUN apt install -y build-essential fakeroot \
7373
autoconf automake bzip2 debhelper-compat dh-exec dh-python dh-sequence-python3 dh-sequence-sphinxdoc \

dist/images/install.sh

+1-7
Original file line numberDiff line numberDiff line change
@@ -3670,6 +3670,7 @@ rules:
36703670
- nodes
36713671
- nodes/status
36723672
- pods
3673+
- services
36733674
verbs:
36743675
- get
36753676
- list
@@ -3690,13 +3691,6 @@ rules:
36903691
- create
36913692
- patch
36923693
- update
3693-
- apiGroups:
3694-
- ""
3695-
resources:
3696-
- services
3697-
verbs:
3698-
- list
3699-
- watch
37003694
- apiGroups:
37013695
- ""
37023696
resources:

e2e.mk

+3-2
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ e2e-build:
8282
ginkgo build $(E2E_BUILD_FLAGS) ./test/e2e/kubevirt
8383
ginkgo build $(E2E_BUILD_FLAGS) ./test/e2e/webhook
8484
ginkgo build $(E2E_BUILD_FLAGS) ./test/e2e/connectivity
85+
ginkgo build $(E2E_BUILD_FLAGS) ./test/e2e/metallb
8586

8687
.PHONY: k8s-conformance-e2e
8788
k8s-conformance-e2e:
@@ -252,8 +253,8 @@ kube-ovn-connectivity-e2e:
252253
ginkgo $(GINKGO_OUTPUT_OPT) --procs 2 --randomize-all -v \
253254
--focus=CNI:Kube-OVN ./test/e2e/connectivity -- $(TEST_BIN_ARGS)
254255

255-
.PHONY: kube-ovn-metallb-e2e
256-
kube-ovn-metallb-e2e:
256+
.PHONY: kube-ovn-underlay-metallb-e2e
257+
kube-ovn-underlay-metallb-e2e:
257258
ginkgo build $(E2E_BUILD_FLAGS) ./test/e2e/metallb
258259
E2E_BRANCH=$(E2E_BRANCH) \
259260
E2E_IP_FAMILY=$(E2E_IP_FAMILY) \

test/e2e/metallb/e2e_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -326,13 +326,13 @@ var _ = framework.Describe("[group:metallb]", func() {
326326
_ = subnetClient.CreateSync(subnet)
327327

328328
ginkgo.By("Create deploy in underlay subnet")
329-
annoations := map[string]string{
329+
annotations := map[string]string{
330330
util.LogicalSwitchAnnotation: subnetName,
331331
}
332332
podLabels := map[string]string{"app": "nginx"}
333333

334334
args := []string{"netexec", "--http-port", strconv.Itoa(curlListenPort)}
335-
deploy := framework.MakeDeployment(deployName, 3, podLabels, annoations, "nginx", framework.AgnhostImage, "")
335+
deploy := framework.MakeDeployment(deployName, 3, podLabels, annotations, "nginx", framework.AgnhostImage, "")
336336
deploy.Spec.Template.Spec.Containers[0].Args = args
337337
_ = deployClient.CreateSync(deploy)
338338

@@ -408,7 +408,7 @@ func checkReachable(f *framework.Framework, containerID, sourceIP, targetIP, tar
408408
}
409409
}
410410

411-
framework.ExpectNotEqual(vipNode, "", "Failed to find the node with MAC address: %s", vipMac)
411+
framework.ExpectNotEmpty(vipNode, "Failed to find the node with MAC address: %s", vipMac)
412412
framework.Logf("Node with MAC address %s is %s", vipMac, vipNode)
413413

414414
ginkgo.By("Checking the backend pod's host is same as the metallb vip's node")

0 commit comments

Comments
 (0)