From bb8a96d9af3abbfc307b6d7b787faf21d519ea62 Mon Sep 17 00:00:00 2001 From: ShashwatDadhich Date: Wed, 1 Nov 2023 17:03:33 +0530 Subject: [PATCH 1/5] logger updated --- utils/k8s/K8sUtil.go | 234 +++++++++++++++++++++---------------------- 1 file changed, 117 insertions(+), 117 deletions(-) diff --git a/utils/k8s/K8sUtil.go b/utils/k8s/K8sUtil.go index 6a30b2a8..5026ebe7 100644 --- a/utils/k8s/K8sUtil.go +++ b/utils/k8s/K8sUtil.go @@ -67,7 +67,7 @@ import ( ) type K8sUtil struct { - logger *zap.SugaredLogger + Logger *zap.SugaredLogger runTimeConfig *client.RuntimeConfig kubeconfig *string } @@ -93,7 +93,7 @@ func NewK8sUtil(logger *zap.SugaredLogger, runTimeConfig *client.RuntimeConfig) } flag.Parse() - return &K8sUtil{logger: logger, runTimeConfig: runTimeConfig, kubeconfig: kubeconfig} + return &K8sUtil{Logger: logger, runTimeConfig: runTimeConfig, kubeconfig: kubeconfig} } func (impl K8sUtil) GetRestConfigByCluster(clusterConfig *ClusterConfig) (*restclient.Config, error) { @@ -103,7 +103,7 @@ func (impl K8sUtil) GetRestConfigByCluster(clusterConfig *ClusterConfig) (*restc if clusterConfig.Host == DefaultClusterUrl && len(bearerToken) == 0 { restConfig, err = impl.GetK8sInClusterRestConfig() if err != nil { - impl.logger.Errorw("error in getting rest config for default cluster", "err", err) + impl.Logger.Errorw("error in getting rest config for default cluster", "err", err) return nil, err } } else { @@ -121,7 +121,7 @@ func (impl K8sUtil) GetRestConfigByCluster(clusterConfig *ClusterConfig) (*restc func (impl K8sUtil) GetCoreV1Client(clusterConfig *ClusterConfig) (*v12.CoreV1Client, error) { cfg, err := impl.GetRestConfigByCluster(clusterConfig) if err != nil { - impl.logger.Errorw("error in getting rest config for default cluster", "err", err) + impl.Logger.Errorw("error in getting rest config for default cluster", "err", err) return nil, err } return impl.GetCoreV1ClientByRestConfig(cfg) @@ -131,18 +131,18 @@ func (impl K8sUtil) GetClientForInCluster() (*v12.CoreV1Client, error) { // creates the in-cluster config config, err := impl.GetK8sInClusterRestConfig() if err != nil { - impl.logger.Errorw("error in getting config", "err", err) + impl.Logger.Errorw("error in getting config", "err", err) return nil, err } // creates the clientset httpClient, err := OverrideK8sHttpClientWithTracer(config) if err != nil { - impl.logger.Errorw("error in getting http client for default cluster", "err", err) + impl.Logger.Errorw("error in getting http client for default cluster", "err", err) return nil, err } clientset, err := v12.NewForConfigAndClient(config, httpClient) if err != nil { - impl.logger.Errorw("error", "error", err) + impl.Logger.Errorw("error", "error", err) return nil, err } return clientset, err @@ -151,17 +151,17 @@ func (impl K8sUtil) GetClientForInCluster() (*v12.CoreV1Client, error) { func (impl K8sUtil) GetK8sDiscoveryClient(clusterConfig *ClusterConfig) (*discovery.DiscoveryClient, error) { cfg, err := impl.GetRestConfigByCluster(clusterConfig) if err != nil { - impl.logger.Errorw("error in getting rest config for default cluster", "err", err) + impl.Logger.Errorw("error in getting rest config for default cluster", "err", err) return nil, err } httpClient, err := OverrideK8sHttpClientWithTracer(cfg) if err != nil { - impl.logger.Errorw("error in getting http client for default cluster", "err", err) + impl.Logger.Errorw("error in getting http client for default cluster", "err", err) return nil, err } discoveryClient, err := discovery.NewDiscoveryClientForConfigAndClient(cfg, httpClient) if err != nil { - impl.logger.Errorw("error", "error", err, "clusterConfig", clusterConfig) + impl.Logger.Errorw("error", "error", err, "clusterConfig", clusterConfig) return nil, err } return discoveryClient, err @@ -170,21 +170,21 @@ func (impl K8sUtil) GetK8sDiscoveryClient(clusterConfig *ClusterConfig) (*discov func (impl K8sUtil) GetK8sDiscoveryClientInCluster() (*discovery.DiscoveryClient, error) { config, err := impl.GetK8sInClusterRestConfig() if err != nil { - impl.logger.Errorw("error in getting config", "err", err) + impl.Logger.Errorw("error in getting config", "err", err) return nil, err } if err != nil { - impl.logger.Errorw("error", "error", err) + impl.Logger.Errorw("error", "error", err) return nil, err } httpClient, err := OverrideK8sHttpClientWithTracer(config) if err != nil { - impl.logger.Errorw("error in getting http client for default cluster", "err", err) + impl.Logger.Errorw("error in getting http client for default cluster", "err", err) return nil, err } discoveryClient, err := discovery.NewDiscoveryClientForConfigAndClient(config, httpClient) if err != nil { - impl.logger.Errorw("error", "error", err) + impl.Logger.Errorw("error", "error", err) return nil, err } return discoveryClient, err @@ -193,19 +193,19 @@ func (impl K8sUtil) GetK8sDiscoveryClientInCluster() (*discovery.DiscoveryClient func (impl K8sUtil) CreateNsIfNotExists(namespace string, clusterConfig *ClusterConfig) (err error) { v12Client, err := impl.GetCoreV1Client(clusterConfig) if err != nil { - impl.logger.Errorw("error", "error", err, "clusterConfig", clusterConfig) + impl.Logger.Errorw("error", "error", err, "clusterConfig", clusterConfig) return err } exists, err := impl.checkIfNsExists(namespace, v12Client) if err != nil { - impl.logger.Errorw("error", "error", err, "clusterConfig", clusterConfig) + impl.Logger.Errorw("error", "error", err, "clusterConfig", clusterConfig) return err } if exists { - impl.logger.Infow("namesapce already exist") + impl.Logger.Infow("namesapce already exist") return nil } - impl.logger.Infow("ns not exists creating", "ns", namespace) + impl.Logger.Infow("ns not exists creating", "ns", namespace) _, err = impl.createNs(namespace, v12Client) return err } @@ -213,11 +213,11 @@ func (impl K8sUtil) CreateNsIfNotExists(namespace string, clusterConfig *Cluster func (impl K8sUtil) checkIfNsExists(namespace string, client *v12.CoreV1Client) (exists bool, err error) { ns, err := client.Namespaces().Get(context.Background(), namespace, metav1.GetOptions{}) //ns, err := impl.k8sClient.CoreV1().Namespaces().Get(namespace, metav1.GetOptions{}) - impl.logger.Debugw("ns fetch", "name", namespace, "res", ns) + impl.Logger.Debugw("ns fetch", "name", namespace, "res", ns) if errors.IsNotFound(err) { return false, nil } else if err != nil { - impl.logger.Errorw("error in checking if ns exist", "err", err) + impl.Logger.Errorw("error in checking if ns exist", "err", err) return false, err } else { return true, nil @@ -229,7 +229,7 @@ func (impl K8sUtil) createNs(namespace string, client *v12.CoreV1Client) (ns *v1 nsSpec := &v1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: namespace}} ns, err = client.Namespaces().Create(context.Background(), nsSpec, metav1.CreateOptions{}) if err != nil { - impl.logger.Errorw("error in creating ns", "err", err) + impl.Logger.Errorw("error in creating ns", "err", err) return nil, err } else { return ns, nil @@ -244,7 +244,7 @@ func (impl K8sUtil) deleteNs(namespace string, client *v12.CoreV1Client) error { func (impl K8sUtil) GetConfigMap(namespace string, name string, client *v12.CoreV1Client) (*v1.ConfigMap, error) { cm, err := client.ConfigMaps(namespace).Get(context.Background(), name, metav1.GetOptions{}) if err != nil { - impl.logger.Errorw("error in getting config map", "err", err) + impl.Logger.Errorw("error in getting config map", "err", err) return nil, err } else { return cm, nil @@ -254,7 +254,7 @@ func (impl K8sUtil) GetConfigMap(namespace string, name string, client *v12.Core func (impl K8sUtil) CreateConfigMap(namespace string, cm *v1.ConfigMap, client *v12.CoreV1Client) (*v1.ConfigMap, error) { cm, err := client.ConfigMaps(namespace).Create(context.Background(), cm, metav1.CreateOptions{}) if err != nil { - impl.logger.Errorw("error in creating config map", "err", err) + impl.Logger.Errorw("error in creating config map", "err", err) return nil, err } else { return cm, nil @@ -264,7 +264,7 @@ func (impl K8sUtil) CreateConfigMap(namespace string, cm *v1.ConfigMap, client * func (impl K8sUtil) UpdateConfigMap(namespace string, cm *v1.ConfigMap, client *v12.CoreV1Client) (*v1.ConfigMap, error) { cm, err := client.ConfigMaps(namespace).Update(context.Background(), cm, metav1.UpdateOptions{}) if err != nil { - impl.logger.Errorw("error in updating config map", "err", err) + impl.Logger.Errorw("error in updating config map", "err", err) return nil, err } else { return cm, nil @@ -274,17 +274,17 @@ func (impl K8sUtil) UpdateConfigMap(namespace string, cm *v1.ConfigMap, client * func (impl K8sUtil) PatchConfigMap(namespace string, clusterConfig *ClusterConfig, name string, data map[string]interface{}) (*v1.ConfigMap, error) { k8sClient, err := impl.GetCoreV1Client(clusterConfig) if err != nil { - impl.logger.Errorw("error in getting k8s client", "err", err) + impl.Logger.Errorw("error in getting k8s client", "err", err) return nil, err } b, err := json.Marshal(data) if err != nil { - impl.logger.Errorw("error in marshalling data", "err", err) + impl.Logger.Errorw("error in marshalling data", "err", err) panic(err) } cm, err := k8sClient.ConfigMaps(namespace).Patch(context.Background(), name, types.PatchType(types.MergePatchType), b, metav1.PatchOptions{}) if err != nil { - impl.logger.Errorw("error in patching config map", "err", err) + impl.Logger.Errorw("error in patching config map", "err", err) return nil, err } else { return cm, nil @@ -295,7 +295,7 @@ func (impl K8sUtil) PatchConfigMap(namespace string, clusterConfig *ClusterConfi func (impl K8sUtil) PatchConfigMapJsonType(namespace string, clusterConfig *ClusterConfig, name string, data interface{}, path string) (*v1.ConfigMap, error) { v12Client, err := impl.GetCoreV1Client(clusterConfig) if err != nil { - impl.logger.Errorw("error in getting v12 client ", "err", err, "namespace", namespace, "name", name) + impl.Logger.Errorw("error in getting v12 client ", "err", err, "namespace", namespace, "name", name) return nil, err } var patches []*JsonPatchType @@ -307,13 +307,13 @@ func (impl K8sUtil) PatchConfigMapJsonType(namespace string, clusterConfig *Clus patches = append(patches, patch) b, err := json.Marshal(patches) if err != nil { - impl.logger.Errorw("error in getting marshalling pacthes", "err", err, "namespace", namespace) + impl.Logger.Errorw("error in getting marshalling pacthes", "err", err, "namespace", namespace) panic(err) } cm, err := v12Client.ConfigMaps(namespace).Patch(context.Background(), name, types.PatchType(types.JSONPatchType), b, metav1.PatchOptions{}) if err != nil { - impl.logger.Errorw("error in patching config map", "err", err, "namespace", namespace) + impl.Logger.Errorw("error in patching config map", "err", err, "namespace", namespace) return nil, err } else { return cm, nil @@ -330,7 +330,7 @@ type JsonPatchType struct { func (impl K8sUtil) GetSecret(namespace string, name string, client *v12.CoreV1Client) (*v1.Secret, error) { secret, err := client.Secrets(namespace).Get(context.Background(), name, metav1.GetOptions{}) if err != nil { - impl.logger.Errorw("error in getting secrets", "err", err, "namespace", namespace) + impl.Logger.Errorw("error in getting secrets", "err", err, "namespace", namespace) return nil, err } else { return secret, nil @@ -366,7 +366,7 @@ func (impl K8sUtil) CreateSecretData(namespace string, secret *v1.Secret, v1Clie func (impl K8sUtil) UpdateSecret(namespace string, secret *v1.Secret, client *v12.CoreV1Client) (*v1.Secret, error) { secret, err := client.Secrets(namespace).Update(context.Background(), secret, metav1.UpdateOptions{}) if err != nil { - impl.logger.Errorw("error in updating secrets", "err", err, "namespace", namespace) + impl.Logger.Errorw("error in updating secrets", "err", err, "namespace", namespace) return nil, err } else { return secret, nil @@ -376,7 +376,7 @@ func (impl K8sUtil) UpdateSecret(namespace string, secret *v1.Secret, client *v1 func (impl K8sUtil) DeleteSecret(namespace string, name string, client *v12.CoreV1Client) error { err := client.Secrets(namespace).Delete(context.Background(), name, metav1.DeleteOptions{}) if err != nil { - impl.logger.Errorw("error in deleting secrets", "err", err, "namespace", namespace) + impl.Logger.Errorw("error in deleting secrets", "err", err, "namespace", namespace) return err } return nil @@ -385,21 +385,21 @@ func (impl K8sUtil) DeleteSecret(namespace string, name string, client *v12.Core func (impl K8sUtil) DeleteJob(namespace string, name string, clusterConfig *ClusterConfig) error { _, _, clientSet, err := impl.GetK8sConfigAndClients(clusterConfig) if err != nil { - impl.logger.Errorw("clientSet err, DeleteJob", "err", err) + impl.Logger.Errorw("clientSet err, DeleteJob", "err", err) return err } jobs := clientSet.BatchV1().Jobs(namespace) job, err := jobs.Get(context.Background(), name, metav1.GetOptions{}) if err != nil && errors.IsNotFound(err) { - impl.logger.Errorw("get job err, DeleteJob", "err", err) + impl.Logger.Errorw("get job err, DeleteJob", "err", err) return nil } if job != nil { err := jobs.Delete(context.Background(), name, metav1.DeleteOptions{}) if err != nil && !errors.IsNotFound(err) { - impl.logger.Errorw("delete err, DeleteJob", "err", err) + impl.Logger.Errorw("delete err, DeleteJob", "err", err) return err } } @@ -410,12 +410,12 @@ func (impl K8sUtil) DeleteJob(namespace string, name string, clusterConfig *Clus func (impl K8sUtil) GetK8sInClusterConfigAndClients() (*rest.Config, *http.Client, *kubernetes.Clientset, error) { restConfig, err := impl.GetK8sInClusterRestConfig() if err != nil { - impl.logger.Errorw("error in getting rest config for in cluster", "err", err) + impl.Logger.Errorw("error in getting rest config for in cluster", "err", err) return nil, nil, nil, err } k8sHttpClient, k8sClientSet, err := impl.GetK8sConfigAndClientsByRestConfig(restConfig) if err != nil { - impl.logger.Errorw("error in getting client set by rest config for in cluster", "err", err) + impl.Logger.Errorw("error in getting client set by rest config for in cluster", "err", err) return nil, nil, nil, err } return restConfig, k8sHttpClient, k8sClientSet, nil @@ -424,17 +424,17 @@ func (impl K8sUtil) GetK8sInClusterConfigAndClients() (*rest.Config, *http.Clien func (impl K8sUtil) GetK8sInClusterConfigAndDynamicClients() (*rest.Config, *http.Client, dynamic.Interface, error) { restConfig, err := impl.GetK8sInClusterRestConfig() if err != nil { - impl.logger.Errorw("error in getting rest config for in cluster", "err", err) + impl.Logger.Errorw("error in getting rest config for in cluster", "err", err) return nil, nil, nil, err } k8sHttpClient, err := OverrideK8sHttpClientWithTracer(restConfig) if err != nil { - impl.logger.Errorw("error in getting k8s http client set by rest config for in cluster", "err", err) + impl.Logger.Errorw("error in getting k8s http client set by rest config for in cluster", "err", err) return nil, nil, nil, err } dynamicClientSet, err := dynamic.NewForConfigAndClient(restConfig, k8sHttpClient) if err != nil { - impl.logger.Errorw("error in getting client set by rest config for in cluster", "err", err) + impl.Logger.Errorw("error in getting client set by rest config for in cluster", "err", err) return nil, nil, nil, err } return restConfig, k8sHttpClient, dynamicClientSet, nil @@ -443,12 +443,12 @@ func (impl K8sUtil) GetK8sInClusterConfigAndDynamicClients() (*rest.Config, *htt func (impl K8sUtil) GetK8sConfigAndClients(clusterConfig *ClusterConfig) (*rest.Config, *http.Client, *kubernetes.Clientset, error) { restConfig, err := impl.GetRestConfigByCluster(clusterConfig) if err != nil { - impl.logger.Errorw("error in getting rest config by cluster", "err", err, "clusterName", clusterConfig.ClusterName) + impl.Logger.Errorw("error in getting rest config by cluster", "err", err, "clusterName", clusterConfig.ClusterName) return nil, nil, nil, err } k8sHttpClient, k8sClientSet, err := impl.GetK8sConfigAndClientsByRestConfig(restConfig) if err != nil { - impl.logger.Errorw("error in getting client set by rest config", "err", err, "clusterName", clusterConfig.ClusterName) + impl.Logger.Errorw("error in getting client set by rest config", "err", err, "clusterName", clusterConfig.ClusterName) return nil, nil, nil, err } return restConfig, k8sHttpClient, k8sClientSet, nil @@ -457,12 +457,12 @@ func (impl K8sUtil) GetK8sConfigAndClients(clusterConfig *ClusterConfig) (*rest. func (impl K8sUtil) GetK8sConfigAndClientsByRestConfig(restConfig *rest.Config) (*http.Client, *kubernetes.Clientset, error) { k8sHttpClient, err := OverrideK8sHttpClientWithTracer(restConfig) if err != nil { - impl.logger.Errorw("error in getting k8s http client set by rest config", "err", err) + impl.Logger.Errorw("error in getting k8s http client set by rest config", "err", err) return nil, nil, err } k8sClientSet, err := kubernetes.NewForConfigAndClient(restConfig, k8sHttpClient) if err != nil { - impl.logger.Errorw("error in getting client set by rest config", "err", err) + impl.Logger.Errorw("error in getting client set by rest config", "err", err) return nil, nil, err } return k8sHttpClient, k8sClientSet, nil @@ -471,13 +471,13 @@ func (impl K8sUtil) GetK8sConfigAndClientsByRestConfig(restConfig *rest.Config) func (impl K8sUtil) DiscoveryClientGetLiveZCall(cluster *ClusterConfig) ([]byte, error) { _, _, k8sClientSet, err := impl.GetK8sConfigAndClients(cluster) if err != nil { - impl.logger.Errorw("errir in getting clients and configs", "err", err, "clusterName", cluster.ClusterName) + impl.Logger.Errorw("errir in getting clients and configs", "err", err, "clusterName", cluster.ClusterName) return nil, err } //using livez path as healthz path is deprecated response, err := impl.GetLiveZCall(LiveZ, k8sClientSet) if err != nil { - impl.logger.Errorw("error in getting livez call", "err", err, "clusterName", cluster.ClusterName) + impl.Logger.Errorw("error in getting livez call", "err", err, "clusterName", cluster.ClusterName) return nil, err } return response, err @@ -486,7 +486,7 @@ func (impl K8sUtil) DiscoveryClientGetLiveZCall(cluster *ClusterConfig) ([]byte, func (impl K8sUtil) GetLiveZCall(path string, k8sClientSet *kubernetes.Clientset) ([]byte, error) { response, err := k8sClientSet.Discovery().RESTClient().Get().AbsPath(path).DoRaw(context.Background()) if err != nil { - impl.logger.Errorw("error in getting response from discovery client", "err", err) + impl.Logger.Errorw("error in getting response from discovery client", "err", err) return nil, err } return response, err @@ -495,14 +495,14 @@ func (impl K8sUtil) GetLiveZCall(path string, k8sClientSet *kubernetes.Clientset func (impl K8sUtil) CreateJob(namespace string, name string, clusterConfig *ClusterConfig, job *batchV1.Job) error { _, _, clientSet, err := impl.GetK8sConfigAndClients(clusterConfig) if err != nil { - impl.logger.Errorw("clientSet err, CreateJob", "err", err) + impl.Logger.Errorw("clientSet err, CreateJob", "err", err) } time.Sleep(5 * time.Second) jobs := clientSet.BatchV1().Jobs(namespace) _, err = jobs.Get(context.Background(), name, metav1.GetOptions{}) if err == nil { - impl.logger.Errorw("get job err, CreateJob", "err", err) + impl.Logger.Errorw("get job err, CreateJob", "err", err) time.Sleep(5 * time.Second) _, err = jobs.Get(context.Background(), name, metav1.GetOptions{}) if err == nil { @@ -512,7 +512,7 @@ func (impl K8sUtil) CreateJob(namespace string, name string, clusterConfig *Clus _, err = jobs.Create(context.Background(), job, metav1.CreateOptions{}) if err != nil { - impl.logger.Errorw("create err, CreateJob", "err", err) + impl.Logger.Errorw("create err, CreateJob", "err", err) return err } return nil @@ -523,7 +523,7 @@ func (impl K8sUtil) CreateJob(namespace string, name string, clusterConfig *Clus func (impl K8sUtil) DeletePodByLabel(namespace string, labels string, clusterConfig *ClusterConfig) error { _, _, clientSet, err := impl.GetK8sConfigAndClients(clusterConfig) if err != nil { - impl.logger.Errorw("clientSet err, DeletePod", "err", err) + impl.Logger.Errorw("clientSet err, DeletePod", "err", err) return err } @@ -532,7 +532,7 @@ func (impl K8sUtil) DeletePodByLabel(namespace string, labels string, clusterCon pods := clientSet.CoreV1().Pods(namespace) podList, err := pods.List(context.Background(), metav1.ListOptions{LabelSelector: labels}) if err != nil && errors.IsNotFound(err) { - impl.logger.Errorw("get pod err, DeletePod", "err", err) + impl.Logger.Errorw("get pod err, DeletePod", "err", err) return nil } @@ -541,7 +541,7 @@ func (impl K8sUtil) DeletePodByLabel(namespace string, labels string, clusterCon podName := pod.ObjectMeta.Name err := pods.Delete(context.Background(), podName, metav1.DeleteOptions{}) if err != nil && !errors.IsNotFound(err) { - impl.logger.Errorw("delete err, DeletePod", "err", err) + impl.Logger.Errorw("delete err, DeletePod", "err", err) return err } } @@ -555,27 +555,27 @@ func (impl K8sUtil) DeleteAndCreateJob(content []byte, namespace string, cluster var job batchV1.Job err := yaml.Unmarshal(content, &job) if err != nil { - impl.logger.Errorw("Unmarshal err, CreateJobSafely", "err", err) + impl.Logger.Errorw("Unmarshal err, CreateJobSafely", "err", err) return err } // delete job if exists err = impl.DeleteJob(namespace, job.Name, clusterConfig) if err != nil { - impl.logger.Errorw("DeleteJobIfExists err, CreateJobSafely", "err", err) + impl.Logger.Errorw("DeleteJobIfExists err, CreateJobSafely", "err", err) return err } labels := "job-name=" + job.Name err = impl.DeletePodByLabel(namespace, labels, clusterConfig) if err != nil { - impl.logger.Errorw("DeleteJobIfExists err, CreateJobSafely", "err", err) + impl.Logger.Errorw("DeleteJobIfExists err, CreateJobSafely", "err", err) return err } // create job err = impl.CreateJob(namespace, job.Name, clusterConfig, &job) if err != nil { - impl.logger.Errorw("CreateJob err, CreateJobSafely", "err", err) + impl.Logger.Errorw("CreateJob err, CreateJobSafely", "err", err) return err } @@ -598,7 +598,7 @@ func (impl K8sUtil) GetClientByToken(serverUrl string, token map[string]string) clusterCfg := &ClusterConfig{Host: serverUrl, BearerToken: bearerToken} v12Client, err := impl.GetCoreV1Client(clusterCfg) if err != nil { - impl.logger.Errorw("error in k8s client", "error", err) + impl.Logger.Errorw("error in k8s client", "error", err) return nil, err } return v12Client, nil @@ -607,7 +607,7 @@ func (impl K8sUtil) GetClientByToken(serverUrl string, token map[string]string) func (impl K8sUtil) GetResourceInfoByLabelSelector(ctx context.Context, namespace string, labelSelector string) (*v1.Pod, error) { inClusterClient, err := impl.GetClientForInCluster() if err != nil { - impl.logger.Errorw("cluster config error", "err", err) + impl.Logger.Errorw("cluster config error", "err", err) return nil, err } pods, err := inClusterClient.Pods(namespace).List(ctx, metav1.ListOptions{ @@ -627,18 +627,18 @@ func (impl K8sUtil) GetResourceInfoByLabelSelector(ctx context.Context, namespac } func (impl K8sUtil) GetK8sInClusterRestConfig() (*rest.Config, error) { - impl.logger.Debug("getting k8s rest config") + impl.Logger.Debug("getting k8s rest config") if impl.runTimeConfig.LocalDevMode { restConfig, err := clientcmd.BuildConfigFromFlags("", *impl.kubeconfig) if err != nil { - impl.logger.Errorw("Error while building config from flags", "error", err) + impl.Logger.Errorw("Error while building config from flags", "error", err) return nil, err } return restConfig, nil } else { clusterConfig, err := rest.InClusterConfig() if err != nil { - impl.logger.Errorw("error in fetch default cluster config", "err", err) + impl.Logger.Errorw("error in fetch default cluster config", "err", err) return nil, err } return clusterConfig, nil @@ -648,7 +648,7 @@ func (impl K8sUtil) GetK8sInClusterRestConfig() (*rest.Config, error) { func (impl K8sUtil) GetPodByName(namespace string, name string, client *v12.CoreV1Client) (*v1.Pod, error) { pod, err := client.Pods(namespace).Get(context.Background(), name, metav1.GetOptions{}) if err != nil { - impl.logger.Errorw("error in fetch pod name", "err", err) + impl.Logger.Errorw("error in fetch pod name", "err", err) return nil, err } else { return pod, nil @@ -745,7 +745,7 @@ func (impl K8sUtil) BuildK8sObjectListTableData(manifest *unstructured.Unstructu clusterResourceListMap.Headers = headers clusterResourceListMap.Data = rowsMapping - impl.logger.Debugw("resource listing response", "clusterResourceListMap", clusterResourceListMap) + impl.Logger.Debugw("resource listing response", "clusterResourceListMap", clusterResourceListMap) return clusterResourceListMap, nil } @@ -859,12 +859,12 @@ func OverrideK8sHttpClientWithTracer(restConfig *rest.Config) (*http.Client, err func (impl K8sUtil) GetKubeVersion() (*version.Info, error) { discoveryClient, err := impl.GetK8sDiscoveryClientInCluster() if err != nil { - impl.logger.Errorw("eexception caught in getting discoveryClient", "err", err) + impl.Logger.Errorw("eexception caught in getting discoveryClient", "err", err) return nil, err } k8sServerVersion, err := discoveryClient.ServerVersion() if err != nil { - impl.logger.Errorw("exception caught in getting k8sServerVersion", "err", err) + impl.Logger.Errorw("exception caught in getting k8sServerVersion", "err", err) return nil, err } return k8sServerVersion, err @@ -874,7 +874,7 @@ func (impl K8sUtil) GetCoreV1ClientInCluster() (*v12.CoreV1Client, error) { restConfig := &rest.Config{} restConfig, err := impl.GetK8sInClusterRestConfig() if err != nil { - impl.logger.Error("Error in creating config for default cluster", "err", err) + impl.Logger.Error("Error in creating config for default cluster", "err", err) return nil, err } return impl.GetCoreV1ClientByRestConfig(restConfig) @@ -883,12 +883,12 @@ func (impl K8sUtil) GetCoreV1ClientInCluster() (*v12.CoreV1Client, error) { func (impl K8sUtil) GetCoreV1ClientByRestConfig(restConfig *rest.Config) (*v12.CoreV1Client, error) { httpClientFor, err := rest.HTTPClientFor(restConfig) if err != nil { - impl.logger.Error("error occurred while overriding k8s client", "reason", err) + impl.Logger.Error("error occurred while overriding k8s client", "reason", err) return nil, err } k8sClient, err := v12.NewForConfigAndClient(restConfig, httpClientFor) if err != nil { - impl.logger.Error("error creating k8s client", "error", err) + impl.Logger.Error("error creating k8s client", "error", err) return nil, err } return k8sClient, err @@ -897,7 +897,7 @@ func (impl K8sUtil) GetCoreV1ClientByRestConfig(restConfig *rest.Config) (*v12.C func (impl K8sUtil) GetNodesList(ctx context.Context, k8sClientSet *kubernetes.Clientset) (*v1.NodeList, error) { nodeList, err := k8sClientSet.CoreV1().Nodes().List(ctx, metav1.ListOptions{}) if err != nil { - impl.logger.Errorw("error in getting node list", "err", err) + impl.Logger.Errorw("error in getting node list", "err", err) return nil, err } return nodeList, err @@ -905,7 +905,7 @@ func (impl K8sUtil) GetNodesList(ctx context.Context, k8sClientSet *kubernetes.C func (impl K8sUtil) GetNodeByName(ctx context.Context, k8sClientSet *kubernetes.Clientset, name string) (*v1.Node, error) { node, err := k8sClientSet.CoreV1().Nodes().Get(ctx, name, metav1.GetOptions{}) if err != nil { - impl.logger.Errorw("error in getting node by name", "err", err) + impl.Logger.Errorw("error in getting node by name", "err", err) return nil, err } return node, err @@ -914,7 +914,7 @@ func (impl K8sUtil) GetNodeByName(ctx context.Context, k8sClientSet *kubernetes. func (impl K8sUtil) GetServerVersionFromDiscoveryClient(k8sClientSet *kubernetes.Clientset) (*version.Info, error) { serverVersion, err := k8sClientSet.DiscoveryClient.ServerVersion() if err != nil { - impl.logger.Errorw("error in getting server version from discovery client", "err", err) + impl.Logger.Errorw("error in getting server version from discovery client", "err", err) return nil, err } return serverVersion, err @@ -922,7 +922,7 @@ func (impl K8sUtil) GetServerVersionFromDiscoveryClient(k8sClientSet *kubernetes func (impl K8sUtil) GetPodsListForNamespace(ctx context.Context, k8sClientSet *kubernetes.Clientset, namespace string) (*v1.PodList, error) { podList, err := k8sClientSet.CoreV1().Pods(namespace).List(ctx, metav1.ListOptions{}) if err != nil { - impl.logger.Errorw("error in getting pos list for namespace", "err", err) + impl.Logger.Errorw("error in getting pos list for namespace", "err", err) return nil, err } return podList, err @@ -930,7 +930,7 @@ func (impl K8sUtil) GetPodsListForNamespace(ctx context.Context, k8sClientSet *k func (impl K8sUtil) GetNmList(ctx context.Context, metricsClientSet *metrics.Clientset) (*v1beta1.NodeMetricsList, error) { nmList, err := metricsClientSet.MetricsV1beta1().NodeMetricses().List(ctx, metav1.ListOptions{}) if err != nil { - impl.logger.Errorw("error in getting node metrics", "err", err) + impl.Logger.Errorw("error in getting node metrics", "err", err) return nil, err } return nmList, err @@ -938,7 +938,7 @@ func (impl K8sUtil) GetNmList(ctx context.Context, metricsClientSet *metrics.Cli func (impl K8sUtil) GetNmByName(ctx context.Context, metricsClientSet *metrics.Clientset, name string) (*v1beta1.NodeMetrics, error) { nodeMetrics, err := metricsClientSet.MetricsV1beta1().NodeMetricses().Get(ctx, name, metav1.GetOptions{}) if err != nil { - impl.logger.Errorw("error in getting node metrics by name", "err", err) + impl.Logger.Errorw("error in getting node metrics by name", "err", err) return nil, err } return nodeMetrics, err @@ -946,7 +946,7 @@ func (impl K8sUtil) GetNmByName(ctx context.Context, metricsClientSet *metrics.C func (impl K8sUtil) GetMetricsClientSet(restConfig *rest.Config, k8sHttpClient *http.Client) (*metrics.Clientset, error) { metricsClientSet, err := metrics.NewForConfigAndClient(restConfig, k8sHttpClient) if err != nil { - impl.logger.Errorw("error in getting metrics client set", "err", err) + impl.Logger.Errorw("error in getting metrics client set", "err", err) return nil, err } return metricsClientSet, err @@ -1020,12 +1020,12 @@ func UpdateNodeUnschedulableProperty(desiredUnschedulable bool, node *v1.Node, k func (impl K8sUtil) CreateK8sClientSet(restConfig *rest.Config) (*kubernetes.Clientset, error) { k8sHttpClient, err := OverrideK8sHttpClientWithTracer(restConfig) if err != nil { - impl.logger.Errorw("service err, OverrideK8sHttpClientWithTracer", "err", err) + impl.Logger.Errorw("service err, OverrideK8sHttpClientWithTracer", "err", err) return nil, err } k8sClientSet, err := kubernetes.NewForConfigAndClient(restConfig, k8sHttpClient) if err != nil { - impl.logger.Errorw("error in getting client set by rest config", "err", err) + impl.Logger.Errorw("error in getting client set by rest config", "err", err) return nil, err } return k8sClientSet, err @@ -1084,17 +1084,17 @@ func (impl K8sUtil) GetResourceIf(restConfig *rest.Config, groupVersionKind sche } dynamicIf, err := dynamic.NewForConfigAndClient(restConfig, httpClient) if err != nil { - impl.logger.Errorw("error in getting dynamic interface for resource", "err", err) + impl.Logger.Errorw("error in getting dynamic interface for resource", "err", err) return nil, false, err } discoveryClient, err := discovery.NewDiscoveryClientForConfigAndClient(restConfig, httpClient) if err != nil { - impl.logger.Errorw("error in getting k8s client", "err", err) + impl.Logger.Errorw("error in getting k8s client", "err", err) return nil, false, err } apiResource, err := ServerResourceForGroupVersionKind(discoveryClient, groupVersionKind) if err != nil { - impl.logger.Errorw("error in getting server resource", "err", err) + impl.Logger.Errorw("error in getting server resource", "err", err) return nil, false, err } resource := groupVersionKind.GroupVersion().WithResource(apiResource.Name) @@ -1105,7 +1105,7 @@ func (impl K8sUtil) ListEvents(restConfig *rest.Config, namespace string, groupV _, namespaced, err := impl.GetResourceIf(restConfig, groupVersionKind) if err != nil { - impl.logger.Errorw("error in getting dynamic interface for resource", "err", err, "resource", name) + impl.Logger.Errorw("error in getting dynamic interface for resource", "err", err, "resource", name) return nil, err } groupVersionKind.Kind = "List" @@ -1114,12 +1114,12 @@ func (impl K8sUtil) ListEvents(restConfig *rest.Config, namespace string, groupV } httpClient, err := OverrideK8sHttpClientWithTracer(restConfig) if err != nil { - impl.logger.Errorw("error in getting http client", "err", err) + impl.Logger.Errorw("error in getting http client", "err", err) return nil, err } eventsClient, err := v12.NewForConfigAndClient(restConfig, httpClient) if err != nil { - impl.logger.Errorw("error in getting client for resource", "err", err, "resource", name) + impl.Logger.Errorw("error in getting client for resource", "err", err, "resource", name) return nil, err } eventsIf := eventsClient.Events(namespace) @@ -1134,7 +1134,7 @@ func (impl K8sUtil) ListEvents(restConfig *rest.Config, namespace string, groupV } list, err := eventsIf.List(ctx, listOptions) if err != nil { - impl.logger.Errorw("error in getting events list", "err", err, "resource", name) + impl.Logger.Errorw("error in getting events list", "err", err, "resource", name) return nil, err } return list, err @@ -1144,12 +1144,12 @@ func (impl K8sUtil) ListEvents(restConfig *rest.Config, namespace string, groupV func (impl K8sUtil) GetPodLogs(ctx context.Context, restConfig *rest.Config, name string, namespace string, sinceTime *metav1.Time, tailLines int, follow bool, containerName string, isPrevContainerLogsEnabled bool) (io.ReadCloser, error) { httpClient, err := OverrideK8sHttpClientWithTracer(restConfig) if err != nil { - impl.logger.Errorw("error in getting pod logs", "err", err) + impl.Logger.Errorw("error in getting pod logs", "err", err) return nil, err } podClient, err := v12.NewForConfigAndClient(restConfig, httpClient) if err != nil { - impl.logger.Errorw("error in getting client for resource", "err", err, "resource", name, "namespace", namespace) + impl.Logger.Errorw("error in getting client for resource", "err", err, "resource", name, "namespace", namespace) return nil, err } TailLines := int64(tailLines) @@ -1167,7 +1167,7 @@ func (impl K8sUtil) GetPodLogs(ctx context.Context, restConfig *rest.Config, nam logsRequest := podIf.GetLogs(name, podLogOptions) stream, err := logsRequest.Stream(ctx) if err != nil { - impl.logger.Errorw("error in streaming pod logs", "err", err, "resource", name, "namespace", namespace) + impl.Logger.Errorw("error in streaming pod logs", "err", err, "resource", name, "namespace", namespace) return nil, err } return stream, nil @@ -1175,17 +1175,17 @@ func (impl K8sUtil) GetPodLogs(ctx context.Context, restConfig *rest.Config, nam func (impl K8sUtil) GetResourceIfWithAcceptHeader(restConfig *rest.Config, groupVersionKind schema.GroupVersionKind) (resourceIf dynamic.NamespaceableResourceInterface, namespaced bool, err error) { httpClient, err := OverrideK8sHttpClientWithTracer(restConfig) if err != nil { - impl.logger.Errorw("error in getting http client", "err", err) + impl.Logger.Errorw("error in getting http client", "err", err) return nil, false, err } discoveryClient, err := discovery.NewDiscoveryClientForConfigAndClient(restConfig, httpClient) if err != nil { - impl.logger.Errorw("error in getting k8s client", "err", err) + impl.Logger.Errorw("error in getting k8s client", "err", err) return nil, false, err } apiResource, err := ServerResourceForGroupVersionKind(discoveryClient, groupVersionKind) if err != nil { - impl.logger.Errorw("error in getting server resource", "err", err) + impl.Logger.Errorw("error in getting server resource", "err", err) return nil, false, err } resource := groupVersionKind.GroupVersion().WithResource(apiResource.Name) @@ -1200,12 +1200,12 @@ func (impl K8sUtil) GetResourceIfWithAcceptHeader(restConfig *rest.Config, group } httpClient, err = OverrideK8sHttpClientWithTracer(restConfig) if err != nil { - impl.logger.Errorw("error in getting http client", "err", err) + impl.Logger.Errorw("error in getting http client", "err", err) return nil, false, err } dynamicIf, err := dynamic.NewForConfigAndClient(restConfig, httpClient) if err != nil { - impl.logger.Errorw("error in getting dynamic interface for resource", "err", err) + impl.Logger.Errorw("error in getting dynamic interface for resource", "err", err) return nil, false, err } return dynamicIf.Resource(resource), apiResource.Namespaced, nil @@ -1226,7 +1226,7 @@ func ServerResourceForGroupVersionKind(discoveryClient discovery.DiscoveryInterf func (impl K8sUtil) GetResourceList(ctx context.Context, restConfig *rest.Config, gvk schema.GroupVersionKind, namespace string) (*ResourceListResponse, bool, error) { resourceIf, namespaced, err := impl.GetResourceIfWithAcceptHeader(restConfig, gvk) if err != nil { - impl.logger.Errorw("error in getting dynamic interface for resource", "err", err, "namespace", namespace) + impl.Logger.Errorw("error in getting dynamic interface for resource", "err", err, "namespace", namespace) return nil, namespaced, err } var resp *unstructured.UnstructuredList @@ -1242,7 +1242,7 @@ func (impl K8sUtil) GetResourceList(ctx context.Context, restConfig *rest.Config resp, err = resourceIf.List(ctx, listOptions) } if err != nil { - impl.logger.Errorw("error in getting resource", "err", err, "namespace", namespace) + impl.Logger.Errorw("error in getting resource", "err", err, "namespace", namespace) return nil, namespaced, err } return &ResourceListResponse{*resp}, namespaced, nil @@ -1251,7 +1251,7 @@ func (impl K8sUtil) GetResourceList(ctx context.Context, restConfig *rest.Config func (impl K8sUtil) PatchResourceRequest(ctx context.Context, restConfig *rest.Config, pt types.PatchType, manifest string, name string, namespace string, gvk schema.GroupVersionKind) (*ManifestResponse, error) { resourceIf, namespaced, err := impl.GetResourceIf(restConfig, gvk) if err != nil { - impl.logger.Errorw("error in getting dynamic interface for resource", "err", err, "resource", name, "namespace", namespace) + impl.Logger.Errorw("error in getting dynamic interface for resource", "err", err, "resource", name, "namespace", namespace) return nil, err } @@ -1262,7 +1262,7 @@ func (impl K8sUtil) PatchResourceRequest(ctx context.Context, restConfig *rest.C resp, err = resourceIf.Patch(ctx, name, pt, []byte(manifest), metav1.PatchOptions{FieldManager: "patch"}) } if err != nil { - impl.logger.Errorw("error in applying resource", "err", err, "resource", name, "namespace", namespace) + impl.Logger.Errorw("error in applying resource", "err", err, "resource", name, "namespace", namespace) return nil, err } return &ManifestResponse{*resp}, nil @@ -1272,7 +1272,7 @@ func (impl K8sUtil) PatchResourceRequest(ctx context.Context, restConfig *rest.C func (impl K8sUtil) GetApiResources(restConfig *rest.Config, includeOnlyVerb string) ([]*K8sApiResource, error) { discoveryClient, err := discovery.NewDiscoveryClientForConfig(restConfig) if err != nil { - impl.logger.Errorw("error in getting dynamic k8s client", "err", err) + impl.Logger.Errorw("error in getting dynamic k8s client", "err", err) return nil, err } @@ -1284,7 +1284,7 @@ func (impl K8sUtil) GetApiResources(restConfig *rest.Config, includeOnlyVerb str case true: break default: - impl.logger.Errorw("error in getting api-resources from k8s", "err", err) + impl.Logger.Errorw("error in getting api-resources from k8s", "err", err) return nil, err } } @@ -1335,13 +1335,13 @@ func (impl K8sUtil) GetApiResources(restConfig *rest.Config, includeOnlyVerb str func (impl *K8sUtil) CreateResources(ctx context.Context, restConfig *rest.Config, manifest string, gvk schema.GroupVersionKind, namespace string) (*ManifestResponse, error) { resourceIf, namespaced, err := impl.GetResourceIf(restConfig, gvk) if err != nil { - impl.logger.Errorw("error in getting dynamic interface for resource", "err", err, "namespace", namespace) + impl.Logger.Errorw("error in getting dynamic interface for resource", "err", err, "namespace", namespace) return nil, err } var createObj map[string]interface{} err = json.Unmarshal([]byte(manifest), &createObj) if err != nil { - impl.logger.Errorw("error in json un-marshaling patch(manifest) string for creating resource", "err", err, "namespace", namespace) + impl.Logger.Errorw("error in json un-marshaling patch(manifest) string for creating resource", "err", err, "namespace", namespace) return nil, err } var resp *unstructured.Unstructured @@ -1351,7 +1351,7 @@ func (impl *K8sUtil) CreateResources(ctx context.Context, restConfig *rest.Confi resp, err = resourceIf.Create(ctx, &unstructured.Unstructured{Object: createObj}, metav1.CreateOptions{}) } if err != nil { - impl.logger.Errorw("error in creating resource", "err", err, "namespace", namespace) + impl.Logger.Errorw("error in creating resource", "err", err, "namespace", namespace) return nil, err } return &ManifestResponse{*resp}, nil @@ -1359,7 +1359,7 @@ func (impl *K8sUtil) CreateResources(ctx context.Context, restConfig *rest.Confi func (impl *K8sUtil) GetResource(ctx context.Context, namespace string, name string, gvk schema.GroupVersionKind, restConfig *rest.Config) (*ManifestResponse, error) { resourceIf, namespaced, err := impl.GetResourceIf(restConfig, gvk) if err != nil { - impl.logger.Errorw("error in getting dynamic interface for resource", "err", err, "namespace", namespace) + impl.Logger.Errorw("error in getting dynamic interface for resource", "err", err, "namespace", namespace) return nil, err } var resp *unstructured.Unstructured @@ -1369,7 +1369,7 @@ func (impl *K8sUtil) GetResource(ctx context.Context, namespace string, name str resp, err = resourceIf.Get(ctx, name, metav1.GetOptions{}) } if err != nil { - impl.logger.Errorw("error in getting resource", "err", err, "resource", name, "namespace", namespace) + impl.Logger.Errorw("error in getting resource", "err", err, "resource", name, "namespace", namespace) return nil, err } return &ManifestResponse{*resp}, nil @@ -1378,13 +1378,13 @@ func (impl *K8sUtil) UpdateResource(ctx context.Context, restConfig *rest.Config resourceIf, namespaced, err := impl.GetResourceIf(restConfig, gvk) if err != nil { - impl.logger.Errorw("error in getting dynamic interface for resource", "err", err, "namespace", namespace) + impl.Logger.Errorw("error in getting dynamic interface for resource", "err", err, "namespace", namespace) return nil, err } var updateObj map[string]interface{} err = json.Unmarshal([]byte(k8sRequestPatch), &updateObj) if err != nil { - impl.logger.Errorw("error in json un-marshaling patch string for updating resource ", "err", err, "namespace", namespace) + impl.Logger.Errorw("error in json un-marshaling patch string for updating resource ", "err", err, "namespace", namespace) return nil, err } var resp *unstructured.Unstructured @@ -1394,7 +1394,7 @@ func (impl *K8sUtil) UpdateResource(ctx context.Context, restConfig *rest.Config resp, err = resourceIf.Update(ctx, &unstructured.Unstructured{Object: updateObj}, metav1.UpdateOptions{}) } if err != nil { - impl.logger.Errorw("error in updating resource", "err", err, "namespace", namespace) + impl.Logger.Errorw("error in updating resource", "err", err, "namespace", namespace) return nil, err } return &ManifestResponse{*resp}, nil @@ -1403,7 +1403,7 @@ func (impl *K8sUtil) UpdateResource(ctx context.Context, restConfig *rest.Config func (impl *K8sUtil) DeleteResource(ctx context.Context, restConfig *rest.Config, gvk schema.GroupVersionKind, namespace string, name string, forceDelete bool) (*ManifestResponse, error) { resourceIf, namespaced, err := impl.GetResourceIf(restConfig, gvk) if err != nil { - impl.logger.Errorw("error in getting dynamic interface for resource", "err", err, "resource", name, "namespace", namespace) + impl.Logger.Errorw("error in getting dynamic interface for resource", "err", err, "resource", name, "namespace", namespace) return nil, err } var obj *unstructured.Unstructured @@ -1414,20 +1414,20 @@ func (impl *K8sUtil) DeleteResource(ctx context.Context, restConfig *rest.Config if len(namespace) > 0 && namespaced { obj, err = resourceIf.Namespace(namespace).Get(ctx, name, metav1.GetOptions{}) if err != nil { - impl.logger.Errorw("error in getting resource", "err", err, "resource", name, "namespace", namespace) + impl.Logger.Errorw("error in getting resource", "err", err, "resource", name, "namespace", namespace) return nil, err } err = resourceIf.Namespace(namespace).Delete(ctx, name, deleteOptions) } else { obj, err = resourceIf.Get(ctx, name, metav1.GetOptions{}) if err != nil { - impl.logger.Errorw("error in getting resource", "err", err, "resource", name, "namespace", namespace) + impl.Logger.Errorw("error in getting resource", "err", err, "resource", name, "namespace", namespace) return nil, err } err = resourceIf.Delete(ctx, name, deleteOptions) } if err != nil { - impl.logger.Errorw("error in deleting resource", "err", err, "resource", name, "namespace", namespace) + impl.Logger.Errorw("error in deleting resource", "err", err, "resource", name, "namespace", namespace) return nil, err } return &ManifestResponse{*obj}, nil @@ -1436,7 +1436,7 @@ func (impl *K8sUtil) DeleteResource(ctx context.Context, restConfig *rest.Config func (impl *K8sUtil) DecodeGroupKindversion(data string) (*schema.GroupVersionKind, error) { _, groupVersionKind, err := legacyscheme.Codecs.UniversalDeserializer().Decode([]byte(data), nil, nil) if err != nil { - impl.logger.Errorw("error occurred while extracting data for gvk", "err", err, "gvk", data) + impl.Logger.Errorw("error occurred while extracting data for gvk", "err", err, "gvk", data) return nil, err } return groupVersionKind, err @@ -1445,7 +1445,7 @@ func (impl *K8sUtil) DecodeGroupKindversion(data string) (*schema.GroupVersionKi func (impl K8sUtil) GetK8sServerVersion(clientSet *kubernetes.Clientset) (*version.Info, error) { k8sServerVersion, err := clientSet.DiscoveryClient.ServerVersion() if err != nil { - impl.logger.Errorw("error occurred in getting k8sServerVersion", "err", err) + impl.Logger.Errorw("error occurred in getting k8sServerVersion", "err", err) return nil, err } return k8sServerVersion, nil @@ -1454,12 +1454,12 @@ func (impl K8sUtil) GetK8sServerVersion(clientSet *kubernetes.Clientset) (*versi func (impl K8sUtil) ExtractK8sServerMajorAndMinorVersion(k8sServerVersion *version.Info) (int, int, error) { majorVersion, err := strconv.Atoi(k8sServerVersion.Major) if err != nil { - impl.logger.Errorw("error occurred in converting k8sServerVersion.Major version value to integer", "err", err, "k8sServerVersion.Major", k8sServerVersion.Major) + impl.Logger.Errorw("error occurred in converting k8sServerVersion.Major version value to integer", "err", err, "k8sServerVersion.Major", k8sServerVersion.Major) return 0, 0, err } minorVersion, err := strconv.Atoi(k8sServerVersion.Minor) if err != nil { - impl.logger.Errorw("error occurred in converting k8sServerVersion.Minor version value to integer", "err", err, "k8sServerVersion.Minor", k8sServerVersion.Minor) + impl.Logger.Errorw("error occurred in converting k8sServerVersion.Minor version value to integer", "err", err, "k8sServerVersion.Minor", k8sServerVersion.Minor) return majorVersion, 0, err } return majorVersion, minorVersion, nil @@ -1469,7 +1469,7 @@ func (impl K8sUtil) GetPodListByLabel(namespace, label string, clientSet *kubern pods := clientSet.CoreV1().Pods(namespace) podList, err := pods.List(context.Background(), metav1.ListOptions{LabelSelector: label}) if err != nil { - impl.logger.Errorw("get pod err, DeletePod", "err", err) + impl.Logger.Errorw("get pod err, DeletePod", "err", err) return nil, err } return podList.Items, nil From 321afc8ac02f47ebc73775457411991aa6e10f53 Mon Sep 17 00:00:00 2001 From: ShashwatDadhich Date: Thu, 2 Nov 2023 11:31:10 +0530 Subject: [PATCH 2/5] struct updated --- utils/k8s/K8sUtil.go | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/utils/k8s/K8sUtil.go b/utils/k8s/K8sUtil.go index 5026ebe7..8882cf01 100644 --- a/utils/k8s/K8sUtil.go +++ b/utils/k8s/K8sUtil.go @@ -73,13 +73,21 @@ type K8sUtil struct { } type ClusterConfig struct { - ClusterName string - Host string - BearerToken string - InsecureSkipTLSVerify bool - KeyData string - CertData string - CAData string + ClusterName string + Host string + BearerToken string + InsecureSkipTLSVerify bool + KeyData string + CertData string + CAData string + ClusterId int + ProxyUrl string + ToConnectForClusterVerification bool + ToConnectWithSSHTunnel bool + SSHTunnelUser string + SSHTunnelPassword string + SSHTunnelAuthKey string + SSHTunnelServerAddress string } func NewK8sUtil(logger *zap.SugaredLogger, runTimeConfig *client.RuntimeConfig) *K8sUtil { From 37878c811d4495a94be97a4f2487a03f96683c41 Mon Sep 17 00:00:00 2001 From: ShashwatDadhich Date: Thu, 2 Nov 2023 17:07:05 +0530 Subject: [PATCH 3/5] interface added --- utils/k8s/K8sUtil.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/utils/k8s/K8sUtil.go b/utils/k8s/K8sUtil.go index a2f3a957..54a1dedd 100644 --- a/utils/k8s/K8sUtil.go +++ b/utils/k8s/K8sUtil.go @@ -72,6 +72,9 @@ type K8sUtil struct { kubeconfig *string } +type K8sUtilIf interface { +} + type ClusterConfig struct { ClusterName string Host string From 74728a36c209c2953bdca3b6ed47e74b2f7ffa1e Mon Sep 17 00:00:00 2001 From: ShashwatDadhich Date: Thu, 2 Nov 2023 17:26:58 +0530 Subject: [PATCH 4/5] interface methods added --- utils/k8s/K8sUtil.go | 45 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/utils/k8s/K8sUtil.go b/utils/k8s/K8sUtil.go index 54a1dedd..5a5b4a94 100644 --- a/utils/k8s/K8sUtil.go +++ b/utils/k8s/K8sUtil.go @@ -73,6 +73,51 @@ type K8sUtil struct { } type K8sUtilIf interface { + GetLogsForAPod(kubeClient *kubernetes.Clientset, namespace string, podName string, container string, follow bool) *restclient.Request + GetMetricsClientSet(restConfig *rest.Config, k8sHttpClient *http.Client) (*metrics.Clientset, error) + GetNmByName(ctx context.Context, metricsClientSet *metrics.Clientset, name string) (*v1beta1.NodeMetrics, error) + GetNmList(ctx context.Context, metricsClientSet *metrics.Clientset) (*v1beta1.NodeMetricsList, error) + GetPodsListForNamespace(ctx context.Context, k8sClientSet *kubernetes.Clientset, namespace string) (*v1.PodList, error) + GetServerVersionFromDiscoveryClient(k8sClientSet *kubernetes.Clientset) (*version.Info, error) + GetNodeByName(ctx context.Context, k8sClientSet *kubernetes.Clientset, name string) (*v1.Node, error) + GetNodesList(ctx context.Context, k8sClientSet *kubernetes.Clientset) (*v1.NodeList, error) + GetCoreV1ClientByRestConfig(restConfig *rest.Config) (*v12.CoreV1Client, error) + GetCoreV1ClientInCluster() (*v12.CoreV1Client, error) + GetKubeVersion() (*version.Info, error) + ValidateResource(resourceObj map[string]interface{}, gvk schema.GroupVersionKind, validateCallback func(namespace string, group string, kind string, resourceName string) bool) bool + BuildK8sObjectListTableData(manifest *unstructured.UnstructuredList, namespaced bool, gvk schema.GroupVersionKind, validateResourceAccess func(namespace string, group string, kind string, resourceName string) bool) (*ClusterResourceListMap, error) + GetPodByName(namespace string, name string, client *v12.CoreV1Client) (*v1.Pod, error) + GetK8sInClusterRestConfig() (*rest.Config, error) + GetResourceInfoByLabelSelector(ctx context.Context, namespace string, labelSelector string) (*v1.Pod, error) + GetClientByToken(serverUrl string, token map[string]string) (*v12.CoreV1Client, error) + ListNamespaces(client *v12.CoreV1Client) (*v1.NamespaceList, error) + DeleteAndCreateJob(content []byte, namespace string, clusterConfig *ClusterConfig) error + DeletePodByLabel(namespace string, labels string, clusterConfig *ClusterConfig) error + CreateJob(namespace string, name string, clusterConfig *ClusterConfig, job *batchV1.Job) error + GetLiveZCall(path string, k8sClientSet *kubernetes.Clientset) ([]byte, error) + DiscoveryClientGetLiveZCall(cluster *ClusterConfig) ([]byte, error) + GetK8sConfigAndClientsByRestConfig(restConfig *rest.Config) (*http.Client, *kubernetes.Clientset, error) + GetK8sConfigAndClients(clusterConfig *ClusterConfig) (*rest.Config, *http.Client, *kubernetes.Clientset, error) + GetK8sInClusterConfigAndDynamicClients() (*rest.Config, *http.Client, dynamic.Interface, error) + GetK8sInClusterConfigAndClients() (*rest.Config, *http.Client, *kubernetes.Clientset, error) + DeleteJob(namespace string, name string, clusterConfig *ClusterConfig) error + DeleteSecret(namespace string, name string, client *v12.CoreV1Client) error + UpdateSecret(namespace string, secret *v1.Secret, client *v12.CoreV1Client) (*v1.Secret, error) + CreateSecretData(namespace string, secret *v1.Secret, v1Client *v12.CoreV1Client) (*v1.Secret, error) + CreateSecret(namespace string, data map[string][]byte, secretName string, secretType v1.SecretType, client *v12.CoreV1Client, labels map[string]string, stringData map[string]string) (*v1.Secret, error) + GetSecret(namespace string, name string, client *v12.CoreV1Client) (*v1.Secret, error) + PatchConfigMapJsonType(namespace string, clusterConfig *ClusterConfig, name string, data interface{}, path string) (*v1.ConfigMap, error) + PatchConfigMap(namespace string, clusterConfig *ClusterConfig, name string, data map[string]interface{}) (*v1.ConfigMap, error) + UpdateConfigMap(namespace string, cm *v1.ConfigMap, client *v12.CoreV1Client) (*v1.ConfigMap, error) + CreateConfigMap(namespace string, cm *v1.ConfigMap, client *v12.CoreV1Client) (*v1.ConfigMap, error) + GetConfigMap(namespace string, name string, client *v12.CoreV1Client) (*v1.ConfigMap, error) + CheckIfNsExists(namespace string, client *v12.CoreV1Client) (exists bool, err error) + CreateNsIfNotExists(namespace string, clusterConfig *ClusterConfig) (err error) + GetK8sDiscoveryClientInCluster() (*discovery.DiscoveryClient, error) + GetK8sDiscoveryClient(clusterConfig *ClusterConfig) (*discovery.DiscoveryClient, error) + GetClientForInCluster() (*v12.CoreV1Client, error) + GetCoreV1Client(clusterConfig *ClusterConfig) (*v12.CoreV1Client, error) + GetRestConfigByCluster(clusterConfig *ClusterConfig) (*restclient.Config, error) } type ClusterConfig struct { From bcb54affe95070bb241a71f2bed2631ad1072c95 Mon Sep 17 00:00:00 2001 From: ShashwatDadhich Date: Mon, 6 Nov 2023 11:15:43 +0530 Subject: [PATCH 5/5] logger added --- utils/k8s/K8sUtil.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/k8s/K8sUtil.go b/utils/k8s/K8sUtil.go index 1daa3908..71c7a3fa 100644 --- a/utils/k8s/K8sUtil.go +++ b/utils/k8s/K8sUtil.go @@ -499,7 +499,7 @@ func (impl K8sUtil) GetK8sInClusterConfigAndDynamicClients() (*rest.Config, *htt func (impl K8sUtil) GetK8sDynamicClient(restConfig *rest.Config, k8sHttpClient *http.Client) (dynamic.Interface, error) { dynamicClientSet, err := dynamic.NewForConfigAndClient(restConfig, k8sHttpClient) if err != nil { - impl.logger.Errorw("error in getting client set by rest config for in cluster", "err", err) + impl.Logger.Errorw("error in getting client set by rest config for in cluster", "err", err) return nil, err } return dynamicClientSet, nil