Skip to content

Commit

Permalink
kube-ovn-controller: fix subnet update (#2882)
Browse files Browse the repository at this point in the history
  • Loading branch information
zhangzujian committed Jun 5, 2023
1 parent 35aa8b4 commit 6acecb6
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 18 deletions.
4 changes: 2 additions & 2 deletions pkg/controller/init.go
Expand Up @@ -104,7 +104,7 @@ func (c *Controller) initDefaultLogicalSwitch() error {
if util.CheckProtocol(c.config.DefaultCIDR) == kubeovnv1.ProtocolDual {
subnet := subnet.DeepCopy()
subnet.Spec.CIDRBlock = c.config.DefaultCIDR
if err := formatSubnet(subnet, c); err != nil {
if _, err = formatSubnet(subnet, c); err != nil {
klog.Errorf("init format subnet %s failed: %v", c.config.DefaultLogicalSwitch, err)
return err
}
Expand Down Expand Up @@ -158,7 +158,7 @@ func (c *Controller) initNodeSwitch() error {
// single-stack upgrade to dual-stack
subnet := subnet.DeepCopy()
subnet.Spec.CIDRBlock = c.config.NodeSwitchCIDR
if err := formatSubnet(subnet, c); err != nil {
if _, err = formatSubnet(subnet, c); err != nil {
klog.Errorf("init format subnet %s failed: %v", c.config.NodeSwitch, err)
return err
}
Expand Down
23 changes: 7 additions & 16 deletions pkg/controller/subnet.go
Expand Up @@ -260,13 +260,13 @@ func (c *Controller) processNextDeleteSubnetWorkItem() bool {
return true
}

func formatSubnet(subnet *kubeovnv1.Subnet, c *Controller) error {
func formatSubnet(subnet *kubeovnv1.Subnet, c *Controller) (*kubeovnv1.Subnet, error) {
var err error
changed := false

changed, err = checkSubnetChanged(subnet)
if err != nil {
return err
return nil, err
}
if subnet.Spec.Provider == "" {
subnet.Spec.Provider = util.OvnProvider
Expand Down Expand Up @@ -296,7 +296,7 @@ func formatSubnet(subnet *kubeovnv1.Subnet, c *Controller) error {
if _, err := c.vlansLister.Get(subnet.Spec.Vlan); err != nil {
err = fmt.Errorf("failed to get vlan %s: %s", subnet.Spec.Vlan, err)
klog.Error(err)
return err
return nil, err
}
}
}
Expand All @@ -313,13 +313,13 @@ func formatSubnet(subnet *kubeovnv1.Subnet, c *Controller) error {

klog.Infof("format subnet %v, changed %v", subnet.Name, changed)
if changed {
_, err = c.config.KubeOvnClient.KubeovnV1().Subnets().Update(context.Background(), subnet, metav1.UpdateOptions{})
subnet, err = c.config.KubeOvnClient.KubeovnV1().Subnets().Update(context.Background(), subnet, metav1.UpdateOptions{})
if err != nil {
klog.Errorf("failed to update subnet %s, %v", subnet.Name, err)
return err
return nil, err
}
}
return nil
return subnet.DeepCopy(), nil
}

func genNatOutgoingPolicyRulesStatus(subnet *kubeovnv1.Subnet) error {
Expand Down Expand Up @@ -642,17 +642,8 @@ func (c *Controller) handleAddOrUpdateSubnet(key string) error {
}
klog.V(4).Infof("handle add or update subnet %s", cachedSubnet.Name)

subnet := cachedSubnet.DeepCopy()
if err = formatSubnet(subnet, c); err != nil {
return err
}

subnet, err = c.subnetsLister.Get(key)
subnet, err := formatSubnet(cachedSubnet.DeepCopy(), c)
if err != nil {
if k8serrors.IsNotFound(err) {
return nil
}
klog.Errorf("failed to get subnet %s error %v", key, err)
return err
}

Expand Down

0 comments on commit 6acecb6

Please sign in to comment.