@@ -696,11 +696,7 @@ func (c *Controller) handleAddIptablesDnatRule(key string) error {
696
696
klog .Errorf ("failed to get eip, %v" , err )
697
697
return err
698
698
}
699
- if eip .Status .Nat != "" && eip .Status .Nat != util .DnatUsingEip {
700
- // eip is in use by other nat
701
- err = fmt .Errorf ("failed to create dnat %s, eip '%s' is used by nat %s" , key , eipName , eip .Status .Nat )
702
- return err
703
- }
699
+
704
700
if dup , err := c .isDnatDuplicated (eip .Spec .NatGwDp , eipName , dnat .Name , dnat .Spec .ExternalPort ); dup || err != nil {
705
701
return err
706
702
}
@@ -775,11 +771,7 @@ func (c *Controller) handleUpdateIptablesDnatRule(key string) error {
775
771
klog .Errorf ("failed to get eip, %v" , err )
776
772
return err
777
773
}
778
- if eip .Status .Nat != "" && eip .Status .Nat != "dnat" {
779
- // eip is in use by other nat
780
- err = fmt .Errorf ("failed to update dnat %s, eip '%s' is used by nat %s" , key , eipName , eip .Status .Nat )
781
- return err
782
- }
774
+
783
775
if dup , err := c .isDnatDuplicated (cachedDnat .Status .NatGwDp , eipName , cachedDnat .Name , cachedDnat .Spec .ExternalPort ); dup || err != nil {
784
776
klog .Errorf ("failed to update dnat, %v" , err )
785
777
return err
@@ -880,11 +872,7 @@ func (c *Controller) handleAddIptablesSnatRule(key string) error {
880
872
klog .Errorf ("failed to get eip, %v" , err )
881
873
return err
882
874
}
883
- if eip .Status .Nat != "" && eip .Status .Nat != "snat" {
884
- // eip is in use by other nat
885
- err = fmt .Errorf ("failed to create snat %s, eip '%s' is used by nat '%s'" , key , eipName , eip .Status .Nat )
886
- return err
887
- }
875
+
888
876
// create snat
889
877
v4Cidr , _ := util .SplitStringIP (snat .Spec .InternalCIDR )
890
878
if v4Cidr == "" {
@@ -968,11 +956,7 @@ func (c *Controller) handleUpdateIptablesSnatRule(key string) error {
968
956
klog .Errorf ("failed to get eip, %v" , err )
969
957
return err
970
958
}
971
- if eip .Status .Nat != "" && eip .Status .Nat != "snat" {
972
- // eip is in use by other nat
973
- err = fmt .Errorf ("failed to update snat %s, eip '%s' is used by %s" , key , eipName , eip .Status .Nat )
974
- return err
975
- }
959
+
976
960
// add or update should make sure vpc nat enabled
977
961
if vpcNatEnabled != "true" {
978
962
return fmt .Errorf ("iptables nat gw not enable" )
0 commit comments