Skip to content

Commit e5a1356

Browse files
committed
underlay: do not delete patch ports created by ovn-controller (#2851)
1 parent 5bb5f45 commit e5a1356

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

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

+4-1
Original file line numberDiff line numberDiff line change
@@ -536,7 +536,10 @@ jobs:
536536
run: make kube-ovn-conformance-e2e
537537

538538
- name: Cleanup
539-
run: sh dist/images/cleanup.sh
539+
run: |
540+
if [ "${{ matrix.mode }}" != underlay ]; then
541+
sh -x dist/images/cleanup.sh
542+
fi
540543
541544
kube-ovn-ic-conformance-e2e:
542545
name: Kube-OVN IC Conformance E2E

pkg/daemon/init.go

+7
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,13 @@ func ovsCleanProviderNetwork(provider string) error {
344344
// remove host nic from the external bridge
345345
if output != "" {
346346
for _, port := range strings.Split(output, "\n") {
347+
// patch port created by ovn-controller has an external ID ovn-localnet-port=localnet.<SUBNET>
348+
if output, err = ovs.Exec("--data=bare", "--no-heading", "--columns=_uuid", "find", "port", "name="+port, `external-ids:ovn-localnet-port!=""`); err != nil {
349+
return fmt.Errorf("failed to find ovs port %s, %v: %q", port, err, output)
350+
}
351+
if output != "" {
352+
continue
353+
}
347354
klog.V(3).Infof("removing ovs port %s from bridge %s", port, brName)
348355
if err = removeProviderNic(port, brName); err != nil {
349356
errMsg := fmt.Errorf("failed to remove port %s from external bridge %s: %v", port, brName, err)

0 commit comments

Comments
 (0)