Skip to content

Commit 42b9e4d

Browse files
RevolyssupAlinsRan
andauthored
chore: remove redundant logs and improve logs for users (#2206)
* chore: remove redundant logs and improve error when upstream is created Co-authored-by: AlinsRan <[email protected]>
1 parent ce5a37a commit 42b9e4d

File tree

2 files changed

+30
-10
lines changed

2 files changed

+30
-10
lines changed

pkg/apisix/cluster.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1162,7 +1162,7 @@ func (c *cluster) GetUpstream(ctx context.Context, baseUrl, id string) (*v1.Upst
11621162
resp, err := c.getResource(ctx, url, "upstream")
11631163
if err != nil {
11641164
if err == cache.ErrNotFound {
1165-
log.Warnw("upstream not found",
1165+
log.Debugw("upstream not found",
11661166
zap.String("id", id),
11671167
zap.String("url", url),
11681168
zap.String("cluster", c.name),

pkg/providers/apisix/apisix_upstream.go

+29-9
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import (
3232
"k8s.io/client-go/tools/cache"
3333
"k8s.io/client-go/util/workqueue"
3434

35+
"github.com/apache/apisix-ingress-controller/pkg/apisix"
3536
"github.com/apache/apisix-ingress-controller/pkg/config"
3637
"github.com/apache/apisix-ingress-controller/pkg/kube"
3738
configv2 "github.com/apache/apisix-ingress-controller/pkg/kube/apisix/apis/config/v2"
@@ -215,12 +216,15 @@ func (c *apisixUpstreamController) sync(ctx context.Context, ev *types.Event) er
215216
// for service discovery related configuration
216217
if au.Spec.Discovery.ServiceName == "" || au.Spec.Discovery.Type == "" {
217218
log.Error("If you setup Discovery for ApisixUpstream, you need to specify the ServiceName and Type fields.")
218-
errRecord = fmt.Errorf("No ServiceName or Type fields found")
219+
errRecord = fmt.Errorf("no ServiceName or Type fields found")
219220
goto updateStatus
220221
}
221222
// updateUpstream for real
222223
upsName := apisixv1.ComposeExternalUpstreamName(au.Namespace, au.Name)
223224
errRecord = c.updateUpstream(ctx, upsName, &au.Spec.ApisixUpstreamConfig, ev.Type.IsSyncEvent())
225+
if err == apisix.ErrNotFound {
226+
errRecord = fmt.Errorf("%s", "upstream doesn't exist. It will be created after ApisixRoute is created referencing it.")
227+
}
224228
goto updateStatus
225229
}
226230

@@ -254,15 +258,22 @@ func (c *apisixUpstreamController) sync(ctx context.Context, ev *types.Event) er
254258
cfg = au.Spec.ApisixUpstreamConfig
255259
}
256260
}
257-
258261
err := c.updateUpstream(ctx, apisixv1.ComposeUpstreamName(namespace, name, subset.Name, port.Port, types.ResolveGranularity.Endpoint), &cfg, ev.Type.IsSyncEvent())
259262
if err != nil {
260-
errRecord = err
263+
if err == apisix.ErrNotFound {
264+
errRecord = fmt.Errorf("%s", "upstream doesn't exist. It will be created after ApisixRoute is created referencing it.")
265+
} else {
266+
errRecord = err
267+
}
261268
goto updateStatus
262269
}
263270
err = c.updateUpstream(ctx, apisixv1.ComposeUpstreamName(namespace, name, subset.Name, port.Port, types.ResolveGranularity.Service), &cfg, ev.Type.IsSyncEvent())
264271
if err != nil {
265-
errRecord = err
272+
if err == apisix.ErrNotFound {
273+
errRecord = fmt.Errorf("%s", "upstream doesn't exist. It will be created after ApisixRoute is created referencing it.")
274+
} else {
275+
errRecord = err
276+
}
266277
goto updateStatus
267278
}
268279
}
@@ -330,8 +341,7 @@ func (c *apisixUpstreamController) updateUpstream(ctx context.Context, upsName s
330341

331342
ups, err := c.APISIX.Cluster(clusterName).Upstream().Get(ctx, upsName)
332343
if err != nil {
333-
log.Errorf("failed to get upstream %s: %s", upsName, err)
334-
return err
344+
return apisix.ErrNotFound
335345
}
336346
var newUps *apisixv1.Upstream
337347
if cfg != nil {
@@ -373,9 +383,19 @@ func (c *apisixUpstreamController) updateExternalNodes(ctx context.Context, au *
373383
upsName := apisixv1.ComposeExternalUpstreamName(ns, name)
374384
ups, err := c.APISIX.Cluster(clusterName).Upstream().Get(ctx, upsName)
375385
if err != nil {
376-
log.Errorf("failed to get upstream %s: %s", upsName, err)
377-
c.RecordEvent(au, corev1.EventTypeWarning, utils.ResourceSyncAborted, err)
378-
c.recordStatus(au, utils.ResourceSyncAborted, err, metav1.ConditionFalse, au.GetGeneration())
386+
if err == apisix.ErrNotFound {
387+
log.Debugw("upstream is not referenced",
388+
zap.String("cluster", clusterName),
389+
zap.String("upstream", upsName),
390+
)
391+
err = fmt.Errorf("%s", "upstream doesn't exist. It will be created after ApisixRoute is created referencing it.")
392+
c.RecordEvent(au, corev1.EventTypeWarning, utils.ResourceSyncAborted, err)
393+
c.recordStatus(au, utils.ResourceSyncAborted, err, metav1.ConditionFalse, au.GetGeneration())
394+
} else {
395+
c.RecordEvent(au, corev1.EventTypeWarning, utils.ResourceSyncAborted, err)
396+
c.recordStatus(au, utils.ResourceSyncAborted, err, metav1.ConditionFalse, au.GetGeneration())
397+
log.Errorf("failed to get upstream %s: %s", upsName, err)
398+
}
379399
return err
380400
} else if ups != nil {
381401
nodes, err := c.translator.TranslateApisixUpstreamExternalNodes(au)

0 commit comments

Comments
 (0)