diff --git a/cluster/examples/kubernetes/ceph/operator-openshift.yaml b/cluster/examples/kubernetes/ceph/operator-openshift.yaml index def4b86c2..3ebcdf1ae 100644 --- a/cluster/examples/kubernetes/ceph/operator-openshift.yaml +++ b/cluster/examples/kubernetes/ceph/operator-openshift.yaml @@ -98,6 +98,9 @@ metadata: # should be in the namespace of the operator namespace: rook-ceph # namespace:operator data: + # The logging level for the operator: INFO | DEBUG + ROOK_LOG_LEVEL: "INFO" + # Enable the CSI driver. # To run the non-default version of the CSI driver, see the override-able image properties in operator.yaml ROOK_CSI_ENABLE_CEPHFS: "true" @@ -456,9 +459,6 @@ spec: # - name: DISCOVER_AGENT_POD_LABELS # value: "key1=value1,key2=value2" - # The logging level for the operator: INFO | DEBUG - - name: ROOK_LOG_LEVEL - value: "INFO" # The duration between discovering devices in the rook-discover daemonset. - name: ROOK_DISCOVER_DEVICES_INTERVAL value: "60m" diff --git a/cluster/examples/kubernetes/ceph/operator.yaml b/cluster/examples/kubernetes/ceph/operator.yaml index 53dd56381..7754c9347 100644 --- a/cluster/examples/kubernetes/ceph/operator.yaml +++ b/cluster/examples/kubernetes/ceph/operator.yaml @@ -22,6 +22,9 @@ metadata: # should be in the namespace of the operator namespace: rook-ceph # namespace:operator data: + # The logging level for the operator: INFO | DEBUG + ROOK_LOG_LEVEL: "INFO" + # Enable the CSI driver. # To run the non-default version of the CSI driver, see the override-able image properties in operator.yaml ROOK_CSI_ENABLE_CEPHFS: "true" @@ -399,10 +402,6 @@ spec: # - name: DISCOVER_AGENT_POD_LABELS # value: "key1=value1,key2=value2" - # The logging level for the operator: INFO | DEBUG - - name: ROOK_LOG_LEVEL - value: "INFO" - # The duration between discovering devices in the rook-discover daemonset. - name: ROOK_DISCOVER_DEVICES_INTERVAL value: "60m" diff --git a/pkg/operator/ceph/operator.go b/pkg/operator/ceph/operator.go index 09b811d15..62b601d07 100644 --- a/pkg/operator/ceph/operator.go +++ b/pkg/operator/ceph/operator.go @@ -48,15 +48,15 @@ const ( provisionerNameLegacy = "rook.io/block" ) -var logger = capnslog.NewPackageLogger("github.com/rook/rook", "operator") - -// The supported configurations for the volume provisioner -var provisionerConfigs = map[string]string{ - provisionerName: flexvolume.FlexvolumeVendor, - provisionerNameLegacy: flexvolume.FlexvolumeVendorLegacy, -} - var ( + logger = capnslog.NewPackageLogger("github.com/rook/rook", "operator") + + // The supported configurations for the volume provisioner + provisionerConfigs = map[string]string{ + provisionerName: flexvolume.FlexvolumeVendor, + provisionerNameLegacy: flexvolume.FlexvolumeVendorLegacy, + } + // ImmediateRetryResult Return this for a immediate retry of the reconciliation loop with the same request object. ImmediateRetryResult = reconcile.Result{Requeue: true} ) @@ -88,6 +88,7 @@ func New(context *clusterd.Context, volumeAttachmentWrapper attachment.Attachmen } operatorConfigCallbacks := []func() error{ o.updateDrivers, + o.updateOperatorLogLevel, } addCallbacks := []func() error{ o.startDrivers, @@ -101,6 +102,22 @@ func (o *Operator) cleanup(stopCh chan struct{}) { o.clusterController.StopWatch() } +func (o *Operator) updateOperatorLogLevel() error { + rookLogLevel, err := k8sutil.GetOperatorSetting(o.context.Clientset, opcontroller.OperatorSettingConfigMapName, "ROOK_LOG_LEVEL", "INFO") + if err != nil { + logger.Warningf("failed to load ROOK_LOG_LEVEL. Defaulting to INFO. %v", err) + rookLogLevel = "INFO" + } + + logLevel, err := capnslog.ParseLevel(rookLogLevel) + if err != nil { + return errors.Wrapf(err, "failed to load ROOK_LOG_LEVEL %q.", rookLogLevel) + } + + capnslog.SetGlobalLogLevel(logLevel) + return nil +} + // Run the operator instance func (o *Operator) Run() error {