Skip to content

Commit 7654a84

Browse files
authored
Merge pull request #232 from yevgeny-shnaidman/yevgeny/pivot-to-new-implementation
Pivoting to new operator implementation
2 parents e4a1698 + f613132 commit 7654a84

File tree

1 file changed

+35
-16
lines changed

1 file changed

+35
-16
lines changed

main.go

Lines changed: 35 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import (
2222
"os"
2323

2424
_ "k8s.io/client-go/plugin/pkg/client/auth"
25-
"k8s.io/klog/v2"
25+
"k8s.io/klog/v2/textlogger"
2626

2727
"k8s.io/apimachinery/pkg/runtime"
2828
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
@@ -34,7 +34,11 @@ import (
3434
"sigs.k8s.io/controller-runtime/pkg/webhook"
3535

3636
nfdkubernetesiov1 "sigs.k8s.io/node-feature-discovery-operator/api/v1"
37-
"sigs.k8s.io/node-feature-discovery-operator/controllers"
37+
"sigs.k8s.io/node-feature-discovery-operator/internal/configmap"
38+
"sigs.k8s.io/node-feature-discovery-operator/internal/controllers"
39+
"sigs.k8s.io/node-feature-discovery-operator/internal/daemonset"
40+
"sigs.k8s.io/node-feature-discovery-operator/internal/deployment"
41+
"sigs.k8s.io/node-feature-discovery-operator/internal/job"
3842
"sigs.k8s.io/node-feature-discovery-operator/pkg/utils"
3943
"sigs.k8s.io/node-feature-discovery-operator/pkg/version"
4044
// +kubebuilder:scaffold:imports
@@ -71,12 +75,17 @@ func main() {
7175
printVersion := flags.Bool("version", false, "Print version and exit.")
7276

7377
args := initFlags(flags)
74-
// Inject klog flags
75-
klog.InitFlags(flags)
78+
79+
logConfig := textlogger.NewConfig()
80+
logConfig.AddFlags(flag.CommandLine)
81+
logger := textlogger.NewLogger(logConfig).WithName("nfd")
82+
83+
ctrl.SetLogger(logger)
84+
setupLogger := logger.WithName("setup")
7685

7786
_ = flags.Parse(os.Args[1:])
7887
if len(flags.Args()) > 0 {
79-
fmt.Fprintf(flags.Output(), "unknown command line argument: %s\n", flags.Args()[0])
88+
setupLogger.Info("unknown command line argument", flags.Args()[0])
8089
flags.Usage()
8190
os.Exit(2)
8291
}
@@ -88,7 +97,7 @@ func main() {
8897

8998
watchNamespace, envSet := utils.GetWatchNamespace()
9099
if !envSet {
91-
klog.Info("unable to get WatchNamespace, " +
100+
setupLogger.Info("unable to get WatchNamespace, " +
92101
"the manager will watch and manage resources in all namespaces")
93102
}
94103

@@ -112,37 +121,47 @@ func main() {
112121
})
113122

114123
if err != nil {
115-
klog.Error(err, "unable to start manager")
124+
setupLogger.Error(err, "unable to start manager")
116125
os.Exit(1)
117126
}
118127

119-
if err = (&controllers.NodeFeatureDiscoveryReconciler{
120-
Client: mgr.GetClient(),
121-
Scheme: mgr.GetScheme(),
122-
}).SetupWithManager(mgr); err != nil {
123-
klog.Error(err, "unable to create controller", "controller", "NodeFeatureDiscovery")
128+
client := mgr.GetClient()
129+
scheme := mgr.GetScheme()
130+
131+
deploymentAPI := deployment.NewDeploymentAPI(client, scheme)
132+
daemonsetAPI := daemonset.NewDaemonsetAPI(client, scheme)
133+
configmapAPI := configmap.NewConfigMapAPI(client, scheme)
134+
jobAPI := job.NewJobAPI(client, scheme)
135+
136+
if err = new_controllers.NewNodeFeatureDiscoveryReconciler(client,
137+
deploymentAPI,
138+
daemonsetAPI,
139+
configmapAPI,
140+
jobAPI,
141+
scheme).SetupWithManager(mgr); err != nil {
142+
setupLogger.Error(err, "unable to create controller", "controller", "NodeFeatureDiscovery")
124143
os.Exit(1)
125144
}
126145
// +kubebuilder:scaffold:builder
127146

128147
// Next, add a Healthz checker to the manager. Healthz is a health and liveness package
129148
// that the operator will use to periodically check the health of its pods, etc.
130149
if err := mgr.AddHealthzCheck("health", healthz.Ping); err != nil {
131-
klog.Error(err, "unable to set up health check")
150+
setupLogger.Error(err, "unable to set up health check")
132151
os.Exit(1)
133152
}
134153

135154
// Now add a ReadyZ checker to the manager as well. It is important to ensure that the
136155
// API server's readiness is checked when the operator is installed and running.
137156
if err := mgr.AddReadyzCheck("check", healthz.Ping); err != nil {
138-
klog.Error(err, "unable to set up ready check")
157+
setupLogger.Error(err, "unable to set up ready check")
139158
os.Exit(1)
140159
}
141160

142161
// Register signal handler for SIGINT and SIGTERM to terminate the manager
143-
klog.Info("starting manager")
162+
setupLogger.Info("starting manager")
144163
if err := mgr.Start(ctrl.SetupSignalHandler()); err != nil {
145-
klog.Error(err, "problem running manager")
164+
setupLogger.Error(err, "problem running manager")
146165
os.Exit(1)
147166
}
148167
}

0 commit comments

Comments
 (0)