Skip to content

Commit 998e45a

Browse files
authored
Merge pull request #7646 from omerap12/fatalf-structural
Converting klog.Fatalf to structured logging equivalent
2 parents c5de5c9 + b601519 commit 998e45a

File tree

10 files changed

+49
-21
lines changed

10 files changed

+49
-21
lines changed

vertical-pod-autoscaler/pkg/admission-controller/main.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ func main() {
8585
klog.V(1).InfoS("Starting Vertical Pod Autoscaler Admission Controller", "version", common.VerticalPodAutoscalerVersion)
8686

8787
if len(commonFlags.VpaObjectNamespace) > 0 && len(commonFlags.IgnoredVpaObjectNamespaces) > 0 {
88-
klog.Fatalf("--vpa-object-namespace and --ignored-vpa-object-namespaces are mutually exclusive and can't be set together.")
88+
klog.ErrorS(nil, "--vpa-object-namespace and --ignored-vpa-object-namespaces are mutually exclusive and can't be set together.")
89+
os.Exit(255)
8990
}
9091

9192
healthCheck := metrics.NewHealthCheck(time.Minute)
@@ -113,7 +114,8 @@ func main() {
113114

114115
hostname, err := os.Hostname()
115116
if err != nil {
116-
klog.Fatalf("Unable to get hostname: %v", err)
117+
klog.ErrorS(err, "Unable to get hostname")
118+
os.Exit(255)
117119
}
118120

119121
statusNamespace := status.AdmissionControllerStatusNamespace
@@ -151,6 +153,7 @@ func main() {
151153
}()
152154

153155
if err = server.ListenAndServeTLS("", ""); err != nil {
154-
klog.Fatalf("HTTPS Error: %s", err)
156+
klog.ErrorS(err, "Failed to start HTTPS server")
157+
os.Exit(255)
155158
}
156159
}

vertical-pod-autoscaler/pkg/recommender/input/metrics/metrics_source.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package metrics
1818

1919
import (
2020
"context"
21+
"os"
2122
"time"
2223

2324
k8sapiv1 "k8s.io/api/core/v1"
@@ -70,7 +71,8 @@ type ExternalClientOptions struct {
7071
func NewExternalClient(c *rest.Config, clusterState *model.ClusterState, options ExternalClientOptions) PodMetricsLister {
7172
extClient, err := external_metrics.NewForConfig(c)
7273
if err != nil {
73-
klog.Fatalf("Failed initializing external metrics client: %v", err)
74+
klog.ErrorS(err, "Failed initializing external metrics client")
75+
os.Exit(255)
7476
}
7577
return &externalMetricsClient{
7678
externalClient: extClient,

vertical-pod-autoscaler/pkg/recommender/main.go

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,8 @@ func main() {
127127
klog.V(1).InfoS("Vertical Pod Autoscaler Recommender", "version", common.VerticalPodAutoscalerVersion, "recommenderName", *recommenderName)
128128

129129
if len(commonFlags.VpaObjectNamespace) > 0 && len(commonFlags.IgnoredVpaObjectNamespaces) > 0 {
130-
klog.Fatalf("--vpa-object-namespace and --ignored-vpa-object-namespaces are mutually exclusive and can't be set together.")
130+
klog.ErrorS(nil, "--vpa-object-namespace and --ignored-vpa-object-namespaces are mutually exclusive and can't be set together.")
131+
os.Exit(255)
131132
}
132133

133134
healthCheck := metrics.NewHealthCheck(*metricsFetcherInterval * 5)
@@ -140,7 +141,8 @@ func main() {
140141
} else {
141142
id, err := os.Hostname()
142143
if err != nil {
143-
klog.Fatalf("Unable to get hostname: %v", err)
144+
klog.ErrorS(err, "Unable to get hostname")
145+
os.Exit(255)
144146
}
145147
id = id + "_" + string(uuid.NewUUID())
146148

@@ -158,7 +160,8 @@ func main() {
158160
},
159161
)
160162
if err != nil {
161-
klog.Fatalf("Unable to create leader election lock: %v", err)
163+
klog.ErrorS(err, "Unable to create leader election lock")
164+
os.Exit(255)
162165
}
163166

164167
leaderelection.RunOrDie(context.TODO(), leaderelection.LeaderElectionConfig{
@@ -266,7 +269,8 @@ func run(healthCheck *metrics.HealthCheck, commonFlag *common.CommonFlags) {
266269

267270
promQueryTimeout, err := time.ParseDuration(*queryTimeout)
268271
if err != nil {
269-
klog.Fatalf("Could not parse --prometheus-query-timeout as a time.Duration: %v", err)
272+
klog.ErrorS(err, "Could not parse --prometheus-query-timeout as a time.Duration")
273+
os.Exit(255)
270274
}
271275

272276
if useCheckpoints {
@@ -293,7 +297,8 @@ func run(healthCheck *metrics.HealthCheck, commonFlag *common.CommonFlags) {
293297
}
294298
provider, err := history.NewPrometheusHistoryProvider(config)
295299
if err != nil {
296-
klog.Fatalf("Could not initialize history provider: %v", err)
300+
klog.ErrorS(err, "Could not initialize history provider")
301+
os.Exit(255)
297302
}
298303
recommender.GetClusterStateFeeder().InitFromHistoryProvider(provider)
299304
}

vertical-pod-autoscaler/pkg/recommender/model/cluster_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package model
1919
import (
2020
"context"
2121
"fmt"
22+
"os"
2223
"testing"
2324
"time"
2425

@@ -354,7 +355,8 @@ func addVpaObject(cluster *ClusterState, id VpaID, vpa *vpa_types.VerticalPodAut
354355
parsedSelector, _ := metav1.LabelSelectorAsSelector(labelSelector)
355356
err := cluster.AddOrUpdateVpa(vpa, parsedSelector)
356357
if err != nil {
357-
klog.Fatalf("AddOrUpdateVpa() failed: %v", err)
358+
klog.ErrorS(err, "AddOrUpdateVpa() failed")
359+
os.Exit(255)
358360
}
359361
return cluster.Vpas[id]
360362
}

vertical-pod-autoscaler/pkg/target/controller_fetcher/controller_fetcher.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"context"
2121
"errors"
2222
"fmt"
23+
"os"
2324
"time"
2425

2526
appsv1 "k8s.io/api/apps/v1"
@@ -115,7 +116,8 @@ func (f *controllerFetcher) Start(ctx context.Context, loopPeriod time.Duration)
115116
func NewControllerFetcher(config *rest.Config, kubeClient kube_client.Interface, factory informers.SharedInformerFactory, betweenRefreshes, lifeTime time.Duration, jitterFactor float64) *controllerFetcher {
116117
discoveryClient, err := discovery.NewDiscoveryClientForConfig(config)
117118
if err != nil {
118-
klog.Fatalf("Could not create discoveryClient: %v", err)
119+
klog.ErrorS(err, "Could not create discoveryClient")
120+
os.Exit(255)
119121
}
120122
resolver := scale.NewDiscoveryScaleKindResolver(discoveryClient)
121123
restClient := kubeClient.CoreV1().RESTClient()

vertical-pod-autoscaler/pkg/target/fetcher.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package target
1919
import (
2020
"context"
2121
"fmt"
22+
"os"
2223
"time"
2324

2425
appsv1 "k8s.io/api/apps/v1"
@@ -69,7 +70,8 @@ const (
6970
func NewVpaTargetSelectorFetcher(config *rest.Config, kubeClient kube_client.Interface, factory informers.SharedInformerFactory) VpaTargetSelectorFetcher {
7071
discoveryClient, err := discovery.NewDiscoveryClientForConfig(config)
7172
if err != nil {
72-
klog.Fatalf("Could not create discoveryClient: %v", err)
73+
klog.ErrorS(err, "Could not create discoveryClient")
74+
os.Exit(255)
7375
}
7476
resolver := scale.NewDiscoveryScaleKindResolver(discoveryClient)
7577
restClient := kubeClient.CoreV1().RESTClient()
@@ -94,7 +96,8 @@ func NewVpaTargetSelectorFetcher(config *rest.Config, kubeClient kube_client.Int
9496
go informer.Run(stopCh)
9597
synced := cache.WaitForCacheSync(stopCh, informer.HasSynced)
9698
if !synced {
97-
klog.Fatalf("Could not sync cache for %s: %v", kind, err)
99+
klog.ErrorS(nil, "Could not sync cache for "+string(kind))
100+
os.Exit(255)
98101
} else {
99102
klog.InfoS("Initial sync completed", "kind", kind)
100103
}

vertical-pod-autoscaler/pkg/updater/logic/updater.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package logic
1919
import (
2020
"context"
2121
"fmt"
22+
"os"
2223
"slices"
2324
"time"
2425

@@ -135,7 +136,8 @@ func (u *updater) RunOnce(ctx context.Context) {
135136

136137
vpaList, err := u.vpaLister.List(labels.Everything())
137138
if err != nil {
138-
klog.Fatalf("failed get VPA list: %v", err)
139+
klog.ErrorS(err, "Failed to get VPA list")
140+
os.Exit(255)
139141
}
140142
timer.ObserveStep("ListVPAs")
141143

@@ -318,7 +320,8 @@ func newEventRecorder(kubeClient kube_client.Interface) record.EventRecorder {
318320

319321
vpascheme := scheme.Scheme
320322
if err := corescheme.AddToScheme(vpascheme); err != nil {
321-
klog.Fatalf("Error adding core scheme: %v", err)
323+
klog.ErrorS(err, "Error adding core scheme")
324+
os.Exit(255)
322325
}
323326

324327
return eventBroadcaster.NewRecorder(vpascheme, apiv1.EventSource{Component: "vpa-updater"})

vertical-pod-autoscaler/pkg/updater/main.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@ func main() {
9292
klog.V(1).InfoS("Vertical Pod Autoscaler Updater", "version", common.VerticalPodAutoscalerVersion)
9393

9494
if len(commonFlags.VpaObjectNamespace) > 0 && len(commonFlags.IgnoredVpaObjectNamespaces) > 0 {
95-
klog.Fatalf("--vpa-object-namespace and --ignored-vpa-object-namespaces are mutually exclusive and can't be set together.")
95+
klog.ErrorS(nil, "--vpa-object-namespace and --ignored-vpa-object-namespaces are mutually exclusive and can't be set together.")
96+
os.Exit(255)
9697
}
9798

9899
healthCheck := metrics.NewHealthCheck(*updaterInterval * 5)
@@ -105,7 +106,8 @@ func main() {
105106
} else {
106107
id, err := os.Hostname()
107108
if err != nil {
108-
klog.Fatalf("Unable to get hostname: %v", err)
109+
klog.ErrorS(err, "Unable to get hostname")
110+
os.Exit(255)
109111
}
110112
id = id + "_" + string(uuid.NewUUID())
111113

@@ -123,7 +125,8 @@ func main() {
123125
},
124126
)
125127
if err != nil {
126-
klog.Fatalf("Unable to create leader election lock: %v", err)
128+
klog.ErrorS(err, "Unable to create leader election lock")
129+
os.Exit(255)
127130
}
128131

129132
leaderelection.RunOrDie(context.TODO(), leaderelection.LeaderElectionConfig{
@@ -201,7 +204,8 @@ func run(healthCheck *metrics.HealthCheck, commonFlag *common.CommonFlags) {
201204
ignoredNamespaces,
202205
)
203206
if err != nil {
204-
klog.Fatalf("Failed to create updater: %v", err)
207+
klog.ErrorS(err, "Failed to create updater")
208+
os.Exit(255)
205209
}
206210

207211
// Start updating health check endpoint.

vertical-pod-autoscaler/pkg/utils/metrics/healthcheck.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package metrics
1919
import (
2020
"fmt"
2121
"net/http"
22+
"os"
2223
"sync"
2324
"time"
2425

@@ -75,7 +76,8 @@ func (hc *HealthCheck) ServeHTTP(w http.ResponseWriter, r *http.Request) {
7576
w.WriteHeader(200)
7677
_, err := w.Write([]byte("OK"))
7778
if err != nil {
78-
klog.Fatalf("Failed to write response message: %v", err)
79+
klog.ErrorS(err, "Failed to write response message")
80+
os.Exit(255)
7981
}
8082
}
8183
}

vertical-pod-autoscaler/pkg/utils/server/server.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ package server
2020
import (
2121
"net/http"
2222
"net/http/pprof"
23+
"os"
2324

2425
"k8s.io/klog/v2"
2526

@@ -46,6 +47,7 @@ func Initialize(enableProfiling *bool, healthCheck *metrics.HealthCheck, address
4647
}
4748

4849
err := http.ListenAndServe(*address, mux)
49-
klog.Fatalf("Failed to start metrics: %v", err)
50+
klog.ErrorS(err, "Failed to start metrics")
51+
os.Exit(255)
5052
}()
5153
}

0 commit comments

Comments
 (0)