Skip to content
This repository has been archived by the owner on May 13, 2024. It is now read-only.

Commit

Permalink
wip: deploy gateway
Browse files Browse the repository at this point in the history
Signed-off-by: Lin Yang <reaver@flomesh.io>
  • Loading branch information
reaver-flomesh committed May 16, 2023
1 parent 375386d commit 6bc909b
Show file tree
Hide file tree
Showing 38 changed files with 120 additions and 102 deletions.
2 changes: 1 addition & 1 deletion cmd/ingress-pipy/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ func (i *ingress) calcPipySpawn() int64 {
klog.Fatal(err)
os.Exit(1)
}
klog.Infof("CPU Limits = %#v", cpuLimits)
klog.Infof("CPU Limits = %v", cpuLimits)

spawn := int64(1)
if cpuLimits.Value() > 0 {
Expand Down
2 changes: 1 addition & 1 deletion cmd/manager/basic/tls.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ func SetupTLS(ctx *fctx.FsmContext) error {
klog.Infof("[MGR] Setting up TLS ...")

mc := ctx.ConfigStore.MeshConfig.GetConfig()
klog.V(5).Infof("mc.Ingress.TLS=%#v", mc.Ingress.TLS)
klog.V(5).Infof("mc.Ingress.TLS=%v", mc.Ingress.TLS)

if mc.Ingress.TLS.Enabled {
if mc.Ingress.TLS.SSLPassthrough.Enabled {
Expand Down
6 changes: 3 additions & 3 deletions controllers/cluster/v1alpha1/cluster_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ func (r *reconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Resu
return ctrl.Result{}, nil
}
// Error reading the object - requeue the request.
klog.Errorf("Failed to get Cluster, %#v", err)
klog.Errorf("Failed to get Cluster, %v", err)
return ctrl.Result{}, err
}

Expand Down Expand Up @@ -360,11 +360,11 @@ func (r *reconciler) processEvent(broker *mcsevent.Broker, stop <-chan struct{})
// check ServiceExport Status, Invalid and Conflict ServiceExport is ignored
export := svcExportEvt.ServiceExport
if metautil.IsStatusConditionFalse(export.Status.Conditions, string(svcexpv1alpha1.ServiceExportValid)) {
klog.Warningf("ServiceExport %#v is ignored due to Valid status is false", export)
klog.Warningf("ServiceExport %v is ignored due to Valid status is false", export)
continue
}
if metautil.IsStatusConditionTrue(export.Status.Conditions, string(svcexpv1alpha1.ServiceExportConflict)) {
klog.Warningf("ServiceExport %#v is ignored due to Conflict status is true", export)
klog.Warningf("ServiceExport %v is ignored due to Conflict status is true", export)
continue
}

Expand Down
4 changes: 2 additions & 2 deletions controllers/flb/service_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ func (r *reconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Resu
}
}
// Error reading the object - requeue the request.
klog.Errorf("Failed to get Service, %#v", err)
klog.Errorf("Failed to get Service, %v", err)
return ctrl.Result{}, err
}

Expand Down Expand Up @@ -430,7 +430,7 @@ func (r *reconciler) createOrUpdateFlbEntry(ctx context.Context, svc *corev1.Ser
return ctrl.Result{RequeueAfter: 5 * time.Second}, fmt.Errorf("FLB hasn't assigned any external IP for service %s/%s", svc.Namespace, svc.Name)
}

klog.V(5).Infof("External IPs assigned by FLB: %#v", resp)
klog.V(5).Infof("External IPs assigned by FLB: %v", resp)

if err := r.updateService(ctx, svc, mc, resp.LBIPs); err != nil {
return ctrl.Result{}, err
Expand Down
10 changes: 8 additions & 2 deletions controllers/gateway/v1beta1/gateway_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -95,13 +95,19 @@ func (r *gatewayReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct
// Owned objects are automatically garbage collected. For additional cleanup logic use finalizers.
// Return and don't requeue
klog.V(3).Info("Gateway resource not found. Ignoring since object must be deleted")
r.fctx.EventHandler.OnDelete(gateway)
return ctrl.Result{}, nil
}
// Error reading the object - requeue the request.
klog.Errorf("Failed to get Gateway, %#v", err)
klog.Errorf("Failed to get Gateway, %v", err)
return ctrl.Result{}, err
}

if gateway.DeletionTimestamp != nil {
r.fctx.EventHandler.OnDelete(gateway)
return ctrl.Result{}, nil
}

var gatewayClasses gwv1beta1.GatewayClassList
if err := r.fctx.List(ctx, &gatewayClasses); err != nil {
return reconcile.Result{}, fmt.Errorf("failed to list gateway classes: %s", err)
Expand Down Expand Up @@ -272,7 +278,7 @@ func resolveValues(object metav1.Object, mc *config.MeshConfig) (map[string]inte

gwBytes, err := ghodssyaml.Marshal(&gatewayValues{Gateway: gateway})
if err != nil {
return nil, fmt.Errorf("convert Gateway to yaml, err = %#v", err)
return nil, fmt.Errorf("convert Gateway to yaml, err = %v", err)
}
klog.V(5).Infof("\n\nGATEWAY VALUES YAML:\n\n\n%s\n\n", string(gwBytes))
gwValues, err := chartutil.ReadValues(gwBytes)
Expand Down
8 changes: 7 additions & 1 deletion controllers/gateway/v1beta1/gatewayclass_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,13 +74,19 @@ func (r *gatewayClassReconciler) Reconcile(ctx context.Context, req ctrl.Request
// Owned objects are automatically garbage collected. For additional cleanup logic use finalizers.
// Return and don't requeue
klog.V(3).Info("GatewayClass resource not found. Ignoring since object must be deleted")
r.fctx.EventHandler.OnDelete(gatewayClass)
return ctrl.Result{}, nil
}
// Error reading the object - requeue the request.
klog.Errorf("Failed to get GatewayClass, %#v", err)
klog.Errorf("Failed to get GatewayClass, %v", err)
return ctrl.Result{}, err
}

if gatewayClass.DeletionTimestamp != nil {
r.fctx.EventHandler.OnDelete(gatewayClass)
return ctrl.Result{}, nil
}

gatewayClassList, err := r.fctx.K8sAPI.GatewayAPIClient.GatewayV1beta1().
GatewayClasses().
List(ctx, metav1.ListOptions{})
Expand Down
6 changes: 6 additions & 0 deletions controllers/gateway/v1beta1/httproute_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,15 @@ func (r *httpRouteReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
err := r.fctx.Get(ctx, req.NamespacedName, httpRoute)
if errors.IsNotFound(err) {
// TODO: notify HTTPRoute Deletion
r.fctx.EventHandler.OnDelete(httpRoute)
return reconcile.Result{}, nil
}

if httpRoute.DeletionTimestamp != nil {
r.fctx.EventHandler.OnDelete(httpRoute)
return ctrl.Result{}, nil
}

// TODO: HTTPRoute is added or updated, trigger

return ctrl.Result{}, nil
Expand Down
4 changes: 2 additions & 2 deletions controllers/mcs/v1alpha1/serviceexport_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ func (r *serviceExportReconciler) Reconcile(ctx context.Context, req ctrl.Reques
return ctrl.Result{}, nil
}
// Error reading the object - requeue the request.
klog.Errorf("Failed to get ServiceExport, %#v", err)
klog.Errorf("Failed to get ServiceExport, %v", err)
return ctrl.Result{}, err
}

Expand Down Expand Up @@ -347,7 +347,7 @@ func ingressAnnotations(export *svcexpv1alpha1.ServiceExport) map[string]string
annos := make(map[string]string)

if export.Spec.PathRewrite != nil {
klog.V(5).Infof("PathRewrite=%#v", export.Spec.PathRewrite)
klog.V(5).Infof("PathRewrite=%v", export.Spec.PathRewrite)
if export.Spec.PathRewrite.From != "" && export.Spec.PathRewrite.To != "" {
annos[ingresspipy.PipyIngressAnnotationRewriteFrom] = export.Spec.PathRewrite.From
annos[ingresspipy.PipyIngressAnnotationRewriteTo] = export.Spec.PathRewrite.To
Expand Down
2 changes: 1 addition & 1 deletion controllers/mcs/v1alpha1/serviceimport_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ func (r *serviceImportReconciler) Reconcile(ctx context.Context, req ctrl.Reques
return ctrl.Result{}, nil
}
// Error reading the object - requeue the request.
klog.Errorf("Failed to get ServiceImport, %#v", err)
klog.Errorf("Failed to get ServiceImport, %v", err)
return ctrl.Result{}, err
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ func (r *reconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Resu
return ctrl.Result{}, nil
}
// Error reading the object - requeue the request.
klog.Errorf("Failed to get NamespacedIngress, %#v", err)
klog.Errorf("Failed to get NamespacedIngress, %v", err)
return ctrl.Result{}, err
}

Expand Down Expand Up @@ -135,7 +135,7 @@ func resolveValues(object metav1.Object, mc *config.MeshConfig) (map[string]inte

nsigBytes, err := ghodssyaml.Marshal(&namespacedIngressValues{NamespacedIngress: nsig})
if err != nil {
return nil, fmt.Errorf("convert NamespacedIngress to yaml, err = %#v", err)
return nil, fmt.Errorf("convert NamespacedIngress to yaml, err = %v", err)
}
klog.V(5).Infof("\n\nNSIG VALUES YAML:\n\n\n%s\n\n", string(nsigBytes))
nsigValues, err := chartutil.ReadValues(nsigBytes)
Expand Down
32 changes: 16 additions & 16 deletions controllers/proxyprofile/v1alpha1/proxyprofile_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ func (r *reconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Resu
return ctrl.Result{}, nil
}
// Error reading the object - requeue the request.
klog.Errorf("Failed to get ProxyProfile, %#v", err)
klog.Errorf("Failed to get ProxyProfile, %v", err)
return ctrl.Result{}, err
}

Expand All @@ -113,7 +113,7 @@ func (r *reconciler) reconcileLocalMode(ctx context.Context, pf *pfv1alpha1.Prox
result, err := r.applyResources(ctx, pf)
if err != nil {
r.recorder.Eventf(pf, corev1.EventTypeWarning, "Failed",
"Failed to create resources, %#v ", err)
"Failed to create resources, %v ", err)
return result, err
}
if result.RequeueAfter > 0 || result.Requeue {
Expand All @@ -125,7 +125,7 @@ func (r *reconciler) reconcileLocalMode(ctx context.Context, pf *pfv1alpha1.Prox
statusResult, statusErr := r.updateProxyProfileStatus(ctx, pf)
if err != nil {
r.recorder.Eventf(pf, corev1.EventTypeWarning, "Failed",
"Failed to update status, %#v ", statusErr)
"Failed to update status, %v ", statusErr)
return statusResult, statusErr
}
if statusResult.RequeueAfter > 0 || statusResult.Requeue {
Expand Down Expand Up @@ -156,7 +156,7 @@ func (r *reconciler) reconcileRemoteMode(ctx context.Context, pf *pfv1alpha1.Pro

result, err := r.deriveCodebases(pf, mc)
if err != nil {
klog.Errorf("Deriving codebase error: %#v", err)
klog.Errorf("Deriving codebase error: %v", err)
return result, err
}

Expand All @@ -165,7 +165,7 @@ func (r *reconciler) reconcileRemoteMode(ctx context.Context, pf *pfv1alpha1.Pro
// find all existing PODs those injected with this ProxyProfile, update them and restart
pods, err := r.findInjectedPods(ctx, pf)
if err != nil {
klog.Errorf("Finding controllee of ProxyProfile %q, %#v", pf.Name, err)
klog.Errorf("Finding controllee of ProxyProfile %q, %v", pf.Name, err)
return ctrl.Result{}, err
}

Expand Down Expand Up @@ -337,7 +337,7 @@ func (r *reconciler) proxyRestartScopeOwner(ctx context.Context, pf *pfv1alpha1.
}

if len(errs) != 0 {
return ctrl.Result{RequeueAfter: 3 * time.Second}, fmt.Errorf("%#v", errs)
return ctrl.Result{RequeueAfter: 3 * time.Second}, fmt.Errorf("%v", errs)
}

return ctrl.Result{}, nil
Expand Down Expand Up @@ -373,7 +373,7 @@ func (r *reconciler) deriveCodebases(pf *pfv1alpha1.ProxyProfile, mc *config.Mes
pfParentPath := pfhelper.GetProxyProfileParentPath(mc)
klog.V(5).Infof("Deriving service codebase of ProxyProfile %q", pf.Name)
if err := repoClient.DeriveCodebase(pfPath, pfParentPath); err != nil {
klog.Errorf("Deriving service codebase of ProxyProfile %q error: %#v", pf.Name, err)
klog.Errorf("Deriving service codebase of ProxyProfile %q error: %v", pf.Name, err)
return ctrl.Result{RequeueAfter: 3 * time.Second}, err
}

Expand All @@ -382,7 +382,7 @@ func (r *reconciler) deriveCodebases(pf *pfv1alpha1.ProxyProfile, mc *config.Mes
sidecarPath := pfhelper.GetSidecarPath(pf.Name, sidecar.Name, mc)
klog.V(5).Infof("Deriving codebase of sidecar %q of ProxyProfile %q", sidecar.Name, pf.Name)
if err := repoClient.DeriveCodebase(sidecarPath, pfPath); err != nil {
klog.Errorf("Deriving codebase of sidecar %q of ProxyProfile %q error: %#v", sidecar.Name, pf.Name, err)
klog.Errorf("Deriving codebase of sidecar %q of ProxyProfile %q error: %v", sidecar.Name, pf.Name, err)
return ctrl.Result{RequeueAfter: 3 * time.Second}, err
}
}
Expand Down Expand Up @@ -417,10 +417,10 @@ func (r *reconciler) findInjectedPods(ctx context.Context, pf *pfv1alpha1.ProxyP

selector, err := metav1.LabelSelectorAsSelector(labelSelector)
if err != nil {
klog.Errorf("Converting LabelSelector to Selector error, %#v", err)
klog.Errorf("Converting LabelSelector to Selector error, %v", err)
return nil, err
}
klog.V(5).Infof("Selector is %#v", selector)
klog.V(5).Infof("Selector is %v", selector)

pods := &corev1.PodList{}
if err := r.fctx.List(
Expand Down Expand Up @@ -523,7 +523,7 @@ func (r *reconciler) createConfigMap(ctx context.Context, namespace string, prox
Selector: proxyProfile.ConstructLabelSelector(),
},
); err != nil {
klog.Errorf("Not able to list ConfigMaps in namespace %s by selector %#v, error=%#v", namespace, proxyProfile.ConstructLabelSelector(), err)
klog.Errorf("Not able to list ConfigMaps in namespace %s by selector %v, error=%v", namespace, proxyProfile.ConstructLabelSelector(), err)
return false, err
}

Expand All @@ -535,7 +535,7 @@ func (r *reconciler) createConfigMap(ctx context.Context, namespace string, prox
klog.V(3).Infof("Creating a new ConfigMap %s/%s for ProxyProfile %s", namespace, cmName, proxyProfile.Name)
cm := r.configMapForProxyProfile(namespace, cmName, proxyProfile)
if err := r.fctx.Create(ctx, cm); err != nil {
klog.Errorf("Failed to create new ConfigMap %s/%s for ProxyProfile %s, error=%#v", namespace, cmName, proxyProfile.Name, err)
klog.Errorf("Failed to create new ConfigMap %s/%s for ProxyProfile %s, error=%v", namespace, cmName, proxyProfile.Name, err)
return false, err
}
// ConfigMap created successfully - return and requeue
Expand Down Expand Up @@ -563,7 +563,7 @@ func (r *reconciler) createConfigMap(ctx context.Context, namespace string, prox
found.Annotations[commons.ConfigHashAnnotation] = proxyProfileHash
found.Data = proxyProfile.Spec.Config
if err := r.fctx.Update(ctx, found); err != nil {
klog.Errorf("Not able to update ConfigMap, %#v", err)
klog.Errorf("Not able to update ConfigMap, %v", err)
return false, err
}
r.recorder.Eventf(proxyProfile, corev1.EventTypeNormal, "Updated",
Expand Down Expand Up @@ -603,7 +603,7 @@ func (r *reconciler) updateProxyProfileStatus(ctx context.Context, proxyProfile
Selector: proxyProfile.ConstructLabelSelector(),
},
); err != nil {
klog.Errorf("Not able to list ConfigMaps error=%#v", err)
klog.Errorf("Not able to list ConfigMaps error=%v", err)
return ctrl.Result{}, err
}

Expand Down Expand Up @@ -642,8 +642,8 @@ func (r *reconciler) updateProxyProfileStatus(ctx context.Context, proxyProfile

if !reflect.DeepEqual(cfgs, proxyProfile.Status.ConfigMaps) {
klog.V(3).Infof("Going to update ProxyProfile status...")
klog.V(3).Infof("Current status configmaps: %#v", proxyProfile.Status.ConfigMaps)
klog.V(3).Infof("New status configmaps: %#v", cfgs)
klog.V(3).Infof("Current status configmaps: %v", proxyProfile.Status.ConfigMaps)
klog.V(3).Infof("New status configmaps: %v", cfgs)

proxyProfile.Status.ConfigMaps = cfgs
if err := r.fctx.Status().Update(ctx, proxyProfile); err != nil {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,21 +72,21 @@ type NamespaceEventHandler struct {
}

func (p *NamespaceEventHandler) Create(evt event.CreateEvent, q workqueue.RateLimitingInterface) {
klog.V(7).Infof("NamespaceEventHandler - Create(), event=%#v", evt.Object)
klog.V(7).Infof("NamespaceEventHandler - Create(), event=%v", evt.Object)

namespace := evt.Object.GetName()
p.notifyProxyProfileReconciler(namespace, q)
}

func (p *NamespaceEventHandler) Update(evt event.UpdateEvent, q workqueue.RateLimitingInterface) {
klog.V(7).Infof("NamespaceEventHandler - Update(), event=%#v", evt)
klog.V(7).Infof("NamespaceEventHandler - Update(), event=%v", evt)

nsNew := evt.ObjectNew.(*corev1.Namespace)
p.notifyProxyProfileReconciler(nsNew.GetName(), q)
}

func (p *NamespaceEventHandler) Delete(evt event.DeleteEvent, q workqueue.RateLimitingInterface) {
klog.V(7).Infof("NamespaceEventHandler - Delete(), event=%#v", evt)
klog.V(7).Infof("NamespaceEventHandler - Delete(), event=%v", evt)
// need ProxyProfile reconciler to update status
p.notifyProxyProfileReconciler(evt.Object.GetName(), q)
}
Expand Down
2 changes: 1 addition & 1 deletion controllers/servicelb/node_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ func (r *nodeReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.
return ctrl.Result{}, nil
}
// Error reading the object - requeue the request.
klog.Errorf("Failed to get Node, %#v", err)
klog.Errorf("Failed to get Node, %v", err)
return ctrl.Result{}, err
}

Expand Down
2 changes: 1 addition & 1 deletion controllers/servicelb/service_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ func (r *serviceReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct
return ctrl.Result{}, nil
}
// Error reading the object - requeue the request.
klog.Errorf("Failed to get Service, %#v", err)
klog.Errorf("Failed to get Service, %v", err)
return ctrl.Result{}, err
}

Expand Down
2 changes: 1 addition & 1 deletion pkg/config/listener/ingress.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ func (l ingressConfigChangeListener) onUpdate(oldCfg, cfg *config.MeshConfig) {
cfg = &config.MeshConfig{}
}

klog.V(5).Infof("Operator Config is updated, new values: %#v", l.fctx.ConfigStore.MeshConfig)
klog.V(5).Infof("Operator Config is updated, new values: %v", l.fctx.ConfigStore.MeshConfig)
//klog.V(5).Infof("Old RepoBaseURL = %q", oldCfg.RepoBaseURL())
//klog.V(5).Infof("New RepoBaseURL = %q", cfg.RepoBaseURL())
klog.V(5).Infof("Old IngressCodebasePath = %q", oldCfg.IngressCodebasePath())
Expand Down
8 changes: 4 additions & 4 deletions pkg/config/mesh.go
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ func (c *MeshConfig) GetDefaultGatewaysPath() string {
func (c *MeshConfig) ToJson() string {
cfgBytes, err := json.MarshalIndent(c, "", " ")
if err != nil {
klog.Errorf("Not able to marshal MeshConfig %#v to json, %s", c, err.Error())
klog.Errorf("Not able to marshal MeshConfig %v to json, %s", c, err.Error())
return ""
}

Expand Down Expand Up @@ -337,7 +337,7 @@ func (c *MeshConfigClient) UpdateConfig(config *MeshConfig) (*MeshConfig, error)

err := validate.Struct(config)
if err != nil {
klog.Errorf("Validation error: %#v, rejecting the new config...", err)
klog.Errorf("Validation error: %v, rejecting the new config...", err)
return nil, err
}

Expand All @@ -357,7 +357,7 @@ func (c *MeshConfigClient) UpdateConfig(config *MeshConfig) (*MeshConfig, error)
return nil, fmt.Errorf(msg)
}

klog.V(5).Infof("After updating, ConfigMap %s/fsm-mesh-config = %#v", GetFsmNamespace(), cm)
klog.V(5).Infof("After updating, ConfigMap %s/fsm-mesh-config = %v", GetFsmNamespace(), cm)

return ParseMeshConfig(cm)
}
Expand Down Expand Up @@ -404,7 +404,7 @@ func ParseMeshConfig(cm *corev1.ConfigMap) (*MeshConfig, error) {

err = validate.Struct(cfg)
if err != nil {
klog.Errorf("Validation error: %#v", err)
klog.Errorf("Validation error: %v", err)
// in case of validation error, the app doesn't run properly with wrong config, should panic
//panic(err)
return nil, err
Expand Down
Loading

0 comments on commit 6bc909b

Please sign in to comment.