Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

logs for controllers created with builder have the wrong controller name and GVK #1933

Closed
mattarmstrong opened this issue Jun 16, 2022 · 4 comments

Comments

@mattarmstrong
Copy link

Hi,
I noticed that the logs for controllers created with builder.ControllerManagedBy are incorrect and every controller has the same name and GVK of whichever the last controller to get created is. Am I setting up these controllers incorrectly?

These are the logs where two different controllers (one for secretes, and one for configmaps) have been registered, yet the controller, controllerGroup, and controllerKind all say "ConfigMap".

{"level":"info","ts":1655387323.3961952,"msg":"Starting EventSource","controller":"configmap","controllerGroup":"","controllerKind":"ConfigMap","source":"kind source: *v1.ConfigMap"}
{"level":"info","ts":1655387323.3961952,"msg":"Starting EventSource","controller":"configmap","controllerGroup":"","controllerKind":"ConfigMap","source":"kind source: *v1.Secret"}
{"level":"info","ts":1655387323.3962219,"msg":"Starting Controller","controller":"configmap","controllerGroup":"","controllerKind":"ConfigMap"}
{"level":"info","ts":1655387323.396228,"msg":"Starting Controller","controller":"configmap","controllerGroup":"","controllerKind":"ConfigMap"}
{"level":"info","ts":1655387323.497775,"msg":"Starting workers","controller":"configmap","controllerGroup":"","controllerKind":"ConfigMap","worker count":1}
{"level":"info","ts":1655387323.497984,"msg":"Starting workers","controller":"configmap","controllerGroup":"","controllerKind":"ConfigMap","worker count":1}

This is on Go 1.18.3 and controller-runtime v0.12.1:

func init() {
	log.SetLogger(zap.New())
}

type reconcileSecret struct {
	client.Client
}

func (r *reconcileSecret) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) {
	return reconcile.Result{}, nil
}

type reconcileConfigMap struct {
	client.Client
}

func (r *reconcileConfigMap) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) {
	return reconcile.Result{}, nil
}

func main() {
	mgr, err := manager.New(config.GetConfigOrDie(), manager.Options{})
	if err != nil {
		os.Exit(1)
	}

	if err := ctrl.NewControllerManagedBy(mgr).
		For(&corev1.Secret{}).
		Complete(&reconcileSecret{
			Client: mgr.GetClient(),
		}); err != nil {
		os.Exit(1)
	}

	if err := ctrl.NewControllerManagedBy(mgr).
		For(&corev1.ConfigMap{}).
		Complete(&reconcileConfigMap{
			Client: mgr.GetClient(),
		}); err != nil {
		os.Exit(1)
	}

	if err := mgr.Start(signals.SetupSignalHandler()); err != nil {
		os.Exit(1)
	}
}
@harshanarayana
Copy link

{"level":"info","ts":1655396660.369953,"logger":"controller-runtime.metrics","msg":"Metrics server is starting to listen","addr":":8080"}
{"level":"info","ts":1655396660.371906,"msg":"Starting server","path":"/metrics","kind":"metrics","addr":"[::]:8080"}
{"level":"info","ts":1655396660.3727949,"msg":"Starting EventSource","controller":"configmap","controllerGroup":"","controllerKind":"ConfigMap","source":"kind source: *v1.ConfigMap"}
{"level":"info","ts":1655396660.372799,"msg":"Starting EventSource","controller":"secret","controllerGroup":"","controllerKind":"Secret","source":"kind source: *v1.Secret"}
{"level":"info","ts":1655396660.372852,"msg":"Starting Controller","controller":"configmap","controllerGroup":"","controllerKind":"ConfigMap"}
{"level":"info","ts":1655396660.3728588,"msg":"Starting Controller","controller":"secret","controllerGroup":"","controllerKind":"Secret"}
{"level":"info","ts":1655396660.6736681,"msg":"Starting workers","controller":"secret","controllerGroup":"","controllerKind":"Secret","worker count":1}
{"level":"info","ts":1655396660.674145,"msg":"Starting workers","controller":"configmap","controllerGroup":"","controllerKind":"ConfigMap","worker count":1}

I ran this a few time and so far, no luck getting the same behavior. Working as expected though

@mattarmstrong
Copy link
Author

mattarmstrong commented Jun 16, 2022

@harshanarayana what version of Go are you using? Edit: I'm using Go 1.18.3 on Apple silicon

@mattarmstrong
Copy link
Author

I have the same issue on Go 1.17.11:

{"level":"info","ts":1655406590.8797839,"logger":"controller-runtime.metrics","msg":"Metrics server is starting to listen","addr":":8080"}
{"level":"info","ts":1655406590.880554,"msg":"Starting server","path":"/metrics","kind":"metrics","addr":"[::]:8080"}
{"level":"info","ts":1655406590.880636,"msg":"Starting EventSource","controller":"configmap","controllerGroup":"","controllerKind":"ConfigMap","source":"kind source: *v1.Secret"}
{"level":"info","ts":1655406590.880662,"msg":"Starting Controller","controller":"configmap","controllerGroup":"","controllerKind":"ConfigMap"}
{"level":"info","ts":1655406590.8806741,"msg":"Starting EventSource","controller":"configmap","controllerGroup":"","controllerKind":"ConfigMap","source":"kind source: *v1.ConfigMap"}
{"level":"info","ts":1655406590.880728,"msg":"Starting Controller","controller":"configmap","controllerGroup":"","controllerKind":"ConfigMap"}
{"level":"info","ts":1655406590.982039,"msg":"Starting workers","controller":"configmap","controllerGroup":"","controllerKind":"ConfigMap","worker count":1}
{"level":"info","ts":1655406590.982104,"msg":"Starting workers","controller":"configmap","controllerGroup":"","controllerKind":"ConfigMap","worker count":1}

@mattarmstrong
Copy link
Author

mattarmstrong commented Jun 16, 2022

Nevermind, looks like it's fixed on master already #1907

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants