Skip to content

Commit

Permalink
Move ipset restore outside policy loop
Browse files Browse the repository at this point in the history
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
  • Loading branch information
brandond authored and aauren committed Sep 19, 2023
1 parent 92201bb commit bbcedc8
Showing 1 changed file with 21 additions and 19 deletions.
40 changes: 21 additions & 19 deletions pkg/controllers/netpol/policy.go
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,7 @@ func (npc *NetworkPolicyController) syncNetworkPolicyChains(networkPoliciesInfo
}
}

for ipFamily, ipset := range npc.ipSetHandlers {
ipFamily := ipFamily
for ipFamily := range npc.ipSetHandlers {
// ensure there is a unique chain per network policy in filter table
policyChainName := networkPolicyChainName(policy.namespace, policy.name, version, ipFamily)

Expand Down Expand Up @@ -143,26 +142,29 @@ func (npc *NetworkPolicyController) syncNetworkPolicyChains(networkPoliciesInfo
}
activePolicyIPSets[targetSourcePodIPSetName] = true
}
}
}

restoreStart := time.Now()
err := ipset.Restore()
restoreEndTime := time.Since(restoreStart)

defer func() {
if npc.MetricsEnabled {
switch ipFamily {
case api.IPv4Protocol:
metrics.ControllerPolicyIpsetV4RestoreTime.Observe(restoreEndTime.Seconds())
case api.IPv6Protocol:
metrics.ControllerPolicyIpsetV6RestoreTime.Observe(restoreEndTime.Seconds())
}
for ipFamily, ipset := range npc.ipSetHandlers {
ipFamily := ipFamily
restoreStart := time.Now()
err := ipset.Restore()
restoreEndTime := time.Since(restoreStart)

defer func() {
if npc.MetricsEnabled {
switch ipFamily {
case api.IPv4Protocol:
metrics.ControllerPolicyIpsetV4RestoreTime.Observe(restoreEndTime.Seconds())
case api.IPv6Protocol:
metrics.ControllerPolicyIpsetV6RestoreTime.Observe(restoreEndTime.Seconds())
}
klog.V(2).Infof("Restoring %v ipset took %v", ipFamily, restoreEndTime)
}()

if err != nil {
return nil, nil, fmt.Errorf("failed to perform ipset restore: %w", err)
}
klog.V(2).Infof("Restoring %v ipset took %v", ipFamily, restoreEndTime)
}()

if err != nil {
return nil, nil, fmt.Errorf("failed to perform ipset restore: %w", err)
}
}

Expand Down

0 comments on commit bbcedc8

Please sign in to comment.