Bug 2017650
Summary: | [OVN]EgressFirewall cannot be applied correctly if cluster has windows nodes | ||
---|---|---|---|
Product: | OpenShift Container Platform | Reporter: | huirwang |
Component: | Networking | Assignee: | Surya Seetharaman <surya> |
Networking sub component: | ovn-kubernetes | QA Contact: | huirwang |
Status: | CLOSED ERRATA | Docs Contact: | |
Severity: | high | ||
Priority: | medium | CC: | surya |
Version: | 4.7 | ||
Target Milestone: | --- | ||
Target Release: | 4.10.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | No Doc Update | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2022-03-10 16:22:12 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
huirwang
2021-10-27 06:13:08 UTC
Apologies on the delay in getting to this bug, is this still an issue on the 4.7 cluster? If it is still an issue, can I please have access to the windows cluster where this is being observed? I am unable to reproduce this rn, so would be good to get my hands on a reproducer. Cheers, Surya. Took a look at the cluster, this is a bug and happens only on hybrid-overlay mode. We try to create acls with the following command to attach them to the node-switch in LGW (<4.8 OCP): for _, logicalSwitch := range logicalSwitches { if uuids == "" { _, stderr, err := util.RunOVNNbctl("--id=@acl", "create", "acl", fmt.Sprintf("priority=%d", priority), fmt.Sprintf("direction=%s", toLport), match, "action="+action, fmt.Sprintf("external-ids:egressFirewall=%s", externalID), "--", "add", "logical_switch", logicalSwitch, "acls", "@acl") if err != nil { return fmt.Errorf("error executing create ACL command, stderr: %q, %+v", stderr, err) } } else { for _, uuid := range strings.Fields(uuids) { _, stderr, err := util.RunOVNNbctl("add", "logical_switch", logicalSwitch, "acls", uuid) if err != nil { return fmt.Errorf("error adding ACL to joinsSwitch %s failed, stderr: %q, %+v", logicalSwitch, stderr, err) } } } } and logicalSwitches are constructed from: if config.Gateway.Mode == config.GatewayModeLocal { nodes, err := oc.watchFactory.GetNodes() if err != nil { return fmt.Errorf("unable to setup egress firewall ACLs on cluster nodes, err: %v", err) } for _, node := range nodes { logicalSwitches = append(logicalSwitches, node.Name) } } else { logicalSwitches = append(logicalSwitches, types.OVNJoinSwitch) } the whole list of nodes in the cluster, we need to avoid hybrid-overlay nodes because hybrid overlay nodes won't have ovn-k topology configured. sh-4.4# ovn-nbctl ls-list 1e1e489b-eea2-49f2-97c0-6ca8522c73a1 (ext_huirwang-011347-7vxst-master-0) 9d332752-3bd7-485d-996b-2eedd19b02ee (ext_huirwang-011347-7vxst-master-1) 78dce192-e897-4701-9108-83fe47afbd07 (ext_huirwang-011347-7vxst-master-2) 41db2b20-4a2c-4a3b-9e92-17b12469932e (ext_huirwang-011347-7vxst-worker-g6dzw) b58453d0-299f-48cd-98ee-5fa7f754d5c6 (ext_huirwang-011347-7vxst-worker-gdmzq) 12cc994f-a881-4d85-b876-e57993bac112 (huirwang-011347-7vxst-master-0) d7a4e30d-5e35-4ec9-8c26-e1cedab6f13e (huirwang-011347-7vxst-master-1) a4051baa-19e8-4de7-ab87-32b07156c099 (huirwang-011347-7vxst-master-2) 524a94bf-cc95-4202-9789-f2761e422eee (huirwang-011347-7vxst-worker-g6dzw) fca70df5-a7b9-4b47-a8d8-ba1632ca70d5 (huirwang-011347-7vxst-worker-gdmzq) ce7416ad-5200-4c2d-9cef-d43f5f845ad1 (join) 290a2ea3-8df0-44af-87bd-984a219a2eab (node_local_switch) Setting severity and priority to medium. https://github.com/ovn-org/ovn-kubernetes/pull/2749 posted upstream fix, Once it lands need to backport it downstream and do the nbctl equivalent of this in <4.10 releases. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: OpenShift Container Platform 4.10.3 security update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2022:0056 |