From df8d57f4379256a88fae8105def823848ae0e6d7 Mon Sep 17 00:00:00 2001 From: Shoaeb Jindani Date: Tue, 2 Apr 2024 23:49:46 +0530 Subject: [PATCH 01/15] Adding logs with uber/zap Signed-off-by: Shoaeb Jindani --- controllers/ibpca/ibpca_controller.go | 3 +- .../ibpconsole/ibpconsole_controller.go | 3 +- .../ibporderer/ibporderer_controller.go | 4 +- controllers/ibppeer/ibppeer_controller.go | 4 +- pkg/command/operator.go | 45 +++++++++++++++---- 5 files changed, 43 insertions(+), 16 deletions(-) diff --git a/controllers/ibpca/ibpca_controller.go b/controllers/ibpca/ibpca_controller.go index 937c618e..1395867f 100644 --- a/controllers/ibpca/ibpca_controller.go +++ b/controllers/ibpca/ibpca_controller.go @@ -192,8 +192,7 @@ type ReconcileIBPCA struct { func (r *ReconcileIBPCA) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) { var err error - reqLogger := log.WithValues("Request.Namespace", request.Namespace, "Request.Name", request.Name) - + reqLogger := r.Config.Logger // If ca-restart-config configmap is the object being reconciled, reconcile the // restart configmap. if request.Name == "ca-restart-config" { diff --git a/controllers/ibpconsole/ibpconsole_controller.go b/controllers/ibpconsole/ibpconsole_controller.go index a2252c39..9041ca90 100644 --- a/controllers/ibpconsole/ibpconsole_controller.go +++ b/controllers/ibpconsole/ibpconsole_controller.go @@ -153,7 +153,8 @@ type ReconcileIBPConsole struct { func (r *ReconcileIBPConsole) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) { var err error - reqLogger := log.WithValues("Request.Namespace", request.Namespace, "Request.Name", request.Name) + //reqLogger := log.WithValues("Request.Namespace", request.Namespace, "Request.Name", request.Name) + reqLogger := r.Config.Logger reqLogger.Info(fmt.Sprintf("Reconciling IBPConsole with update values of [ %+v ]", r.update.GetUpdateStackWithTrues())) // Fetch the IBPConsole instance diff --git a/controllers/ibporderer/ibporderer_controller.go b/controllers/ibporderer/ibporderer_controller.go index 54a1dd13..eddee105 100644 --- a/controllers/ibporderer/ibporderer_controller.go +++ b/controllers/ibporderer/ibporderer_controller.go @@ -183,8 +183,8 @@ type ReconcileIBPOrderer struct { func (r *ReconcileIBPOrderer) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) { var err error - reqLogger := log.WithValues("Request.Namespace", request.Namespace, "Request.Name", request.Name) - + //reqLogger := log.WithValues("Request.Namespace", request.Namespace, "Request.Name", request.Name) + reqLogger := r.Config.Logger // If orderer-restart-config configmap is the object being reconciled, reconcile the // restart configmap. if request.Name == "orderer-restart-config" { diff --git a/controllers/ibppeer/ibppeer_controller.go b/controllers/ibppeer/ibppeer_controller.go index 55abca96..4be2ff61 100644 --- a/controllers/ibppeer/ibppeer_controller.go +++ b/controllers/ibppeer/ibppeer_controller.go @@ -203,8 +203,8 @@ type ReconcileIBPPeer struct { func (r *ReconcileIBPPeer) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) { var err error - reqLogger := log.WithValues("Request.Namespace", request.Namespace, "Request.Name", request.Name) - + //reqLogger := log.WithValues("Request.Namespace", request.Namespace, "Request.Name", request.Name) + reqLogger := r.Config.Logger // If peer-restart-config configmap is the object being reconciled, reconcile the // restart configmap. if request.Name == "peer-restart-config" { diff --git a/pkg/command/operator.go b/pkg/command/operator.go index ec584045..6fc35224 100644 --- a/pkg/command/operator.go +++ b/pkg/command/operator.go @@ -28,6 +28,7 @@ import ( k8sruntime "k8s.io/apimachinery/pkg/runtime" + "github.com/go-logr/zapr" routev1 "github.com/openshift/api/route/v1" "github.com/operator-framework/operator-lib/leader" utilruntime "k8s.io/apimachinery/pkg/util/runtime" @@ -45,16 +46,18 @@ import ( "github.com/IBM-Blockchain/fabric-operator/pkg/offering" openshiftv1 "github.com/openshift/api/config/v1" + commonutility "github.com/IBM-Blockchain/fabric-operator/pkg/util" + uberzap "go.uber.org/zap" + "go.uber.org/zap/zapcore" "k8s.io/apimachinery/pkg/types" _ "k8s.io/client-go/plugin/pkg/client/auth/gcp" + _ "k8s.io/client-go/plugin/pkg/client/auth/oidc" "sigs.k8s.io/controller-runtime/pkg/client" - - logf "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/controller-runtime/pkg/manager/signals" ) -var log = logf.Log.WithName("cmd_operator") - +var log *uberzap.SugaredLogger +var c1 commonutility.Client var ( scheme = k8sruntime.NewScheme() setupLog = ctrl.Log.WithName("setup") @@ -67,7 +70,7 @@ func init() { } func printVersion() { - log.Info(fmt.Sprintf("Go Version: %s", runtime.Version())) + log.Info("Go Version: %s", runtime.Version()) log.Info(fmt.Sprintf("Go OS/Arch: %s/%s", runtime.GOOS, runtime.GOARCH)) } @@ -102,12 +105,23 @@ func OperatorWithSignal(operatorCfg *oconfig.Config, signalHandler context.Conte // be propagated through the whole operator, generating // uniform and structured logs. if operatorCfg.Logger != nil { - logf.SetLogger(*operatorCfg.Logger) - ctrl.SetLogger(*operatorCfg.Logger) + //logf.SetLogger(*operatorCfg.Logger) + ctrl.SetLogger(zap.New(zap.UseDevMode(false))) + log = operatorCfg.Logger.Sugar().Named("operator") + _ = err + log.Info("Installing operator in all namespace mode") } else { // Use the unstructured log formatter when running locally. - logf.SetLogger(zap.New(zap.UseDevMode(local))) - ctrl.SetLogger(zap.New(zap.UseDevMode(true))) + //logf.SetLogger(zap.New(zap.UseDevMode(false))) + ctrl.SetLogger(zap.New(zap.UseDevMode(false))) + + // Create logger + + //logm, err := util.SetupLogging("DEBUG") + log = operatorCfg.Logger.Sugar().Named("operator") + _ = err + log.Info("Installing operator in all namespace mode") + } printVersion() @@ -155,6 +169,18 @@ func OperatorWithSignal(operatorCfg *oconfig.Config, signalHandler context.Conte } flag.Parse() + cfg := uberzap.NewProductionConfig() + cfg.OutputPaths = []string{"stdout"} + + cfg.Level.SetLevel(zapcore.DebugLevel) + + zapLogger, err := cfg.Build() + if err != nil { + panic("failed to create logger: " + err.Error()) + } + + logger := zapr.NewLogger(zapLogger) + mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{ Scheme: scheme, MetricsBindAddress: metricsAddr, @@ -163,6 +189,7 @@ func OperatorWithSignal(operatorCfg *oconfig.Config, signalHandler context.Conte LeaderElectionID: "c30dd930.ibp.com", LeaderElectionNamespace: operatorNamespace, Namespace: watchNamespace, + Logger: logger, }) if err != nil { setupLog.Error(err, "unable to start manager") From 052fd7e5e0a7dea66f09c4d22b1e13602e1d4e84 Mon Sep 17 00:00:00 2001 From: Shoaeb Jindani Date: Tue, 2 Apr 2024 23:52:54 +0530 Subject: [PATCH 02/15] added util.go changes Signed-off-by: Shoaeb Jindani --- pkg/util/util.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/pkg/util/util.go b/pkg/util/util.go index a43443cd..aca30ea5 100644 --- a/pkg/util/util.go +++ b/pkg/util/util.go @@ -41,6 +41,8 @@ import ( "github.com/IBM-Blockchain/fabric-operator/pkg/k8s/clientset" routev1 "github.com/openshift/api/route/v1" "github.com/pkg/errors" + uberzap "go.uber.org/zap" + "go.uber.org/zap/zapcore" appsv1 "k8s.io/api/apps/v1" corev1 "k8s.io/api/core/v1" networkingv1 "k8s.io/api/networking/v1" @@ -942,3 +944,24 @@ func GetServerVersion() (*version.Info, error) { } return version, nil } + +func SetupLogging(loglevel string) (*uberzap.Logger, error) { + // set up logging + var level zapcore.Level + err := level.Set(loglevel) + if err != nil { + return nil, err + } + zapConfig := uberzap.NewProductionConfig() + zapConfig.Level = uberzap.NewAtomicLevelAt(level) + zapConfig.EncoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder + logger, err := zapConfig.Build() + defer logger.Sync() + if err != nil { + return nil, err + } + // redirect uses of standard logger + uberzap.RedirectStdLog(logger) + + return logger, nil +} From 12d8a7ab412f4d938bc54ffdba70ec6ed5a3d9c5 Mon Sep 17 00:00:00 2001 From: Shoaeb Jindani Date: Thu, 4 Apr 2024 12:48:24 +0530 Subject: [PATCH 03/15] added more changes for logging Signed-off-by: Shoaeb Jindani --- main.go | 14 ++++++++++++-- pkg/command/operator.go | 24 ++++++++++++++---------- 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/main.go b/main.go index ba376331..48236d81 100644 --- a/main.go +++ b/main.go @@ -19,6 +19,8 @@ package main import ( + "fmt" + "os" "path/filepath" "time" @@ -27,6 +29,7 @@ import ( cainit "github.com/IBM-Blockchain/fabric-operator/pkg/initializer/ca" ordererinit "github.com/IBM-Blockchain/fabric-operator/pkg/initializer/orderer" peerinit "github.com/IBM-Blockchain/fabric-operator/pkg/initializer/peer" + "github.com/IBM-Blockchain/fabric-operator/pkg/util" logf "sigs.k8s.io/controller-runtime/pkg/log" @@ -71,13 +74,19 @@ func main() { setDefaultConsoleDefinitions(operatorCfg) operatorCfg.Operator.SetDefaults() - + zaplogger, err := util.SetupLogging("DEBUG") + operatorCfg.Logger = zaplogger + if err != nil { + fmt.Print("error initiating the logger", err) + fmt.Print("Will exit Operator", err) + os.Exit(1) + } if err := command.Operator(operatorCfg); err != nil { log.Error(err, "failed to start operator") time.Sleep(15 * time.Second) } - // TODO + // // TODO // if err = (&ibpca.IBPCAReconciler{ // Client: mgr.GetClient(), // Log: ctrl.Log.WithName("controllers").WithName("IBPCA"), @@ -114,6 +123,7 @@ func main() { } func setDefaultCADefinitions(cfg *config.Config) { + cfg.CAInitConfig = &cainit.Config{ CADefaultConfigPath: filepath.Join(defaultConfigs, "ca/ca.yaml"), TLSCADefaultConfigPath: filepath.Join(defaultConfigs, "ca/tlsca.yaml"), diff --git a/pkg/command/operator.go b/pkg/command/operator.go index 6fc35224..064a2535 100644 --- a/pkg/command/operator.go +++ b/pkg/command/operator.go @@ -169,19 +169,23 @@ func OperatorWithSignal(operatorCfg *oconfig.Config, signalHandler context.Conte } flag.Parse() - cfg := uberzap.NewProductionConfig() - cfg.OutputPaths = []string{"stdout"} - - cfg.Level.SetLevel(zapcore.DebugLevel) - - zapLogger, err := cfg.Build() + // Create a new logger with UTC format + config := uberzap.NewProductionConfig() + config.EncoderConfig.TimeKey = "timestamp" + config.EncoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder + logger, err := config.Build() if err != nil { - panic("failed to create logger: " + err.Error()) + panic(fmt.Sprintf("failed to initialize logger: %v", err)) } + log := zapr.NewLogger(logger) + + // Log some messages + log.Info("Logging in UTC format", "time", time.Now().UTC()) - logger := zapr.NewLogger(zapLogger) + // Example of logging with additional context + log.Info("Example with additional context", "key", "value") - mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{ + mgr, err := ctrl.New(ctrl.GetConfigOrDie(), ctrl.Options{ Scheme: scheme, MetricsBindAddress: metricsAddr, Port: 9443, @@ -189,7 +193,7 @@ func OperatorWithSignal(operatorCfg *oconfig.Config, signalHandler context.Conte LeaderElectionID: "c30dd930.ibp.com", LeaderElectionNamespace: operatorNamespace, Namespace: watchNamespace, - Logger: logger, + Logger: log, }) if err != nil { setupLog.Error(err, "unable to start manager") From bb73204547a0244bb55e1be3dbf971e59677c88b Mon Sep 17 00:00:00 2001 From: Shoaeb Jindani Date: Thu, 4 Apr 2024 12:53:46 +0530 Subject: [PATCH 04/15] missed config.go file, added Signed-off-by: Shoaeb Jindani --- operatorconfig/config.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/operatorconfig/config.go b/operatorconfig/config.go index 961a3513..8884572e 100644 --- a/operatorconfig/config.go +++ b/operatorconfig/config.go @@ -23,7 +23,7 @@ import ( ordererinit "github.com/IBM-Blockchain/fabric-operator/pkg/initializer/orderer" peerinit "github.com/IBM-Blockchain/fabric-operator/pkg/initializer/peer" "github.com/IBM-Blockchain/fabric-operator/pkg/offering" - "github.com/go-logr/logr" + "go.uber.org/zap" ) type Config struct { @@ -33,7 +33,7 @@ type Config struct { ConsoleInitConfig *ConsoleConfig Offering offering.Type Operator Operator - Logger *logr.Logger + Logger *zap.Logger } type ConsoleConfig struct { From 9d3aeb720033c5ada2e9ed200b56c233c2c5f8b0 Mon Sep 17 00:00:00 2001 From: Shoaeb Jindani Date: Thu, 4 Apr 2024 14:00:16 +0530 Subject: [PATCH 05/15] Fixed intergration for operator Signed-off-by: Shoaeb Jindani --- integration/operator.go | 20 +++++++------ pkg/command/operator.go | 62 +++++++++++++++-------------------------- 2 files changed, 34 insertions(+), 48 deletions(-) diff --git a/integration/operator.go b/integration/operator.go index 5922a7d7..7ee7017f 100644 --- a/integration/operator.go +++ b/integration/operator.go @@ -21,7 +21,6 @@ package integration import ( "context" "fmt" - "os" "path/filepath" config "github.com/IBM-Blockchain/fabric-operator/operatorconfig" @@ -31,21 +30,24 @@ import ( cainit "github.com/IBM-Blockchain/fabric-operator/pkg/initializer/ca" ordererinit "github.com/IBM-Blockchain/fabric-operator/pkg/initializer/orderer" peerinit "github.com/IBM-Blockchain/fabric-operator/pkg/initializer/peer" - uzap "go.uber.org/zap" + "github.com/IBM-Blockchain/fabric-operator/pkg/util" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "sigs.k8s.io/controller-runtime/pkg/log/zap" ) // GetOperatorConfig returns the operator configuration with the default templating files population // and with default versions set for components. func GetOperatorConfig(configs, caFiles, peerFiles, ordererFiles, consoleFiles string) *config.Config { - ulevel := uzap.NewAtomicLevelAt(2) - if os.Getenv("LOG_LEVEL") == "debug" { - ulevel = uzap.NewAtomicLevelAt(-1) + // ulevel := uzap.NewAtomicLevelAt(2) + // if os.Getenv("LOG_LEVEL") == "debug" { + // ulevel = uzap.NewAtomicLevelAt(-1) + // } + // level := zap.Level(&ulevel) + // logger := zap.New(zap.Opts(level)) + zaplogger, err := util.SetupLogging("DEBUG") + if err != nil { + fmt.Print("error initiating the logger", err) } - level := zap.Level(&ulevel) - logger := zap.New(zap.Opts(level)) cfg := &config.Config{ CAInitConfig: &cainit.Config{ @@ -119,7 +121,7 @@ func GetOperatorConfig(configs, caFiles, peerFiles, ordererFiles, consoleFiles s NetworkPolicyIngressFile: filepath.Join(consoleFiles, "networkpolicy-ingress.yaml"), NetworkPolicyDenyAllFile: filepath.Join(consoleFiles, "networkpolicy-denyall.yaml"), }, - Logger: &logger, + Logger: zaplogger, Operator: config.Operator{ Restart: config.Restart{ Timeout: common.MustParseDuration("5m"), diff --git a/pkg/command/operator.go b/pkg/command/operator.go index 064a2535..b910e61d 100644 --- a/pkg/command/operator.go +++ b/pkg/command/operator.go @@ -26,6 +26,7 @@ import ( "runtime" "time" + "go.uber.org/zap/zapcore" k8sruntime "k8s.io/apimachinery/pkg/runtime" "github.com/go-logr/zapr" @@ -46,18 +47,17 @@ import ( "github.com/IBM-Blockchain/fabric-operator/pkg/offering" openshiftv1 "github.com/openshift/api/config/v1" - commonutility "github.com/IBM-Blockchain/fabric-operator/pkg/util" - uberzap "go.uber.org/zap" - "go.uber.org/zap/zapcore" "k8s.io/apimachinery/pkg/types" _ "k8s.io/client-go/plugin/pkg/client/auth/gcp" - _ "k8s.io/client-go/plugin/pkg/client/auth/oidc" "sigs.k8s.io/controller-runtime/pkg/client" + + uberzap "go.uber.org/zap" + logf "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/controller-runtime/pkg/manager/signals" ) -var log *uberzap.SugaredLogger -var c1 commonutility.Client +var log = logf.Log.WithName("cmd_operator") + var ( scheme = k8sruntime.NewScheme() setupLog = ctrl.Log.WithName("setup") @@ -70,7 +70,7 @@ func init() { } func printVersion() { - log.Info("Go Version: %s", runtime.Version()) + log.Info(fmt.Sprintf("Go Version: %s", runtime.Version())) log.Info(fmt.Sprintf("Go OS/Arch: %s/%s", runtime.GOOS, runtime.GOARCH)) } @@ -105,23 +105,24 @@ func OperatorWithSignal(operatorCfg *oconfig.Config, signalHandler context.Conte // be propagated through the whole operator, generating // uniform and structured logs. if operatorCfg.Logger != nil { - //logf.SetLogger(*operatorCfg.Logger) - ctrl.SetLogger(zap.New(zap.UseDevMode(false))) - log = operatorCfg.Logger.Sugar().Named("operator") - _ = err - log.Info("Installing operator in all namespace mode") - } else { - // Use the unstructured log formatter when running locally. - //logf.SetLogger(zap.New(zap.UseDevMode(false))) - ctrl.SetLogger(zap.New(zap.UseDevMode(false))) - // Create logger + config := uberzap.NewProductionConfig() + config.EncoderConfig.TimeKey = "timestamp" + config.EncoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder + logger, err := config.Build() + if err != nil { + panic(fmt.Sprintf("failed to initialize logger: %v", err)) + } - //logm, err := util.SetupLogging("DEBUG") - log = operatorCfg.Logger.Sugar().Named("operator") - _ = err - log.Info("Installing operator in all namespace mode") + // Wrap the zap.Logger with go-logr/zapr to satisfy the logr.Logger interface + log := zapr.NewLogger(logger) + logf.SetLogger(log) + ctrl.SetLogger(log) + } else { + // Use the unstructured log formatter when running locally. + logf.SetLogger(zap.New(zap.UseDevMode(local))) + ctrl.SetLogger(zap.New(zap.UseDevMode(true))) } printVersion() @@ -169,23 +170,7 @@ func OperatorWithSignal(operatorCfg *oconfig.Config, signalHandler context.Conte } flag.Parse() - // Create a new logger with UTC format - config := uberzap.NewProductionConfig() - config.EncoderConfig.TimeKey = "timestamp" - config.EncoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder - logger, err := config.Build() - if err != nil { - panic(fmt.Sprintf("failed to initialize logger: %v", err)) - } - log := zapr.NewLogger(logger) - - // Log some messages - log.Info("Logging in UTC format", "time", time.Now().UTC()) - - // Example of logging with additional context - log.Info("Example with additional context", "key", "value") - - mgr, err := ctrl.New(ctrl.GetConfigOrDie(), ctrl.Options{ + mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{ Scheme: scheme, MetricsBindAddress: metricsAddr, Port: 9443, @@ -193,7 +178,6 @@ func OperatorWithSignal(operatorCfg *oconfig.Config, signalHandler context.Conte LeaderElectionID: "c30dd930.ibp.com", LeaderElectionNamespace: operatorNamespace, Namespace: watchNamespace, - Logger: log, }) if err != nil { setupLog.Error(err, "unable to start manager") From 75600e56559a3b194606308646b4fb08c2bb80d2 Mon Sep 17 00:00:00 2001 From: Shoaeb Jindani Date: Fri, 5 Apr 2024 11:16:01 +0530 Subject: [PATCH 06/15] fixed ibpca controller tests Signed-off-by: Shoaeb Jindani --- controllers/ibpca/ibpca_controller_test.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/controllers/ibpca/ibpca_controller_test.go b/controllers/ibpca/ibpca_controller_test.go index cd2dba6b..b2ccb353 100644 --- a/controllers/ibpca/ibpca_controller_test.go +++ b/controllers/ibpca/ibpca_controller_test.go @@ -25,6 +25,7 @@ import ( "sync" current "github.com/IBM-Blockchain/fabric-operator/api/v1beta1" + opconfig "github.com/IBM-Blockchain/fabric-operator/operatorconfig" v1 "github.com/IBM-Blockchain/fabric-operator/pkg/apis/ca/v1" "github.com/IBM-Blockchain/fabric-operator/pkg/offering/common" "github.com/IBM-Blockchain/fabric-operator/pkg/util" @@ -116,7 +117,10 @@ var _ = Describe("ReconcileIBPCA", func() { scheme: &runtime.Scheme{}, update: map[string][]Update{}, mutex: &sync.Mutex{}, + Config: &opconfig.Config{}, } + zaplogger, _ := util.SetupLogging("DEBUG") + reconciler.Config.Logger = zaplogger request = reconcile.Request{ NamespacedName: types.NamespacedName{ Namespace: "test-namespace", From c8619d2ab2abb3b2b2cc96e908e3d58d6d4264f2 Mon Sep 17 00:00:00 2001 From: Shoaeb Jindani Date: Fri, 5 Apr 2024 11:23:49 +0530 Subject: [PATCH 07/15] fixed more tests Signed-off-by: Shoaeb Jindani --- controllers/ibporderer/ibporderer_controller_test.go | 2 ++ controllers/ibppeer/ibppeer_controller_test.go | 2 ++ 2 files changed, 4 insertions(+) diff --git a/controllers/ibporderer/ibporderer_controller_test.go b/controllers/ibporderer/ibporderer_controller_test.go index 0a50a0cf..14480745 100644 --- a/controllers/ibporderer/ibporderer_controller_test.go +++ b/controllers/ibporderer/ibporderer_controller_test.go @@ -33,6 +33,7 @@ import ( current "github.com/IBM-Blockchain/fabric-operator/api/v1beta1" orderermocks "github.com/IBM-Blockchain/fabric-operator/controllers/ibporderer/mocks" "github.com/IBM-Blockchain/fabric-operator/controllers/mocks" + opconfig "github.com/IBM-Blockchain/fabric-operator/operatorconfig" v1 "github.com/IBM-Blockchain/fabric-operator/pkg/apis/orderer/v1" config "github.com/IBM-Blockchain/fabric-operator/pkg/initializer/orderer/config/v1" "github.com/IBM-Blockchain/fabric-operator/pkg/offering/common" @@ -122,6 +123,7 @@ var _ = Describe("ReconcileIBPOrderer", func() { scheme: &runtime.Scheme{}, update: map[string][]Update{}, mutex: &sync.Mutex{}, + Config: &opconfig.Config{}, } request = reconcile.Request{ NamespacedName: types.NamespacedName{ diff --git a/controllers/ibppeer/ibppeer_controller_test.go b/controllers/ibppeer/ibppeer_controller_test.go index 85cee8bb..5b45c59c 100644 --- a/controllers/ibppeer/ibppeer_controller_test.go +++ b/controllers/ibppeer/ibppeer_controller_test.go @@ -24,6 +24,7 @@ import ( "fmt" "sync" + opconfig "github.com/IBM-Blockchain/fabric-operator/operatorconfig" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" "k8s.io/utils/pointer" @@ -125,6 +126,7 @@ var _ = Describe("ReconcileIBPPeer", func() { scheme: &runtime.Scheme{}, update: map[string][]Update{}, mutex: &sync.Mutex{}, + Config: &opconfig.Config{}, } request = reconcile.Request{ NamespacedName: types.NamespacedName{ From 6f96e3788285ad721301ff897374b726ae932106 Mon Sep 17 00:00:00 2001 From: Shoaeb Jindani Date: Fri, 5 Apr 2024 11:30:32 +0530 Subject: [PATCH 08/15] fixed more tests for ibpconsole Signed-off-by: Shoaeb Jindani --- controllers/ibpconsole/ibpconsole_controller_test.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/controllers/ibpconsole/ibpconsole_controller_test.go b/controllers/ibpconsole/ibpconsole_controller_test.go index ee562bf8..e9d9fe04 100644 --- a/controllers/ibpconsole/ibpconsole_controller_test.go +++ b/controllers/ibpconsole/ibpconsole_controller_test.go @@ -22,16 +22,16 @@ import ( "context" "fmt" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - "github.com/pkg/errors" - current "github.com/IBM-Blockchain/fabric-operator/api/v1beta1" consolemocks "github.com/IBM-Blockchain/fabric-operator/controllers/ibpconsole/mocks" "github.com/IBM-Blockchain/fabric-operator/controllers/mocks" config "github.com/IBM-Blockchain/fabric-operator/operatorconfig" "github.com/IBM-Blockchain/fabric-operator/pkg/offering/common" "github.com/IBM-Blockchain/fabric-operator/pkg/operatorerrors" + "github.com/IBM-Blockchain/fabric-operator/pkg/util" + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + "github.com/pkg/errors" corev1 "k8s.io/api/core/v1" k8serror "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -118,6 +118,8 @@ var _ = Describe("ReconcileIBPConsole", func() { client: mockKubeClient, scheme: &runtime.Scheme{}, } + zaplogger, _ := util.SetupLogging("DEBUG") + reconciler.Config.Logger = zaplogger request = reconcile.Request{ NamespacedName: types.NamespacedName{ Namespace: "test-namespace", From 67f545f6f1321d1620d5d9ca186140bf0e23b9fc Mon Sep 17 00:00:00 2001 From: Shoaeb Jindani Date: Fri, 5 Apr 2024 11:35:42 +0530 Subject: [PATCH 09/15] fixed more tests for ibporderer and peer Signed-off-by: Shoaeb Jindani --- controllers/ibporderer/ibporderer_controller_test.go | 3 +++ controllers/ibppeer/ibppeer_controller_test.go | 3 +++ 2 files changed, 6 insertions(+) diff --git a/controllers/ibporderer/ibporderer_controller_test.go b/controllers/ibporderer/ibporderer_controller_test.go index 14480745..20734c11 100644 --- a/controllers/ibporderer/ibporderer_controller_test.go +++ b/controllers/ibporderer/ibporderer_controller_test.go @@ -38,6 +38,7 @@ import ( config "github.com/IBM-Blockchain/fabric-operator/pkg/initializer/orderer/config/v1" "github.com/IBM-Blockchain/fabric-operator/pkg/offering/common" "github.com/IBM-Blockchain/fabric-operator/pkg/operatorerrors" + "github.com/IBM-Blockchain/fabric-operator/pkg/util" corev1 "k8s.io/api/core/v1" k8serror "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -125,6 +126,8 @@ var _ = Describe("ReconcileIBPOrderer", func() { mutex: &sync.Mutex{}, Config: &opconfig.Config{}, } + zaplogger, _ := util.SetupLogging("DEBUG") + reconciler.Config.Logger = zaplogger request = reconcile.Request{ NamespacedName: types.NamespacedName{ Namespace: "test-namespace", diff --git a/controllers/ibppeer/ibppeer_controller_test.go b/controllers/ibppeer/ibppeer_controller_test.go index 5b45c59c..c08d8fdc 100644 --- a/controllers/ibppeer/ibppeer_controller_test.go +++ b/controllers/ibppeer/ibppeer_controller_test.go @@ -34,6 +34,7 @@ import ( "github.com/IBM-Blockchain/fabric-operator/controllers/mocks" "github.com/IBM-Blockchain/fabric-operator/pkg/offering/common" "github.com/IBM-Blockchain/fabric-operator/pkg/operatorerrors" + "github.com/IBM-Blockchain/fabric-operator/pkg/util" corev1 "k8s.io/api/core/v1" k8serror "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -128,6 +129,8 @@ var _ = Describe("ReconcileIBPPeer", func() { mutex: &sync.Mutex{}, Config: &opconfig.Config{}, } + zaplogger, _ := util.SetupLogging("DEBUG") + reconciler.Config.Logger = zaplogger request = reconcile.Request{ NamespacedName: types.NamespacedName{ Namespace: "test-namespace", From 6983d24c21623964f1a4bd96f85f4d045f0a3129 Mon Sep 17 00:00:00 2001 From: Shoaeb Jindani Date: Fri, 5 Apr 2024 11:53:05 +0530 Subject: [PATCH 10/15] code cleanup Signed-off-by: Shoaeb Jindani --- controllers/ibpconsole/ibpconsole_controller.go | 1 - controllers/ibporderer/ibporderer_controller.go | 1 - controllers/ibppeer/ibppeer_controller.go | 1 - integration/operator.go | 6 ------ main.go | 3 +-- pkg/command/operator.go | 4 +--- 6 files changed, 2 insertions(+), 14 deletions(-) diff --git a/controllers/ibpconsole/ibpconsole_controller.go b/controllers/ibpconsole/ibpconsole_controller.go index 9041ca90..df656940 100644 --- a/controllers/ibpconsole/ibpconsole_controller.go +++ b/controllers/ibpconsole/ibpconsole_controller.go @@ -153,7 +153,6 @@ type ReconcileIBPConsole struct { func (r *ReconcileIBPConsole) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) { var err error - //reqLogger := log.WithValues("Request.Namespace", request.Namespace, "Request.Name", request.Name) reqLogger := r.Config.Logger reqLogger.Info(fmt.Sprintf("Reconciling IBPConsole with update values of [ %+v ]", r.update.GetUpdateStackWithTrues())) diff --git a/controllers/ibporderer/ibporderer_controller.go b/controllers/ibporderer/ibporderer_controller.go index eddee105..19f06bb6 100644 --- a/controllers/ibporderer/ibporderer_controller.go +++ b/controllers/ibporderer/ibporderer_controller.go @@ -183,7 +183,6 @@ type ReconcileIBPOrderer struct { func (r *ReconcileIBPOrderer) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) { var err error - //reqLogger := log.WithValues("Request.Namespace", request.Namespace, "Request.Name", request.Name) reqLogger := r.Config.Logger // If orderer-restart-config configmap is the object being reconciled, reconcile the // restart configmap. diff --git a/controllers/ibppeer/ibppeer_controller.go b/controllers/ibppeer/ibppeer_controller.go index 4be2ff61..c5d96883 100644 --- a/controllers/ibppeer/ibppeer_controller.go +++ b/controllers/ibppeer/ibppeer_controller.go @@ -203,7 +203,6 @@ type ReconcileIBPPeer struct { func (r *ReconcileIBPPeer) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) { var err error - //reqLogger := log.WithValues("Request.Namespace", request.Namespace, "Request.Name", request.Name) reqLogger := r.Config.Logger // If peer-restart-config configmap is the object being reconciled, reconcile the // restart configmap. diff --git a/integration/operator.go b/integration/operator.go index 7ee7017f..dab8cba4 100644 --- a/integration/operator.go +++ b/integration/operator.go @@ -38,12 +38,6 @@ import ( // GetOperatorConfig returns the operator configuration with the default templating files population // and with default versions set for components. func GetOperatorConfig(configs, caFiles, peerFiles, ordererFiles, consoleFiles string) *config.Config { - // ulevel := uzap.NewAtomicLevelAt(2) - // if os.Getenv("LOG_LEVEL") == "debug" { - // ulevel = uzap.NewAtomicLevelAt(-1) - // } - // level := zap.Level(&ulevel) - // logger := zap.New(zap.Opts(level)) zaplogger, err := util.SetupLogging("DEBUG") if err != nil { fmt.Print("error initiating the logger", err) diff --git a/main.go b/main.go index 48236d81..4aa1acf1 100644 --- a/main.go +++ b/main.go @@ -86,7 +86,7 @@ func main() { time.Sleep(15 * time.Second) } - // // TODO + // TODO // if err = (&ibpca.IBPCAReconciler{ // Client: mgr.GetClient(), // Log: ctrl.Log.WithName("controllers").WithName("IBPCA"), @@ -123,7 +123,6 @@ func main() { } func setDefaultCADefinitions(cfg *config.Config) { - cfg.CAInitConfig = &cainit.Config{ CADefaultConfigPath: filepath.Join(defaultConfigs, "ca/ca.yaml"), TLSCADefaultConfigPath: filepath.Join(defaultConfigs, "ca/tlsca.yaml"), diff --git a/pkg/command/operator.go b/pkg/command/operator.go index b910e61d..d826b195 100644 --- a/pkg/command/operator.go +++ b/pkg/command/operator.go @@ -111,12 +111,10 @@ func OperatorWithSignal(operatorCfg *oconfig.Config, signalHandler context.Conte config.EncoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder logger, err := config.Build() if err != nil { - panic(fmt.Sprintf("failed to initialize logger: %v", err)) + fmt.Sprintf("failed to initialize logger: %v", err) } - // Wrap the zap.Logger with go-logr/zapr to satisfy the logr.Logger interface log := zapr.NewLogger(logger) - logf.SetLogger(log) ctrl.SetLogger(log) } else { From ea3538bdfac7743b16d9ce5213f37a0107b07d22 Mon Sep 17 00:00:00 2001 From: Shoaeb Jindani Date: Fri, 5 Apr 2024 12:02:52 +0530 Subject: [PATCH 11/15] error fix for oeprator.go Signed-off-by: Shoaeb Jindani --- pkg/command/operator.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/command/operator.go b/pkg/command/operator.go index d826b195..8ce55085 100644 --- a/pkg/command/operator.go +++ b/pkg/command/operator.go @@ -111,10 +111,12 @@ func OperatorWithSignal(operatorCfg *oconfig.Config, signalHandler context.Conte config.EncoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder logger, err := config.Build() if err != nil { - fmt.Sprintf("failed to initialize logger: %v", err) + return err } + // Wrap the zap.Logger with go-logr/zapr to satisfy the logr.Logger interface log := zapr.NewLogger(logger) + logf.SetLogger(log) ctrl.SetLogger(log) } else { From 316c836be8490a4e2960abe0629565d3634119e8 Mon Sep 17 00:00:00 2001 From: James Taylor Date: Tue, 2 Apr 2024 17:30:47 +0100 Subject: [PATCH 12/15] Add missing k8s_builder config to v25 core.yaml (#184) Related to #28 Signed-off-by: James Taylor Signed-off-by: Shoaeb Jindani --- defaultconfig/peer/v25/core.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/defaultconfig/peer/v25/core.yaml b/defaultconfig/peer/v25/core.yaml index 2b5482e6..fdf90866 100644 --- a/defaultconfig/peer/v25/core.yaml +++ b/defaultconfig/peer/v25/core.yaml @@ -612,6 +612,15 @@ chaincode: - IBP_BUILDER_SHARED_DIR - PEER_NAME + # Default builder for "k8s" chaincode packages. + # See https://github.com/hyperledgendary/fabric-builder-k8s + - name: k8s_builder + path: /opt/hyperledger/k8s_builder + propagateEnvironment: + - CORE_PEER_ID + - KUBERNETES_SERVICE_HOST + - KUBERNETES_SERVICE_PORT + # Default builder for chaincode-as-a-service, included in fabric # opensource versions >= 2.4.2. This is a "no-op" builder and will not # manage the lifecycle of pods, deployments, and services in k8s. The From 168e54456d77e4790d350523541813d3cc96813d Mon Sep 17 00:00:00 2001 From: Ben Smith Date: Thu, 4 Apr 2024 00:31:26 -0400 Subject: [PATCH 13/15] Address CVE-2024-24786 in google.golang.org/protobuf. (#186) Signed-off-by: Ben Smith Signed-off-by: Shoaeb Jindani --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 95965759..b5fd0978 100644 --- a/go.mod +++ b/go.mod @@ -125,7 +125,7 @@ require ( google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f // indirect google.golang.org/grpc v1.61.0 // indirect - google.golang.org/protobuf v1.32.0 // indirect + google.golang.org/protobuf v1.33.0 // indirect gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index 8c35c52c..63d9024e 100644 --- a/go.sum +++ b/go.sum @@ -1008,6 +1008,8 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d h1:TxyelI5cVkbREznMhfzycHdkp5cLA7DpE+GKjSslYhM= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= From e62bdc98e84fb1e6fc8179465684c387cea070fb Mon Sep 17 00:00:00 2001 From: Shoaeb Jindani Date: Fri, 5 Apr 2024 20:03:47 +0530 Subject: [PATCH 14/15] Made changes based on peer review Signed-off-by: Shoaeb Jindani --- controllers/ibpca/ibpca_controller.go | 2 ++ controllers/ibpconsole/ibpconsole_controller.go | 2 ++ controllers/ibporderer/ibporderer_controller.go | 2 ++ controllers/ibppeer/ibppeer_controller.go | 1 + main.go | 5 +---- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/controllers/ibpca/ibpca_controller.go b/controllers/ibpca/ibpca_controller.go index 1395867f..315c6d54 100644 --- a/controllers/ibpca/ibpca_controller.go +++ b/controllers/ibpca/ibpca_controller.go @@ -193,6 +193,8 @@ func (r *ReconcileIBPCA) Reconcile(ctx context.Context, request reconcile.Reques var err error reqLogger := r.Config.Logger + reqLogger.Info(fmt.Sprintf("Request.Namespace '%s' Request.Name '%s'", request.Namespace, request.Name)) + // If ca-restart-config configmap is the object being reconciled, reconcile the // restart configmap. if request.Name == "ca-restart-config" { diff --git a/controllers/ibpconsole/ibpconsole_controller.go b/controllers/ibpconsole/ibpconsole_controller.go index df656940..373a3443 100644 --- a/controllers/ibpconsole/ibpconsole_controller.go +++ b/controllers/ibpconsole/ibpconsole_controller.go @@ -154,6 +154,8 @@ func (r *ReconcileIBPConsole) Reconcile(ctx context.Context, request reconcile.R var err error reqLogger := r.Config.Logger + reqLogger.Info(fmt.Sprintf("Request.Namespace '%s' Request.Name '%s'", request.Namespace, request.Name)) + reqLogger.Info(fmt.Sprintf("Reconciling IBPConsole with update values of [ %+v ]", r.update.GetUpdateStackWithTrues())) // Fetch the IBPConsole instance diff --git a/controllers/ibporderer/ibporderer_controller.go b/controllers/ibporderer/ibporderer_controller.go index 19f06bb6..7478178d 100644 --- a/controllers/ibporderer/ibporderer_controller.go +++ b/controllers/ibporderer/ibporderer_controller.go @@ -184,6 +184,8 @@ func (r *ReconcileIBPOrderer) Reconcile(ctx context.Context, request reconcile.R var err error reqLogger := r.Config.Logger + reqLogger.Info(fmt.Sprintf("Request.Namespace '%s' Request.Name '%s'", request.Namespace, request.Name)) + // If orderer-restart-config configmap is the object being reconciled, reconcile the // restart configmap. if request.Name == "orderer-restart-config" { diff --git a/controllers/ibppeer/ibppeer_controller.go b/controllers/ibppeer/ibppeer_controller.go index c5d96883..01b9aa0d 100644 --- a/controllers/ibppeer/ibppeer_controller.go +++ b/controllers/ibppeer/ibppeer_controller.go @@ -204,6 +204,7 @@ func (r *ReconcileIBPPeer) Reconcile(ctx context.Context, request reconcile.Requ var err error reqLogger := r.Config.Logger + reqLogger.Info(fmt.Sprintf("Request.Namespace '%s' Request.Name '%s'", request.Namespace, request.Name)) // If peer-restart-config configmap is the object being reconciled, reconcile the // restart configmap. if request.Name == "peer-restart-config" { diff --git a/main.go b/main.go index 4aa1acf1..a73b6f28 100644 --- a/main.go +++ b/main.go @@ -20,7 +20,6 @@ package main import ( "fmt" - "os" "path/filepath" "time" @@ -75,12 +74,10 @@ func main() { operatorCfg.Operator.SetDefaults() zaplogger, err := util.SetupLogging("DEBUG") - operatorCfg.Logger = zaplogger if err != nil { fmt.Print("error initiating the logger", err) - fmt.Print("Will exit Operator", err) - os.Exit(1) } + operatorCfg.Logger = zaplogger if err := command.Operator(operatorCfg); err != nil { log.Error(err, "failed to start operator") time.Sleep(15 * time.Second) From 0c076f9998505581f3928e5cf0cb33496597f024 Mon Sep 17 00:00:00 2001 From: Shoaeb Jindani Date: Fri, 5 Apr 2024 22:53:07 +0530 Subject: [PATCH 15/15] added request with statements for controller Signed-off-by: Shoaeb Jindani --- controllers/ibpca/ibpca_controller.go | 7 +++++-- controllers/ibpconsole/ibpconsole_controller.go | 8 +++++--- controllers/ibporderer/ibporderer_controller.go | 8 +++++--- controllers/ibppeer/ibppeer_controller.go | 7 +++++-- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/controllers/ibpca/ibpca_controller.go b/controllers/ibpca/ibpca_controller.go index 315c6d54..cb6384e2 100644 --- a/controllers/ibpca/ibpca_controller.go +++ b/controllers/ibpca/ibpca_controller.go @@ -42,6 +42,7 @@ import ( "github.com/IBM-Blockchain/fabric-operator/pkg/util" "github.com/go-test/deep" "github.com/pkg/errors" + "go.uber.org/zap" ctrl "sigs.k8s.io/controller-runtime" yaml "sigs.k8s.io/yaml" @@ -192,8 +193,10 @@ type ReconcileIBPCA struct { func (r *ReconcileIBPCA) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) { var err error - reqLogger := r.Config.Logger - reqLogger.Info(fmt.Sprintf("Request.Namespace '%s' Request.Name '%s'", request.Namespace, request.Name)) + reqLogger := r.Config.Logger.With( + zap.String("Request.Namespace", request.Namespace), + zap.String("Request.Name", request.Name), + ) // If ca-restart-config configmap is the object being reconciled, reconcile the // restart configmap. diff --git a/controllers/ibpconsole/ibpconsole_controller.go b/controllers/ibpconsole/ibpconsole_controller.go index 373a3443..430c9857 100644 --- a/controllers/ibpconsole/ibpconsole_controller.go +++ b/controllers/ibpconsole/ibpconsole_controller.go @@ -39,6 +39,7 @@ import ( "github.com/IBM-Blockchain/fabric-operator/pkg/operatorerrors" "github.com/IBM-Blockchain/fabric-operator/pkg/util" "github.com/pkg/errors" + "go.uber.org/zap" "gopkg.in/yaml.v2" appsv1 "k8s.io/api/apps/v1" @@ -153,9 +154,10 @@ type ReconcileIBPConsole struct { func (r *ReconcileIBPConsole) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) { var err error - reqLogger := r.Config.Logger - reqLogger.Info(fmt.Sprintf("Request.Namespace '%s' Request.Name '%s'", request.Namespace, request.Name)) - + reqLogger := r.Config.Logger.With( + zap.String("Request.Namespace", request.Namespace), + zap.String("Request.Name", request.Name), + ) reqLogger.Info(fmt.Sprintf("Reconciling IBPConsole with update values of [ %+v ]", r.update.GetUpdateStackWithTrues())) // Fetch the IBPConsole instance diff --git a/controllers/ibporderer/ibporderer_controller.go b/controllers/ibporderer/ibporderer_controller.go index 7478178d..b899f1a8 100644 --- a/controllers/ibporderer/ibporderer_controller.go +++ b/controllers/ibporderer/ibporderer_controller.go @@ -43,6 +43,7 @@ import ( "github.com/IBM-Blockchain/fabric-operator/pkg/util" "github.com/IBM-Blockchain/fabric-operator/version" "github.com/pkg/errors" + "go.uber.org/zap" yaml "sigs.k8s.io/yaml" appsv1 "k8s.io/api/apps/v1" @@ -183,9 +184,10 @@ type ReconcileIBPOrderer struct { func (r *ReconcileIBPOrderer) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) { var err error - reqLogger := r.Config.Logger - reqLogger.Info(fmt.Sprintf("Request.Namespace '%s' Request.Name '%s'", request.Namespace, request.Name)) - + reqLogger := r.Config.Logger.With( + zap.String("Request.Namespace", request.Namespace), + zap.String("Request.Name", request.Name), + ) // If orderer-restart-config configmap is the object being reconciled, reconcile the // restart configmap. if request.Name == "orderer-restart-config" { diff --git a/controllers/ibppeer/ibppeer_controller.go b/controllers/ibppeer/ibppeer_controller.go index 01b9aa0d..85f94b45 100644 --- a/controllers/ibppeer/ibppeer_controller.go +++ b/controllers/ibppeer/ibppeer_controller.go @@ -42,6 +42,7 @@ import ( "github.com/IBM-Blockchain/fabric-operator/pkg/util" "github.com/IBM-Blockchain/fabric-operator/version" "github.com/pkg/errors" + "go.uber.org/zap" "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" yaml "sigs.k8s.io/yaml" @@ -203,8 +204,10 @@ type ReconcileIBPPeer struct { func (r *ReconcileIBPPeer) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) { var err error - reqLogger := r.Config.Logger - reqLogger.Info(fmt.Sprintf("Request.Namespace '%s' Request.Name '%s'", request.Namespace, request.Name)) + reqLogger := r.Config.Logger.With( + zap.String("Request.Namespace", request.Namespace), + zap.String("Request.Name", request.Name), + ) // If peer-restart-config configmap is the object being reconciled, reconcile the // restart configmap. if request.Name == "peer-restart-config" {