Hide Forgot
Description of problem: This problem was fixed in 4.11 during the dev cycle but still appears to be an issue in 4.10. There are many places in the code where this type of for loop is done: for i, sw := range switches { sw.ACLs = aclUUIDs swName := switches[i].Name opModels = append(opModels, OperationModel{ Model: &sw, ModelPredicate: func(ls *nbdb.LogicalSwitch) bool { return ls.Name == swName }, OnModelMutations: []interface{}{ &sw.ACLs, }, ErrNotFound: true, BulkOp: true, }) } Where the address of the loop variable is used to add to a slice. This will cause the slice to only ever hold the final object in the loop. One of the consequences of this kind of bug is that ACLs, or other OVN configuration may be missing since only the final object int he loop will have configuration applied.
Since this is not present in 4.11z, moving bug state.
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 (Important: OpenShift Container Platform 4.11.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:5069