Bug 2094462
| Summary: | DeleteACLsFromPortGroupOps doesn't actually have any UUIDs set, so it deletes nothing and complains | ||
|---|---|---|---|
| Product: | OpenShift Container Platform | Reporter: | Surya Seetharaman <surya> |
| Component: | Networking | Assignee: | Nadia Pinaeva <npinaeva> |
| Networking sub component: | ovn-kubernetes | QA Contact: | huirwang |
| Status: | CLOSED ERRATA | Docs Contact: | |
| Severity: | medium | ||
| Priority: | medium | CC: | huirwang, jechen |
| Version: | 4.11 | Keywords: | Triaged |
| Target Milestone: | --- | ||
| Target Release: | 4.12.0 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2023-01-17 19:49:52 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: | |||
Seems like there is already a PR upstream to fix this: https://github.com/ovn-org/ovn-kubernetes/pull/2994 so this bug will simply track the downstream cherry-pick Changing state to POST since I don't have to do much on this bug. easy fix merged by Nadia: https://github.com/ovn-org/ovn-kubernetes/pull/3055 giving her the bug as well since she did the fix. 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.12.0 bug fix and 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:7399 |
Description of problem: E0601 13:32:27.979534 39 namespace.go:188] error in transact with ops [{Op:mutate Table:Port_Group Row:map[] Rows:[] Columns:[] Mutations:[{Column:acls Mutator:delete Value:{GoSet:[{GoUUID:} {GoUUID:}]}}] Timeout:<nil> Where:[where column _uuid == {8eba5920-69a7-49e9-97f7-e239a430802e}] Until: Durable:<nil> Comment:<nil> Lock:<nil> UUIDName:} {Op:delete Table:Port_Group Row:map[] Rows:[] Columns:[] Mutations:[] Timeout:<nil> Where:[where column _uuid == {8eba5920-69a7-49e9-97f7-e239a430802e}] Until: Durable:<nil> Comment:<nil> Lock:<nil> UUIDName:}] results [{Count:0 Error:syntax error Details:named-uuid string is not a valid <id> UUID:{GoUUID:} Rows:[]} {Count:0 Error: Details: UUID:{GoUUID:} Rows:[]}] and errors [syntax error: named-uuid string is not a valid <id>]: 1 ovsdb operations failed egressMatch := getACLMatch(portGroupName, getMulticastACLEgrMatch(), knet.PolicyTypeEgress) egressACL := buildACL(ns, portGroupName, "MulticastAllowEgress", nbdb.ACLDirectionFromLport, types.DefaultMcastAllowPriority, egressMatch, nbdb.ACLActionAllow, "", knet.PolicyTypeEgress) ingressMatch := getACLMatch(portGroupName, getMulticastACLIgrMatch(nsInfo), knet.PolicyTypeIngress) ingressACL := buildACL(ns, portGroupName, "MulticastAllowIngress", nbdb.ACLDirectionToLport, types.DefaultMcastAllowPriority, ingressMatch, nbdb.ACLActionAllow, "", knet.PolicyTypeIngress) ops, err := libovsdbops.DeleteACLsFromPortGroupOps(nbClient, nil, portGroupName, egressACL, ingressACL) if err != nil { return err } func DeleteACLsFromPortGroupOps(nbClient libovsdbclient.Client, ops []libovsdb.Operation, name string, acls ...*nbdb.ACL) ([]libovsdb.Operation, error) { if len(acls) == 0 { return ops, nil } pg := nbdb.PortGroup{ Name: name, ACLs: make([]string, 0, len(acls)), } for _, acl := range acls { pg.ACLs = append(pg.ACLs, acl.UUID) } opModel := operationModel{ Model: &pg, OnModelMutations: []interface{}{&pg.ACLs}, ErrNotFound: true, BulkOp: false, } m := newModelClient(nbClient) return m.DeleteOps(ops, opModel) } BuildACL doesn't actually have any acl uuid set. Version-Release number of selected component (if applicable): How reproducible: Always in upstream ovnk CI Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info: