provider-gitlab icon indicating copy to clipboard operation
provider-gitlab copied to clipboard

No logs in Pod - [controller-runtime] log.SetLogger(...) was never called; logs will not be displayed.

Open bakito opened this issue 1 year ago • 4 comments

What happened?

The Pod started for the gitlab provider v0.8.0 des not show anly log besides the following:

[controller-runtime] log.SetLogger(...) was never called; logs will not be displayed.
Detected at:
	>  goroutine 382 [running]:
	>  runtime/debug.Stack()
	>  	runtime/debug/stack.go:24 +0x5e
	>  sigs.k8s.io/controller-runtime/pkg/log.eventuallyFulfillRoot()
	>  	sigs.k8s.io/[email protected]/pkg/log/log.go:60 +0xcd
	>  sigs.k8s.io/controller-runtime/pkg/log.(*delegatingLogSink).WithValues(0xc000132bc0, {0xc000098400, 0x2, 0x2})
	>  	sigs.k8s.io/[email protected]/pkg/log/deleg.go:168 +0x49
	>  github.com/go-logr/logr.Logger.WithValues(...)
	>  	github.com/go-logr/[email protected]/logr.go:332
	>  sigs.k8s.io/controller-runtime/pkg/builder.(*Builder).doController.func1(0xc0000983e0)
	>  	sigs.k8s.io/[email protected]/pkg/builder/controller.go:400 +0x193
	>  sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc0000bc820, {0x1ebf350, 0xc0004aa6e0}, {0x1a13820, 0xc0000983c0})
	>  	sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:306 +0x162
	>  sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc0000bc820, {0x1ebf350, 0xc0004aa6e0})
	>  	sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:266 +0x1be
	>  sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2()
	>  	sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:227 +0x79
	>  created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2 in goroutine 48
	>  	sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:223 +0x50c

How can we reproduce it?

Install the gitlab provider and check the log of the started pod.

apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
  name: provider-gitlab
spec:
  package: xpkg.upbound.io/crossplane-contrib/provider-gitlab:v0.8.0

What environment did it happen in?

Crossplane version: v1.16.0 Crossplane Provider GitLab version: v0.8.0 Kubernetes version: v1.29.5

bakito avatar Jul 12 '24 10:07 bakito

It seams to go away when setting the debug flag (it can be set in the DeploymentRuntimeConfig spec.containers.args: [-d])

lacroi-m-insta avatar Jul 15 '24 07:07 lacroi-m-insta

true, the error disappears as in debug mode, a logger is set. https://github.com/crossplane-contrib/provider-gitlab/blob/master/cmd/provider/main.go#L67

To truly fix it, a logger needs to be set always.

bakito avatar Jul 15 '24 09:07 bakito

In Crossplane and its providers everything works with events instead of logs because most users will not have access to the pod logs.

https://github.com/crossplane/crossplane/blob/fc418390/docs/contributing/observability_developer_guide.md

ma-ble avatar Jul 18 '24 15:07 ma-ble

Still there should not be an error stack trace in the pod log for those users with access to the logs if the provider works as expected.

bakito avatar Jul 18 '24 15:07 bakito