Skip to content

Commit

Permalink
Update podSubnetAccessMode
Browse files Browse the repository at this point in the history
Signed-off-by: Wenqi Qiu <wenqiq@vmware.com>
  • Loading branch information
wenqiq committed Jul 11, 2024
1 parent bb9f2b1 commit 759ae3f
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 24 deletions.
35 changes: 21 additions & 14 deletions pkg/controllers/namespace/namespace_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,18 +57,6 @@ func (r *NamespaceReconciler) createNetworkInfoCR(ctx *context.Context, obj clie
log.Info("networkInfo already exists", "networkInfo", networkInfos.Items[0].Name, "Namespace", ns)
return &networkInfos.Items[0], nil
}
nc, ncExist := r.VPCService.GetVPCNetworkConfig(ncName)
if !ncExist {
message := fmt.Sprintf("missing network config %s for namespace %s", ncName, ns)
r.namespaceError(ctx, obj, message, nil)
return nil, errors.New(message)
}
if !r.VPCService.ValidateNetworkConfig(nc) {
// if network config is not valid, no need to retry, skip processing
message := fmt.Sprintf("invalid network config %s for namespace %s, missing private cidr", ncName, ns)
r.namespaceError(ctx, obj, message, nil)
return nil, errors.New(message)
}

// create networkInfo cr with existing vpc network config
log.V(2).Info("building networkInfo", "ns", ns)
Expand Down Expand Up @@ -96,7 +84,7 @@ func (r *NamespaceReconciler) createNetworkInfoCR(ctx *context.Context, obj clie
return networkInfoCR, nil
}

func (r *NamespaceReconciler) createDefaultSubnetSet(ns string) error {
func (r *NamespaceReconciler) createDefaultSubnetSet(ns string, defaultPodAccessMode string) error {
defaultSubnetSets := map[string]string{
types.DefaultVMSubnetSet: types.LabelDefaultVMSubnetSet,
types.DefaultPodSubnetSet: types.LabelDefaultPodSubnetSet,
Expand Down Expand Up @@ -132,6 +120,12 @@ func (r *NamespaceReconciler) createDefaultSubnetSet(ns string) error {
},
},
}
if name == types.DefaultVMSubnetSet {
// use "Private" type for VM
obj.Spec.AccessMode = v1alpha1.AccessMode("Private")
} else if name == types.DefaultPodSubnetSet {
obj.Spec.AccessMode = v1alpha1.AccessMode(defaultPodAccessMode)
}
if err := r.Client.Create(context.Background(), obj); err != nil {
return err
}
Expand Down Expand Up @@ -229,10 +223,23 @@ func (r *NamespaceReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
}
}

nc, ncExist := r.VPCService.GetVPCNetworkConfig(ncName)
if !ncExist {
message := fmt.Sprintf("missing network config %s for namespace %s", ncName, ns)
r.namespaceError(&ctx, obj, message, nil)
return common.ResultRequeueAfter10sec, nil
}
if !r.VPCService.ValidateNetworkConfig(nc) {
// if network config is not valid, no need to retry, skip processing
message := fmt.Sprintf("invalid network config %s for namespace %s, missing private cidr", ncName, ns)
r.namespaceError(&ctx, obj, message, nil)
return common.ResultRequeueAfter10sec, nil
}

if _, err := r.createNetworkInfoCR(&ctx, obj, ns, ncName); err != nil {
return common.ResultRequeueAfter10sec, nil
}
if err := r.createDefaultSubnetSet(ns); err != nil {
if err := r.createDefaultSubnetSet(ns, nc.PodSubnetAccessMode); err != nil {
return common.ResultRequeueAfter10sec, nil
}
return common.ResultNormal, nil
Expand Down
6 changes: 1 addition & 5 deletions pkg/controllers/subnet/subnet_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,7 @@ func (r *SubnetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctr
}

if obj.Spec.AccessMode == "" {
accessMode := v1alpha1.AccessMode(v1alpha1.AccessModePrivate)
if obj.Name == servicecommon.DefaultPodSubnetSet {
accessMode = v1alpha1.AccessMode(vpcNetworkConfig.PodSubnetAccessMode)
}
obj.Spec.AccessMode = accessMode
obj.Spec.AccessMode = v1alpha1.AccessMode(v1alpha1.AccessModePrivate)
}
if obj.Spec.IPv4SubnetSize == 0 {
obj.Spec.IPv4SubnetSize = vpcNetworkConfig.DefaultSubnetSize
Expand Down
7 changes: 2 additions & 5 deletions pkg/controllers/subnetset/subnetset_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,12 +74,9 @@ func (r *SubnetSetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
updateFail(r, &ctx, obj, "")
return ResultRequeue, err
}

if obj.Spec.AccessMode == "" {
accessMode := v1alpha1.AccessMode(v1alpha1.AccessModePrivate)
if obj.Name == servicecommon.DefaultPodSubnetSet {
accessMode = v1alpha1.AccessMode(vpcNetworkConfig.PodSubnetAccessMode)
}
obj.Spec.AccessMode = accessMode
obj.Spec.AccessMode = v1alpha1.AccessMode(v1alpha1.AccessModePrivate)
}
if obj.Spec.IPv4SubnetSize == 0 {
obj.Spec.IPv4SubnetSize = vpcNetworkConfig.DefaultSubnetSize
Expand Down

0 comments on commit 759ae3f

Please sign in to comment.