Use the kube-system UID to identify if the member cluster already exists

This commit is contained in:
Xinzhao Xu
2022-01-27 11:27:41 +08:00
parent 794129d056
commit d3ed81059f
4 changed files with 55 additions and 93 deletions

View File

@@ -21,8 +21,6 @@ import (
"context"
"encoding/json"
"fmt"
"net/http"
"net/http/httptest"
"net/url"
"testing"
@@ -32,6 +30,7 @@ import (
"k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/cli-runtime/pkg/printers"
"k8s.io/client-go/kubernetes"
k8s "k8s.io/client-go/kubernetes"
k8sfake "k8s.io/client-go/kubernetes/fake"
"k8s.io/client-go/tools/clientcmd"
@@ -42,7 +41,6 @@ import (
"kubesphere.io/kubesphere/pkg/client/clientset/versioned/fake"
"kubesphere.io/kubesphere/pkg/informers"
"kubesphere.io/kubesphere/pkg/utils/k8sutil"
"kubesphere.io/kubesphere/pkg/version"
)
const (
@@ -372,32 +370,15 @@ func TestValidateKubeConfig(t *testing.T) {
_ = env.Stop()
}()
err = h.validateKubeConfig([]byte(base64EncodedKubeConfig))
if err != nil {
t.Fatal(err)
}
}
var ver = version.Get()
func endpoint(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
_ = json.NewEncoder(w).Encode(ver)
}
func TestValidateKubeSphereEndpoint(t *testing.T) {
svr := httptest.NewServer(http.HandlerFunc(endpoint))
defer svr.Close()
got, err := validateKubeSphereAPIServer(svr.URL, nil)
clientSet, err := kubernetes.NewForConfig(config)
if err != nil {
t.Fatal(err)
}
if diff := cmp.Diff(&ver, got); len(diff) != 0 {
t.Errorf("%T +got, -expected %v", ver, diff)
err = h.validateKubeConfig("test", clientSet)
if err != nil {
t.Fatal(err)
}
}
func TestValidateMemberClusterConfiguration(t *testing.T) {
@@ -448,15 +429,20 @@ func TestValidateMemberClusterConfiguration(t *testing.T) {
_ = env.Stop()
}()
clientSet, err := kubernetes.NewForConfig(config)
if err != nil {
t.Fatal(err)
}
addMemberClusterResource(hostCm, t)
err = h.validateMemberClusterConfiguration([]byte(base64EncodedKubeConfig))
err = h.validateMemberClusterConfiguration(clientSet)
if err != nil {
t.Fatal(err)
}
addMemberClusterResource(memberCm, t)
err = h.validateMemberClusterConfiguration([]byte(base64EncodedKubeConfig))
err = h.validateMemberClusterConfiguration(clientSet)
if err == nil {
t.Fatal()
}