From 4320111c5c8334929174715cfa8177f4f5c18478 Mon Sep 17 00:00:00 2001 From: shivkumar dudhani Date: Fri, 20 Mar 2020 11:43:21 -0700 Subject: [PATCH] fix logs api --- cmd/kyverno/main.go | 1 - pkg/engine/validation.go | 2 +- pkg/kyverno/apply/command.go | 5 ++--- pkg/kyverno/main.go | 11 +++++++---- pkg/kyverno/validate/command.go | 5 ++--- pkg/openapi/crdSync.go | 13 ++++++------- pkg/openapi/validation.go | 5 ++--- pkg/policy/existing.go | 2 -- pkg/policystatus/main.go | 9 ++++----- pkg/webhooks/mutation.go | 3 +-- 10 files changed, 25 insertions(+), 31 deletions(-) diff --git a/cmd/kyverno/main.go b/cmd/kyverno/main.go index f55370e23f..c44308c7b4 100644 --- a/cmd/kyverno/main.go +++ b/cmd/kyverno/main.go @@ -57,7 +57,6 @@ func main() { if err := flag.Set("v", "2"); err != nil { setupLog.Error(err, "failed to set log level") os.Exit(1) - // klog.Fatalf("failed to set log level: %v", err) } // Generate CSR with CN as FQDN due to https://github.com/nirmata/kyverno/issues/542 diff --git a/pkg/engine/validation.go b/pkg/engine/validation.go index 49ede85d0f..00c32f6791 100644 --- a/pkg/engine/validation.go +++ b/pkg/engine/validation.go @@ -233,7 +233,7 @@ func validatePatterns(log logr.Logger, ctx context.EvalInterface, resource unstr errorStr = append(errorStr, err.Error()) } resp.Success = false - glog.V(4).Infof("Validation rule '%s' failed. %s", rule.Name, errorStr) + log.V(4).Info(fmt.Sprintf("Validation rule '%s' failed. %s", rule.Name, errorStr)) if rule.Validation.Message == "" { resp.Message = fmt.Sprintf("Validation rule '%s' has failed", rule.Name) } else { diff --git a/pkg/kyverno/apply/command.go b/pkg/kyverno/apply/command.go index 73fbdf1ac7..a48d2db3b4 100644 --- a/pkg/kyverno/apply/command.go +++ b/pkg/kyverno/apply/command.go @@ -11,8 +11,6 @@ import ( policy2 "github.com/nirmata/kyverno/pkg/policy" - "github.com/golang/glog" - "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/client-go/discovery" @@ -32,6 +30,7 @@ import ( yamlv2 "gopkg.in/yaml.v2" "k8s.io/cli-runtime/pkg/genericclioptions" "k8s.io/client-go/kubernetes/scheme" + log "sigs.k8s.io/controller-runtime/pkg/log" ) func Command() *cobra.Command { @@ -49,7 +48,7 @@ func Command() *cobra.Command { defer func() { if err != nil { if !sanitizedError.IsErrorSanitized(err) { - glog.V(4).Info(err) + log.Log.Error(err, "failed to sanitize") err = fmt.Errorf("Internal error") } } diff --git a/pkg/kyverno/main.go b/pkg/kyverno/main.go index d0d1163ef6..6424a57ddc 100644 --- a/pkg/kyverno/main.go +++ b/pkg/kyverno/main.go @@ -9,6 +9,9 @@ import ( "github.com/nirmata/kyverno/pkg/kyverno/apply" "github.com/nirmata/kyverno/pkg/kyverno/version" + "k8s.io/klog" + "k8s.io/klog/klogr" + log "sigs.k8s.io/controller-runtime/pkg/log" "github.com/spf13/cobra" ) @@ -19,7 +22,7 @@ func CLI() { Short: "kyverno manages native policies of Kubernetes", } - configureGlog(cli) + configurelog(cli) commands := []*cobra.Command{ version.Command(), @@ -36,9 +39,9 @@ func CLI() { } } -func configureGlog(cli *cobra.Command) { - flag.Parse() - _ = flag.Set("logtostderr", "true") +func configurelog(cli *cobra.Command) { + klog.InitFlags(nil) + log.SetLogger(klogr.New()) cli.PersistentFlags().AddGoFlagSet(flag.CommandLine) _ = cli.PersistentFlags().MarkHidden("alsologtostderr") diff --git a/pkg/kyverno/validate/command.go b/pkg/kyverno/validate/command.go index e606e134c0..4014189ff6 100644 --- a/pkg/kyverno/validate/command.go +++ b/pkg/kyverno/validate/command.go @@ -9,13 +9,12 @@ import ( "github.com/nirmata/kyverno/pkg/kyverno/sanitizedError" - "github.com/golang/glog" - policyvalidate "github.com/nirmata/kyverno/pkg/policy" v1 "github.com/nirmata/kyverno/pkg/api/kyverno/v1" "github.com/spf13/cobra" "k8s.io/apimachinery/pkg/util/yaml" + log "sigs.k8s.io/controller-runtime/pkg/log" ) func Command() *cobra.Command { @@ -27,7 +26,7 @@ func Command() *cobra.Command { defer func() { if err != nil { if !sanitizedError.IsErrorSanitized(err) { - glog.V(4).Info(err) + log.Log.Error(err, "failed to sanitize") err = fmt.Errorf("Internal error") } } diff --git a/pkg/openapi/crdSync.go b/pkg/openapi/crdSync.go index da428c2955..5eed212617 100644 --- a/pkg/openapi/crdSync.go +++ b/pkg/openapi/crdSync.go @@ -6,13 +6,12 @@ import ( "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "github.com/golang/glog" - "gopkg.in/yaml.v2" "github.com/googleapis/gnostic/compiler" openapi_v2 "github.com/googleapis/gnostic/OpenAPIv2" + log "sigs.k8s.io/controller-runtime/pkg/log" client "github.com/nirmata/kyverno/pkg/dclient" "k8s.io/apimachinery/pkg/util/wait" @@ -44,12 +43,12 @@ func NewCRDSync(client *client.Client) *crdSync { func (c *crdSync) Run(workers int, stopCh <-chan struct{}) { newDoc, err := c.client.DiscoveryClient.OpenAPISchema() if err != nil { - glog.V(4).Infof("cannot get openapi schema: %v", err) + log.Log.Error(err, "cannot get openapi schema") } err = useOpenApiDocument(newDoc) if err != nil { - glog.V(4).Infof("Could not set custom OpenApi document: %v\n", err) + log.Log.Error(err, "Could not set custom OpenApi document") } for i := 0; i < workers; i++ { @@ -64,7 +63,7 @@ func (c *crdSync) sync() { crds, err := c.client.ListResource("CustomResourceDefinition", "", nil) if err != nil { - glog.V(4).Infof("could not fetch crd's from server: %v", err) + log.Log.Error(err, "could not fetch crd's from server") return } @@ -91,7 +90,7 @@ func parseCRD(crd unstructured.Unstructured) { crdName := crdDefinition.Spec.Names.Kind if len(crdDefinition.Spec.Versions) < 1 { - glog.V(4).Infof("could not parse crd schema, no versions present") + log.Log.V(4).Info("could not parse crd schema, no versions present") return } @@ -101,7 +100,7 @@ func parseCRD(crd unstructured.Unstructured) { parsedSchema, err := openapi_v2.NewSchema(schema, compiler.NewContext("schema", nil)) if err != nil { - glog.V(4).Infof("could not parse crd schema:%v", err) + log.Log.Error(err, "could not parse crd schema:") return } diff --git a/pkg/openapi/validation.go b/pkg/openapi/validation.go index 71b8fa4b43..21ac488c2e 100644 --- a/pkg/openapi/validation.go +++ b/pkg/openapi/validation.go @@ -8,8 +8,6 @@ import ( "github.com/nirmata/kyverno/data" - "github.com/golang/glog" - "github.com/nirmata/kyverno/pkg/engine" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" @@ -19,6 +17,7 @@ import ( "github.com/googleapis/gnostic/compiler" "k8s.io/kube-openapi/pkg/util/proto" "k8s.io/kube-openapi/pkg/util/proto/validation" + log "sigs.k8s.io/controller-runtime/pkg/log" "gopkg.in/yaml.v2" ) @@ -69,7 +68,7 @@ func ValidatePolicyMutation(policy v1.ClusterPolicy) error { newPolicy.Spec.Rules = rules resource, _ := generateEmptyResource(openApiGlobalState.definitions[openApiGlobalState.kindToDefinitionName[kind]]).(map[string]interface{}) if resource == nil { - glog.V(4).Infof("Cannot Validate policy: openApi definition now found for %v", kind) + log.Log.V(4).Info(fmt.Sprintf("Cannot Validate policy: openApi definition now found for %v", kind)) return nil } newResource := unstructured.Unstructured{Object: resource} diff --git a/pkg/policy/existing.go b/pkg/policy/existing.go index d01097e961..af8dfc09c6 100644 --- a/pkg/policy/existing.go +++ b/pkg/policy/existing.go @@ -6,7 +6,6 @@ import ( "time" "github.com/go-logr/logr" - "github.com/golang/glog" "github.com/minio/minio/pkg/wildcard" kyverno "github.com/nirmata/kyverno/pkg/api/kyverno/v1" "github.com/nirmata/kyverno/pkg/config" @@ -40,7 +39,6 @@ func (pc *PolicyController) processExistingResources(policy kyverno.ClusterPolic } // apply the policy on each - glog.V(4).Infof("apply policy %s with resource version %s on resource %s/%s/%s with resource version %s", policy.Name, policy.ResourceVersion, resource.GetKind(), resource.GetNamespace(), resource.GetName(), resource.GetResourceVersion()) engineResponse := applyPolicy(policy, resource, logger) // get engine response for mutation & validation independently engineResponses = append(engineResponses, engineResponse...) diff --git a/pkg/policystatus/main.go b/pkg/policystatus/main.go index 3e633aaf82..b21ff2e505 100644 --- a/pkg/policystatus/main.go +++ b/pkg/policystatus/main.go @@ -2,16 +2,16 @@ package policystatus import ( "encoding/json" + "fmt" "sync" "time" - "github.com/golang/glog" - "k8s.io/apimachinery/pkg/util/wait" "github.com/nirmata/kyverno/pkg/client/clientset/versioned" v1 "github.com/nirmata/kyverno/pkg/api/kyverno/v1" + log "sigs.k8s.io/controller-runtime/pkg/log" ) // Policy status implementation works in the following way, @@ -111,8 +111,7 @@ func (s *Sync) updateStatusCache(stopCh <-chan struct{}) { s.cache.keyToMutex.Get(statusUpdater.PolicyName()).Unlock() oldStatus, _ := json.Marshal(status) newStatus, _ := json.Marshal(updatedStatus) - - glog.V(4).Infof("\nupdated status of policy - %v\noldStatus:\n%v\nnewStatus:\n%v\n", statusUpdater.PolicyName(), string(oldStatus), string(newStatus)) + log.Log.V(4).Info(fmt.Sprintf("\nupdated status of policy - %v\noldStatus:\n%v\nnewStatus:\n%v\n", statusUpdater.PolicyName(), string(oldStatus), string(newStatus))) case <-stopCh: return } @@ -140,7 +139,7 @@ func (s *Sync) updatePolicyStatus() { s.cache.dataMu.Lock() delete(s.cache.data, policyName) s.cache.dataMu.Unlock() - glog.V(4).Info(err) + log.Log.Error(err, "failed to update policy status") } } } diff --git a/pkg/webhooks/mutation.go b/pkg/webhooks/mutation.go index cd2a7dfdfd..68ca58fae1 100644 --- a/pkg/webhooks/mutation.go +++ b/pkg/webhooks/mutation.go @@ -7,7 +7,6 @@ import ( "github.com/nirmata/kyverno/pkg/openapi" - "github.com/golang/glog" kyverno "github.com/nirmata/kyverno/pkg/api/kyverno/v1" v1 "github.com/nirmata/kyverno/pkg/api/kyverno/v1" "github.com/nirmata/kyverno/pkg/engine" @@ -70,7 +69,7 @@ func (ws *WebhookServer) HandleMutation(request *v1beta1.AdmissionRequest, resou } err := openapi.ValidateResource(*engineResponse.PatchedResource.DeepCopy(), engineResponse.PatchedResource.GetKind()) if err != nil { - glog.V(4).Infoln(err) + logger.Error(err, "failed to validate resource") continue } // gather patches