Skip to content

Commit

Permalink
fix lint
Browse files Browse the repository at this point in the history
  • Loading branch information
ruanxin committed Feb 5, 2025
1 parent 44d08ff commit cb22a06
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 35 deletions.
67 changes: 38 additions & 29 deletions cmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -144,11 +144,11 @@ func pprofStartServer(addr string, timeout time.Duration, setupLog logr.Logger)
}

func setupManager(flagVar *flags.FlagVar, cacheOptions cache.Options, scheme *machineryruntime.Scheme,
setupLog logr.Logger,
logger logr.Logger,
) {
mgr, err := configManager(flagVar, cacheOptions, scheme)
if err != nil {
setupLog.Error(err, "unable to start manager")
logger.Error(err, "unable to start manager")
os.Exit(bootstrapFailedExitCode)
}
kcpRestConfig := mgr.GetConfig()
Expand All @@ -160,13 +160,13 @@ func setupManager(flagVar *flags.FlagVar, cacheOptions cache.Options, scheme *ma
var options ctrlruntime.Options
if flagVar.EnableKcpWatcher {
if skrWebhookManager, err = createSkrWebhookManager(mgr, skrContextProvider, flagVar); err != nil {
setupLog.Error(err, "failed to create skr webhook manager")
logger.Error(err, "failed to create skr webhook manager")
os.Exit(bootstrapFailedExitCode)
}
setupKcpWatcherReconciler(mgr, options, eventRecorder, flagVar, setupLog)
setupKcpWatcherReconciler(mgr, options, eventRecorder, flagVar, logger)
err = istiogatewaysecret.SetupReconciler(mgr, flagVar, options)
if err != nil {
setupLog.Error(err, "unable to create controller", "controller", "Istio")
logger.Error(err, "unable to create controller", "controller", "Istio")
os.Exit(bootstrapFailedExitCode)
}
}
Expand All @@ -175,47 +175,53 @@ func setupManager(flagVar *flags.FlagVar, cacheOptions cache.Options, scheme *ma
descriptorProvider := provider.NewCachedDescriptorProvider()
kymaMetrics := metrics.NewKymaMetrics(sharedMetrics)
mandatoryModulesMetrics := metrics.NewMandatoryModulesMetrics()
maintenanceWindowsMetrics := metrics.NewMaintenanceWindowMetrics()
maintenanceWindow, err := maintenancewindows.InitializeMaintenanceWindow(setupLog,
maintenanceWindowPoliciesDirectory,
maintenanceWindowPolicyName,
// align the configuration values before rollout
// https://github.com/kyma-project/lifecycle-manager/issues/2165
true,
minMaintenanceWindowSize)
if err != nil {
maintenanceWindowsMetrics.RecordConfigReadSuccess(false)
setupLog.Error(err, "unable to set maintenance windows policy")
}
maintenanceWindowsMetrics.RecordConfigReadSuccess(true)
maintenanceWindow := initMaintenanceWindow(logger)

setupKymaReconciler(mgr, descriptorProvider, skrContextProvider, eventRecorder, flagVar, options, skrWebhookManager,
kymaMetrics, setupLog, maintenanceWindow)
setupManifestReconciler(mgr, flagVar, options, sharedMetrics, mandatoryModulesMetrics, setupLog,
kymaMetrics, logger, maintenanceWindow)
setupManifestReconciler(mgr, flagVar, options, sharedMetrics, mandatoryModulesMetrics, logger,
eventRecorder)
setupMandatoryModuleReconciler(mgr, descriptorProvider, flagVar, options, mandatoryModulesMetrics, setupLog)
setupMandatoryModuleDeletionReconciler(mgr, descriptorProvider, eventRecorder, flagVar, options, setupLog)
setupMandatoryModuleReconciler(mgr, descriptorProvider, flagVar, options, mandatoryModulesMetrics, logger)
setupMandatoryModuleDeletionReconciler(mgr, descriptorProvider, eventRecorder, flagVar, options, logger)
if flagVar.EnablePurgeFinalizer {
setupPurgeReconciler(mgr, skrContextProvider, eventRecorder, flagVar, options, setupLog)
setupPurgeReconciler(mgr, skrContextProvider, eventRecorder, flagVar, options, logger)
}

if flagVar.EnableWebhooks {
// enable conversion webhook for CRDs here

setupLog.Info("currently no configured webhooks")
logger.Info("currently no configured webhooks")
}

addHealthChecks(mgr, setupLog)
addHealthChecks(mgr, logger)

go cleanupStoredVersions(flagVar.DropCrdStoredVersionMap, mgr, setupLog)
go scheduleMetricsCleanup(kymaMetrics, flagVar.MetricsCleanupIntervalInMinutes, mgr, setupLog)
go cleanupStoredVersions(flagVar.DropCrdStoredVersionMap, mgr, logger)
go scheduleMetricsCleanup(kymaMetrics, flagVar.MetricsCleanupIntervalInMinutes, mgr, logger)

if err = mgr.Start(ctrl.SetupSignalHandler()); err != nil {
setupLog.Error(err, "problem running manager")
logger.Error(err, "problem running manager")
os.Exit(runtimeProblemExitCode)
}
}

func initMaintenanceWindow(logger logr.Logger) *maintenancewindows.MaintenanceWindow {
maintenanceWindowsMetrics := metrics.NewMaintenanceWindowMetrics()
maintenanceWindow, err := maintenancewindows.InitializeMaintenanceWindow(logger,
maintenanceWindowPoliciesDirectory,
maintenanceWindowPolicyName,
// align the configuration values before rollout
// https://github.com/kyma-project/lifecycle-manager/issues/2165
true,
minMaintenanceWindowSize)
if err != nil {
maintenanceWindowsMetrics.RecordConfigReadSuccess(false)
logger.Error(err, "unable to set maintenance windows policy")
}
maintenanceWindowsMetrics.RecordConfigReadSuccess(true)
return maintenanceWindow
}

//nolint:ireturn // the implementation is not a part of the public API
func configManager(flagVar *flags.FlagVar, cacheOptions cache.Options,
scheme *machineryruntime.Scheme,
) (manager.Manager, error) {
Expand All @@ -239,7 +245,10 @@ func configManager(flagVar *flags.FlagVar, cacheOptions cache.Options,
Cache: cacheOptions,
},
)
return mgr, err
if err != nil {
return nil, fmt.Errorf("unable to create manager: %w", err)
}
return mgr, nil
}

func addHealthChecks(mgr manager.Manager, setupLog logr.Logger) {
Expand Down
13 changes: 7 additions & 6 deletions internal/pkg/metrics/maintance_window_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,18 @@ import (
"strings"
"testing"

"github.com/kyma-project/lifecycle-manager/internal/pkg/metrics"
"github.com/prometheus/client_golang/prometheus/testutil"

"github.com/kyma-project/lifecycle-manager/internal/pkg/metrics"
)

func TestMaintenanceWindowMetrics(t *testing.T) {
// Create a new instance of MaintenanceWindowMetrics
m := metrics.NewMaintenanceWindowMetrics()
maintenanceWindowMetrics := metrics.NewMaintenanceWindowMetrics()

// Test recording a successful config read
m.RecordConfigReadSuccess(true)
if err := testutil.CollectAndCompare(m.ConfigReadSuccessGauge, strings.NewReader(`
maintenanceWindowMetrics.RecordConfigReadSuccess(true)
if err := testutil.CollectAndCompare(maintenanceWindowMetrics.ConfigReadSuccessGauge, strings.NewReader(`
# HELP maintenance_window_config_read_success Indicates whether the maintenance window configuration was read successfully (1 for success, 0 for failure)
# TYPE maintenance_window_config_read_success gauge
maintenance_window_config_read_success 1
Expand All @@ -23,8 +24,8 @@ func TestMaintenanceWindowMetrics(t *testing.T) {
}

// Test recording a failed config read
m.RecordConfigReadSuccess(false)
if err := testutil.CollectAndCompare(m.ConfigReadSuccessGauge, strings.NewReader(`
maintenanceWindowMetrics.RecordConfigReadSuccess(false)
if err := testutil.CollectAndCompare(maintenanceWindowMetrics.ConfigReadSuccessGauge, strings.NewReader(`
# HELP maintenance_window_config_read_success Indicates whether the maintenance window configuration was read successfully (1 for success, 0 for failure)
# TYPE maintenance_window_config_read_success gauge
maintenance_window_config_read_success 0
Expand Down

0 comments on commit cb22a06

Please sign in to comment.