From ac3a130101fc0a660e0ea57dc8d73a00b02e4e3b Mon Sep 17 00:00:00 2001 From: davidko Date: Tue, 12 Dec 2023 23:15:27 +0800 Subject: [PATCH] refactor: move non-entry app functions away from app pkg Signed-off-by: davidko --- app/daemon.go | 11 ++++++----- {app => recovery_backend}/recovery_backend.go | 4 ++-- {app => webhook}/webhook.go | 4 ++-- 3 files changed, 10 insertions(+), 9 deletions(-) rename {app => recovery_backend}/recovery_backend.go (86%) rename {app => webhook}/webhook.go (96%) diff --git a/app/daemon.go b/app/daemon.go index 83297c04e1..2629981d11 100644 --- a/app/daemon.go +++ b/app/daemon.go @@ -3,9 +3,8 @@ package app import ( "fmt" "net/http" - "os" - _ "net/http/pprof" // for runtime profiling + "os" "github.com/gorilla/handlers" "github.com/pkg/errors" @@ -22,10 +21,12 @@ import ( "github.com/longhorn/longhorn-manager/datastore" "github.com/longhorn/longhorn-manager/manager" "github.com/longhorn/longhorn-manager/meta" + "github.com/longhorn/longhorn-manager/recovery_backend" "github.com/longhorn/longhorn-manager/types" "github.com/longhorn/longhorn-manager/upgrade" "github.com/longhorn/longhorn-manager/util" "github.com/longhorn/longhorn-manager/util/client" + "github.com/longhorn/longhorn-manager/webhook" metricscollector "github.com/longhorn/longhorn-manager/metrics_collector" ) @@ -146,12 +147,12 @@ func startManager(c *cli.Context) error { webhookTypes := []string{types.WebhookTypeConversion, types.WebhookTypeAdmission} for _, webhookType := range webhookTypes { - if err := startWebhook(ctx, webhookType, clients); err != nil { + if err := webhook.StartWebhook(ctx, webhookType, clients); err != nil { return err } } - if err := startRecoveryBackend(clients); err != nil { + if err := recoverybackend.StartRecoveryBackend(clients); err != nil { return err } @@ -220,7 +221,7 @@ func startManager(c *cli.Context) error { debugAddress := "127.0.0.1:6060" debugHandler := http.DefaultServeMux logger.Infof("Debug Server listening on %s", debugAddress) - if err := http.ListenAndServe(debugAddress, debugHandler); err != nil && err != http.ErrServerClosed { + if err := http.ListenAndServe(debugAddress, debugHandler); err != nil && !errors.Is(err, http.ErrServerClosed) { logger.Errorf(fmt.Sprintf("ListenAndServe: %s", err)) } }() diff --git a/app/recovery_backend.go b/recovery_backend/recovery_backend.go similarity index 86% rename from app/recovery_backend.go rename to recovery_backend/recovery_backend.go index a66d4ed00d..5f56090c65 100644 --- a/app/recovery_backend.go +++ b/recovery_backend/recovery_backend.go @@ -1,4 +1,4 @@ -package app +package recoverybackend import ( "net/http" @@ -9,7 +9,7 @@ import ( "github.com/longhorn/longhorn-manager/util/client" ) -func startRecoveryBackend(clients *client.Clients) error { +func StartRecoveryBackend(clients *client.Clients) error { logrus.Info("Starting longhorn recovery-backend server") s := server.New(clients.Namespace, clients.Datastore) diff --git a/app/webhook.go b/webhook/webhook.go similarity index 96% rename from app/webhook.go rename to webhook/webhook.go index 69c79aa863..3cc553ee32 100644 --- a/app/webhook.go +++ b/webhook/webhook.go @@ -1,4 +1,4 @@ -package app +package webhook import ( "context" @@ -19,7 +19,7 @@ var ( defaultStartTimeout = 60 * time.Second ) -func startWebhook(ctx context.Context, webhookType string, clients *client.Clients) error { +func StartWebhook(ctx context.Context, webhookType string, clients *client.Clients) error { logrus.Infof("Starting longhorn %s webhook server", webhookType) var webhookPort int