Migrated pkg/controller/garbagecollector to contextual logging

Signed-off-by: xin.li <xin.li@daocloud.io>
This commit is contained in:
xin.li 2023-03-20 21:49:41 +08:00 committed by Ziqi Zhao
parent 916c3466b9
commit 3cf2822bc5
2 changed files with 9 additions and 7 deletions

View File

@ -187,7 +187,7 @@ func (gc *GarbageCollector) Sync(ctx context.Context, discoveryClient discovery.
logger := klog.FromContext(ctx) logger := klog.FromContext(ctx)
// Get the current resource list from discovery. // Get the current resource list from discovery.
newResources := GetDeletableResources(discoveryClient) newResources := GetDeletableResources(ctx, discoveryClient)
// This can occur if there is an internal error in GetDeletableResources. // This can occur if there is an internal error in GetDeletableResources.
if len(newResources) == 0 { if len(newResources) == 0 {
@ -214,7 +214,7 @@ func (gc *GarbageCollector) Sync(ctx context.Context, discoveryClient discovery.
// On a reattempt, check if available resources have changed // On a reattempt, check if available resources have changed
if attempt > 1 { if attempt > 1 {
newResources = GetDeletableResources(discoveryClient) newResources = GetDeletableResources(ctx, discoveryClient)
if len(newResources) == 0 { if len(newResources) == 0 {
logger.V(2).Info("no resources reported by discovery", "attempt", attempt) logger.V(2).Info("no resources reported by discovery", "attempt", attempt)
metrics.GarbageCollectorResourcesSyncError.Inc() metrics.GarbageCollectorResourcesSyncError.Inc()
@ -809,13 +809,14 @@ func (gc *GarbageCollector) GraphHasUID(u types.UID) bool {
// All discovery errors are considered temporary. Upon encountering any error, // All discovery errors are considered temporary. Upon encountering any error,
// GetDeletableResources will log and return any discovered resources it was // GetDeletableResources will log and return any discovered resources it was
// able to process (which may be none). // able to process (which may be none).
func GetDeletableResources(discoveryClient discovery.ServerResourcesInterface) map[schema.GroupVersionResource]struct{} { func GetDeletableResources(ctx context.Context, discoveryClient discovery.ServerResourcesInterface) map[schema.GroupVersionResource]struct{} {
logger := klog.FromContext(ctx)
preferredResources, err := discoveryClient.ServerPreferredResources() preferredResources, err := discoveryClient.ServerPreferredResources()
if err != nil { if err != nil {
if discovery.IsGroupDiscoveryFailedError(err) { if discovery.IsGroupDiscoveryFailedError(err) {
klog.Warningf("failed to discover some groups: %v", err.(*discovery.ErrGroupDiscoveryFailed).Groups) logger.Info("failed to discover some groups", "groups", err.(*discovery.ErrGroupDiscoveryFailed).Groups)
} else { } else {
klog.Warningf("failed to discover preferred resources: %v", err) logger.Info("failed to discover preferred resources", "error", err)
} }
} }
if preferredResources == nil { if preferredResources == nil {
@ -829,7 +830,7 @@ func GetDeletableResources(discoveryClient discovery.ServerResourcesInterface) m
for _, rl := range deletableResources { for _, rl := range deletableResources {
gv, err := schema.ParseGroupVersion(rl.GroupVersion) gv, err := schema.ParseGroupVersion(rl.GroupVersion)
if err != nil { if err != nil {
klog.Warningf("ignoring invalid discovered resource %q: %v", rl.GroupVersion, err) logger.Info("ignoring invalid discovered resource", "groupversion", rl.GroupVersion, "error", err)
continue continue
} }
for i := range rl.APIResources { for i := range rl.APIResources {

View File

@ -798,13 +798,14 @@ func TestGetDeletableResources(t *testing.T) {
}, },
} }
_, ctx := ktesting.NewTestContext(t)
for name, test := range tests { for name, test := range tests {
t.Logf("testing %q", name) t.Logf("testing %q", name)
client := &fakeServerResources{ client := &fakeServerResources{
PreferredResources: test.serverResources, PreferredResources: test.serverResources,
Error: test.err, Error: test.err,
} }
actual := GetDeletableResources(client) actual := GetDeletableResources(ctx, client)
if !reflect.DeepEqual(test.deletableResources, actual) { if !reflect.DeepEqual(test.deletableResources, actual) {
t.Errorf("expected resources:\n%v\ngot:\n%v", test.deletableResources, actual) t.Errorf("expected resources:\n%v\ngot:\n%v", test.deletableResources, actual)
} }