From 48cd3766c2542026614d7ac46a963e8b5d5bcfed Mon Sep 17 00:00:00 2001 From: Nithunikzz Date: Tue, 18 Jun 2024 15:11:45 +0530 Subject: [PATCH 1/4] Deprecated fix --- .../plugins/kubepreupgrade/kubePreUpgrade.go | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/agent/kubviz/plugins/kubepreupgrade/kubePreUpgrade.go b/agent/kubviz/plugins/kubepreupgrade/kubePreUpgrade.go index 4fb00b35..3520492f 100644 --- a/agent/kubviz/plugins/kubepreupgrade/kubePreUpgrade.go +++ b/agent/kubviz/plugins/kubepreupgrade/kubePreUpgrade.go @@ -241,12 +241,12 @@ func getResults(configRest *rest.Config, kubeAPIs model.KubernetesAPIs) *model.R client, err := dynamic.NewForConfig(configRest) if err != nil { - log.Fatalf("Failed to create the K8s client while listing Deprecated objects: %s", err) + log.Errorf("Failed to create the K8s client while listing Deprecated objects: %s", err) } disco, err := discovery.NewDiscoveryClientForConfig(configRest) if err != nil { - log.Fatalf("Failed to create the K8s Discovery client: %s", err) + log.Errorf("Failed to create the K8s Discovery client: %s", err) } ResourceAndGV := DiscoverResourceNameAndPreferredGV(disco) @@ -292,11 +292,11 @@ func getResults(configRest *rest.Config, kubeAPIs model.KubernetesAPIs) *model.R } if apierrors.IsForbidden(err) { - log.Fatalf("Failed to list objects in the cluster. Permission denied! Please check if you have the proper authorization") + log.Errorf("Failed to list objects in the cluster. Permission denied! Please check if you have the proper authorization") } if err != nil { - log.Fatalf("Failed communicating with k8s while listing objects. \nError: %v", err) + log.Errorf("Failed communicating with k8s while listing objects. \nError: %v", err) } // Now let's see if there's a preferred API containing the same objects @@ -305,11 +305,11 @@ func getResults(configRest *rest.Config, kubeAPIs model.KubernetesAPIs) *model.R listPref, err := client.Resource(gvrPreferred).List(context.TODO(), metav1.ListOptions{}) if apierrors.IsForbidden(err) { - log.Fatalf("Failed to list objects in the cluster. Permission denied! Please check if you have the proper authorization") + log.Errorf("Failed to list objects in the cluster. Permission denied! Please check if you have the proper authorization") } if err != nil && !apierrors.IsNotFound(err) { - log.Fatalf("Failed communicating with k8s while listing objects. \nError: %v", err) + log.Errorf("Failed communicating with k8s while listing objects. \nError: %v", err) } // If len of the lists is the same we can "assume" they're the same list if len(list.Items) == len(listPref.Items) { @@ -337,10 +337,10 @@ func getResults(configRest *rest.Config, kubeAPIs model.KubernetesAPIs) *model.R resourcesList, err := disco.ServerPreferredResources() if err != nil { if apierrors.IsForbidden(err) { - log.Fatalf("Failed to list Server Resources. Permission denied! Please check if you have the proper authorization") + log.Errorf("Failed to list Server Resources. Permission denied! Please check if you have the proper authorization") } - log.Fatalf("Failed communicating with k8s while discovering server resources. \nError: %v", err) + log.Errorf("Failed communicating with k8s while discovering server resources. \nError: %v", err) } var ignoreObjects ignoreStruct = make(map[string]struct{}) for _, resources := range resourcesList { @@ -405,7 +405,7 @@ func populateCRDGroups(dynClient dynamic.Interface, version string, ignoreStruct return } if err != nil { - log.Fatalf("Failed to connect to K8s cluster to List CRDs: %s", err) + log.Errorf("Failed to connect to K8s cluster to List CRDs: %s", err) } var empty struct{} for _, d := range crdList.Items { @@ -430,7 +430,7 @@ func populateAPIService(dynClient dynamic.Interface, version string, ignoreStruc return } if err != nil { - log.Fatalf("Failed to connect to K8s cluster to List API Services: %s", err) + log.Errorf("Failed to connect to K8s cluster to List API Services: %s", err) } var empty struct{} for _, d := range apisvcList.Items { @@ -456,10 +456,10 @@ func DiscoverResourceNameAndPreferredGV(client *discovery.DiscoveryClient) Prefe return pr } if apierrors.IsForbidden(err) { - log.Fatalf("Failed to list objects for Name discovery. Permission denied! Please check if you have the proper authorization") + log.Errorf("Failed to list objects for Name discovery. Permission denied! Please check if you have the proper authorization") } - log.Fatalf("Failed communicating with k8s while discovering the object preferred name and gv. Error: %v", err) + log.Errorf("Failed communicating with k8s while discovering the object preferred name and gv. Error: %v", err) } for _, rl := range resourcelist { @@ -493,7 +493,7 @@ func getResources(dynClient dynamic.Interface, grk groupResourceKind) (schema.Gr gv, err := schema.ParseGroupVersion(grk.GroupVersion) if err != nil { - log.Fatalf("Failed to Parse GroupVersion of Resource: %s", err) + log.Errorf("Failed to Parse GroupVersion of Resource: %s", err) } gvr := schema.GroupVersionResource{Group: gv.Group, Version: gv.Version, Resource: grk.ResourceName} @@ -503,11 +503,11 @@ func getResources(dynClient dynamic.Interface, grk groupResourceKind) (schema.Gr } if apierrors.IsForbidden(err) { - log.Fatalf("Failed to list Server Resources of type %s/%s/%s. Permission denied! Please check if you have the proper authorization", gv.Group, gv.Version, grk.ResourceKind) + log.Errorf("Failed to list Server Resources of type %s/%s/%s. Permission denied! Please check if you have the proper authorization", gv.Group, gv.Version, grk.ResourceKind) } if err != nil { - log.Fatalf("Failed to List objects of type %s/%s/%s. \nError: %v", gv.Group, gv.Version, grk.ResourceKind, err) + log.Errorf("Failed to List objects of type %s/%s/%s. \nError: %v", gv.Group, gv.Version, grk.ResourceKind, err) } return gvr, list From 06e611773430ea824c3dfd390e3b525e1d539fc0 Mon Sep 17 00:00:00 2001 From: Nithunikzz Date: Tue, 18 Jun 2024 15:56:32 +0530 Subject: [PATCH 2/4] Deprecated fix --- .../plugins/kubepreupgrade/kubePreUpgrade.go | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/agent/kubviz/plugins/kubepreupgrade/kubePreUpgrade.go b/agent/kubviz/plugins/kubepreupgrade/kubePreUpgrade.go index 3520492f..1a2b9f3a 100644 --- a/agent/kubviz/plugins/kubepreupgrade/kubePreUpgrade.go +++ b/agent/kubviz/plugins/kubepreupgrade/kubePreUpgrade.go @@ -196,7 +196,7 @@ func downloadFile(filename, url string) error { return err } if resp.StatusCode > 305 { - log.Errorf("could not download the swagger file %s", url) + log.Printf("could not download the swagger file %s", url) return fmt.Errorf("failed to download file, status code: %d", resp.StatusCode) } contentLength := resp.ContentLength @@ -241,12 +241,12 @@ func getResults(configRest *rest.Config, kubeAPIs model.KubernetesAPIs) *model.R client, err := dynamic.NewForConfig(configRest) if err != nil { - log.Errorf("Failed to create the K8s client while listing Deprecated objects: %s", err) + log.Printf("Failed to create the K8s client while listing Deprecated objects: %s", err) } disco, err := discovery.NewDiscoveryClientForConfig(configRest) if err != nil { - log.Errorf("Failed to create the K8s Discovery client: %s", err) + log.Printf("Failed to create the K8s Discovery client: %s", err) } ResourceAndGV := DiscoverResourceNameAndPreferredGV(disco) @@ -292,11 +292,11 @@ func getResults(configRest *rest.Config, kubeAPIs model.KubernetesAPIs) *model.R } if apierrors.IsForbidden(err) { - log.Errorf("Failed to list objects in the cluster. Permission denied! Please check if you have the proper authorization") + log.Printf("Failed to list objects in the cluster. Permission denied! Please check if you have the proper authorization") } if err != nil { - log.Errorf("Failed communicating with k8s while listing objects. \nError: %v", err) + log.Printf("Failed communicating with k8s while listing objects. \nError: %v", err) } // Now let's see if there's a preferred API containing the same objects @@ -305,11 +305,11 @@ func getResults(configRest *rest.Config, kubeAPIs model.KubernetesAPIs) *model.R listPref, err := client.Resource(gvrPreferred).List(context.TODO(), metav1.ListOptions{}) if apierrors.IsForbidden(err) { - log.Errorf("Failed to list objects in the cluster. Permission denied! Please check if you have the proper authorization") + log.Printf("Failed to list objects in the cluster. Permission denied! Please check if you have the proper authorization") } if err != nil && !apierrors.IsNotFound(err) { - log.Errorf("Failed communicating with k8s while listing objects. \nError: %v", err) + log.Printf("Failed communicating with k8s while listing objects. \nError: %v", err) } // If len of the lists is the same we can "assume" they're the same list if len(list.Items) == len(listPref.Items) { @@ -337,10 +337,10 @@ func getResults(configRest *rest.Config, kubeAPIs model.KubernetesAPIs) *model.R resourcesList, err := disco.ServerPreferredResources() if err != nil { if apierrors.IsForbidden(err) { - log.Errorf("Failed to list Server Resources. Permission denied! Please check if you have the proper authorization") + log.Printf("Failed to list Server Resources. Permission denied! Please check if you have the proper authorization") } - log.Errorf("Failed communicating with k8s while discovering server resources. \nError: %v", err) + log.Printf("Failed communicating with k8s while discovering server resources. \nError: %v", err) } var ignoreObjects ignoreStruct = make(map[string]struct{}) for _, resources := range resourcesList { @@ -405,7 +405,7 @@ func populateCRDGroups(dynClient dynamic.Interface, version string, ignoreStruct return } if err != nil { - log.Errorf("Failed to connect to K8s cluster to List CRDs: %s", err) + log.Printf("Failed to connect to K8s cluster to List CRDs: %s", err) } var empty struct{} for _, d := range crdList.Items { @@ -430,7 +430,7 @@ func populateAPIService(dynClient dynamic.Interface, version string, ignoreStruc return } if err != nil { - log.Errorf("Failed to connect to K8s cluster to List API Services: %s", err) + log.Printf("Failed to connect to K8s cluster to List API Services: %s", err) } var empty struct{} for _, d := range apisvcList.Items { @@ -456,10 +456,10 @@ func DiscoverResourceNameAndPreferredGV(client *discovery.DiscoveryClient) Prefe return pr } if apierrors.IsForbidden(err) { - log.Errorf("Failed to list objects for Name discovery. Permission denied! Please check if you have the proper authorization") + log.Printf("Failed to list objects for Name discovery. Permission denied! Please check if you have the proper authorization") } - log.Errorf("Failed communicating with k8s while discovering the object preferred name and gv. Error: %v", err) + log.Printf("Failed communicating with k8s while discovering the object preferred name and gv. Error: %v", err) } for _, rl := range resourcelist { @@ -493,7 +493,7 @@ func getResources(dynClient dynamic.Interface, grk groupResourceKind) (schema.Gr gv, err := schema.ParseGroupVersion(grk.GroupVersion) if err != nil { - log.Errorf("Failed to Parse GroupVersion of Resource: %s", err) + log.Printf("Failed to Parse GroupVersion of Resource: %s", err) } gvr := schema.GroupVersionResource{Group: gv.Group, Version: gv.Version, Resource: grk.ResourceName} @@ -503,11 +503,11 @@ func getResources(dynClient dynamic.Interface, grk groupResourceKind) (schema.Gr } if apierrors.IsForbidden(err) { - log.Errorf("Failed to list Server Resources of type %s/%s/%s. Permission denied! Please check if you have the proper authorization", gv.Group, gv.Version, grk.ResourceKind) + log.Printf("Failed to list Server Resources of type %s/%s/%s. Permission denied! Please check if you have the proper authorization", gv.Group, gv.Version, grk.ResourceKind) } if err != nil { - log.Errorf("Failed to List objects of type %s/%s/%s. \nError: %v", gv.Group, gv.Version, grk.ResourceKind, err) + log.Printf("Failed to List objects of type %s/%s/%s. \nError: %v", gv.Group, gv.Version, grk.ResourceKind, err) } return gvr, list From 5cf563c5d0cc6534f23e926266f6f9dcc5445d1e Mon Sep 17 00:00:00 2001 From: Nithunikzz Date: Tue, 18 Jun 2024 16:09:29 +0530 Subject: [PATCH 3/4] Deprecated fix --- agent/kubviz/plugins/events/event_metrics_utils.go | 2 +- agent/kubviz/plugins/trivy/trivy_sbom.go | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/agent/kubviz/plugins/events/event_metrics_utils.go b/agent/kubviz/plugins/events/event_metrics_utils.go index 17ef114f..33143754 100644 --- a/agent/kubviz/plugins/events/event_metrics_utils.go +++ b/agent/kubviz/plugins/events/event_metrics_utils.go @@ -156,7 +156,7 @@ func GetK8sEvents(clientset *kubernetes.Clientset) string { func CheckErr(err error) { if err != nil { - log.Fatal(err) + log.Println(err) } } func LogErr(err error) { diff --git a/agent/kubviz/plugins/trivy/trivy_sbom.go b/agent/kubviz/plugins/trivy/trivy_sbom.go index 62027761..3beb6493 100644 --- a/agent/kubviz/plugins/trivy/trivy_sbom.go +++ b/agent/kubviz/plugins/trivy/trivy_sbom.go @@ -13,10 +13,8 @@ import ( "github.com/google/uuid" "github.com/intelops/kubviz/constants" "github.com/intelops/kubviz/model" - "github.com/intelops/kubviz/pkg/opentelemetry" "github.com/nats-io/nats.go" "github.com/pkg/errors" - "go.opentelemetry.io/otel" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" @@ -65,10 +63,10 @@ func RunTrivySbomScan(config *rest.Config, js nats.JetStreamContext) error { return err } - ctx := context.Background() - tracer := otel.Tracer("trivy-sbom") - _, span := tracer.Start(opentelemetry.BuildContext(ctx), "RunTrivySbomScan") - defer span.End() + // ctx := context.Background() + // tracer := otel.Tracer("trivy-sbom") + // _, span := tracer.Start(opentelemetry.BuildContext(ctx), "RunTrivySbomScan") + // defer span.End() images, err := ListImagesforSbom(config) From f445e4c08c8999e7b1aaf40b1d32455010804fee Mon Sep 17 00:00:00 2001 From: Nithunikzz Date: Tue, 18 Jun 2024 17:19:46 +0530 Subject: [PATCH 4/4] Deprecated fix --- agent/kubviz/plugins/trivy/trivy_sbom.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/agent/kubviz/plugins/trivy/trivy_sbom.go b/agent/kubviz/plugins/trivy/trivy_sbom.go index 3beb6493..62027761 100644 --- a/agent/kubviz/plugins/trivy/trivy_sbom.go +++ b/agent/kubviz/plugins/trivy/trivy_sbom.go @@ -13,8 +13,10 @@ import ( "github.com/google/uuid" "github.com/intelops/kubviz/constants" "github.com/intelops/kubviz/model" + "github.com/intelops/kubviz/pkg/opentelemetry" "github.com/nats-io/nats.go" "github.com/pkg/errors" + "go.opentelemetry.io/otel" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" @@ -63,10 +65,10 @@ func RunTrivySbomScan(config *rest.Config, js nats.JetStreamContext) error { return err } - // ctx := context.Background() - // tracer := otel.Tracer("trivy-sbom") - // _, span := tracer.Start(opentelemetry.BuildContext(ctx), "RunTrivySbomScan") - // defer span.End() + ctx := context.Background() + tracer := otel.Tracer("trivy-sbom") + _, span := tracer.Start(opentelemetry.BuildContext(ctx), "RunTrivySbomScan") + defer span.End() images, err := ListImagesforSbom(config)