Skip to content

Commit

Permalink
fix: do not create exist logical switch
Browse files Browse the repository at this point in the history
  • Loading branch information
oilbeater committed Jul 23, 2019
1 parent 3629436 commit 85b4069
Showing 1 changed file with 14 additions and 3 deletions.
17 changes: 14 additions & 3 deletions pkg/controller/subnet.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ func (c *Controller) enqueueUpdateSubnet(old, new interface{}) {
newSubnet := new.(*kubeovnv1.Subnet)

if oldSubnet.Spec.Private != newSubnet.Spec.Private ||
reflect.DeepEqual(oldSubnet.Spec.AllowSubnets, newSubnet.Spec.AllowSubnets) ||
reflect.DeepEqual(oldSubnet.Spec.Namespaces, newSubnet.Spec.Namespaces) {
!reflect.DeepEqual(oldSubnet.Spec.AllowSubnets, newSubnet.Spec.AllowSubnets) ||
!reflect.DeepEqual(oldSubnet.Spec.Namespaces, newSubnet.Spec.Namespaces) {
var key string
var err error
if key, err = cache.MetaNamespaceKeyFunc(new); err != nil {
Expand Down Expand Up @@ -153,7 +153,7 @@ func (c *Controller) processNextDeleteSubnetWorkItem() bool {
return nil
}
if err := c.handleDeleteSubnet(key); err != nil {
c.updateSubnetQueue.AddRateLimited(key)
c.deleteSubnetQueue.AddRateLimited(key)
return fmt.Errorf("error syncing '%s': %s, requeuing", key, err.Error())
}
c.deleteSubnetQueue.Forget(obj)
Expand All @@ -175,6 +175,17 @@ func (c *Controller) handleAddSubnet(key string) error {
}
return err
}
existSubnets, err := c.ovnClient.ListLogicalSwitch()
if err != nil {
klog.Errorf("failed to list exist subnet")
return err
}
for _, s := range existSubnets {
if s == subnet.Name {
return nil
}
}

if err = util.ValidateSubnet(*subnet); err != nil {
klog.Error(err)
c.recorder.Eventf(subnet, v1.EventTypeWarning, "ValidateLogicalSwitchFailed", err.Error())
Expand Down

0 comments on commit 85b4069

Please sign in to comment.