diff --git a/cluster/lib.go b/cluster/lib.go index 2bed02432..ea59b5f4b 100644 --- a/cluster/lib.go +++ b/cluster/lib.go @@ -28,6 +28,7 @@ import ( cu "kmodules.xyz/client-go/client" core "k8s.io/api/core/v1" + kerr "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" @@ -48,12 +49,13 @@ func ClusterUID(c client.Reader) (string, error) { func ClusterMetadata(c client.Reader) (*kmapi.ClusterMetadata, error) { var cm core.ConfigMap err := c.Get(context.TODO(), client.ObjectKey{Name: kmapi.AceInfoConfigMapName, Namespace: metav1.NamespacePublic}, &cm) - if err != nil { - return nil, err - } - result, err := ClusterMetadataForConfigMap(&cm) if err == nil { - return result, nil + result, err := ClusterMetadataForConfigMap(&cm) + if err == nil { + return result, nil + } + } else if !kerr.IsNotFound(err) { + return nil, err } var ns core.Namespace diff --git a/tools/clusterid/lib.go b/tools/clusterid/lib.go index 6c0dfe50d..5d0e58174 100644 --- a/tools/clusterid/lib.go +++ b/tools/clusterid/lib.go @@ -22,6 +22,7 @@ import ( kmapi "kmodules.xyz/client-go/api/v1" clustermeta "kmodules.xyz/client-go/cluster" + kerr "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" corev1 "k8s.io/client-go/kubernetes/typed/core/v1" @@ -37,12 +38,13 @@ func ClusterUID(client corev1.NamespaceInterface) (string, error) { func ClusterMetadata(client kubernetes.Interface) (*kmapi.ClusterMetadata, error) { cm, err := client.CoreV1().ConfigMaps(metav1.NamespacePublic).Get(context.TODO(), kmapi.AceInfoConfigMapName, metav1.GetOptions{}) - if err != nil { - return nil, err - } - result, err := clustermeta.ClusterMetadataForConfigMap(cm) if err == nil { - return result, nil + result, err := clustermeta.ClusterMetadataForConfigMap(cm) + if err == nil { + return result, nil + } + } else if !kerr.IsNotFound(err) { + return nil, err } ns, err := client.CoreV1().Namespaces().Get(context.TODO(), metav1.NamespaceSystem, metav1.GetOptions{})