mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 01:06:27 +00:00
fed: Refactor integ test fixture to support cluster addition by test
This commit is contained in:
parent
e401dc7498
commit
ea61af57dd
@ -23,6 +23,7 @@ import (
|
|||||||
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1"
|
federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1"
|
||||||
|
federationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset"
|
||||||
clustercontroller "k8s.io/kubernetes/federation/pkg/federation-controller/cluster"
|
clustercontroller "k8s.io/kubernetes/federation/pkg/federation-controller/cluster"
|
||||||
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
|
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
|
||||||
"k8s.io/kubernetes/pkg/master"
|
"k8s.io/kubernetes/pkg/master"
|
||||||
@ -43,6 +44,7 @@ type FederationFixture struct {
|
|||||||
Clusters []*MemberCluster
|
Clusters []*MemberCluster
|
||||||
ClusterClients []clientset.Interface
|
ClusterClients []clientset.Interface
|
||||||
ClusterController *clustercontroller.ClusterController
|
ClusterController *clustercontroller.ClusterController
|
||||||
|
fedClient federationclientset.Interface
|
||||||
stopChan chan struct{}
|
stopChan chan struct{}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,46 +66,46 @@ func (f *FederationFixture) SetUp(t *testing.T) {
|
|||||||
monitorPeriod := 1 * time.Second
|
monitorPeriod := 1 * time.Second
|
||||||
clustercontroller.StartClusterController(f.APIFixture.NewConfig(), f.stopChan, monitorPeriod)
|
clustercontroller.StartClusterController(f.APIFixture.NewConfig(), f.stopChan, monitorPeriod)
|
||||||
|
|
||||||
f.startClusters()
|
f.fedClient = f.APIFixture.NewClient("federation-fixture")
|
||||||
|
for i := 0; i < f.DesiredClusterCount; i++ {
|
||||||
|
f.StartCluster(t)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *FederationFixture) startClusters() {
|
func (f *FederationFixture) StartCluster(t *testing.T) {
|
||||||
fedClient := f.APIFixture.NewClient("federation-fixture")
|
config := framework.NewMasterConfig()
|
||||||
for i := 0; i < f.DesiredClusterCount; i++ {
|
_, _, closeFn := framework.RunAMaster(config)
|
||||||
config := framework.NewMasterConfig()
|
host := config.GenericConfig.LoopbackClientConfig.Host
|
||||||
_, _, closeFn := framework.RunAMaster(config)
|
|
||||||
host := config.GenericConfig.LoopbackClientConfig.Host
|
|
||||||
|
|
||||||
// Use fmt to ensure the output will be visible when run with go test -v
|
clusterClient := clientset.NewForConfigOrDie(config.GenericConfig.LoopbackClientConfig)
|
||||||
fmt.Printf("Federated cluster %d serving on %s", i, host)
|
f.ClusterClients = append(f.ClusterClients, clusterClient)
|
||||||
|
f.Clusters = append(f.Clusters, &MemberCluster{
|
||||||
|
CloseFn: closeFn,
|
||||||
|
Config: config,
|
||||||
|
Client: clusterClient,
|
||||||
|
Host: host,
|
||||||
|
})
|
||||||
|
|
||||||
clusterClient := clientset.NewForConfigOrDie(config.GenericConfig.LoopbackClientConfig)
|
clusterId := len(f.ClusterClients)
|
||||||
f.Clusters = append(f.Clusters, &MemberCluster{
|
|
||||||
CloseFn: closeFn,
|
|
||||||
Config: config,
|
|
||||||
Client: clusterClient,
|
|
||||||
Host: host,
|
|
||||||
})
|
|
||||||
|
|
||||||
f.ClusterClients = append(f.ClusterClients, clusterClient)
|
t.Logf("Federated cluster %d serving on %s", clusterId, host)
|
||||||
|
|
||||||
cluster := &federationapi.Cluster{
|
cluster := &federationapi.Cluster{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Name: fmt.Sprintf("cluster-%d", i),
|
Name: fmt.Sprintf("cluster-%d", clusterId),
|
||||||
},
|
},
|
||||||
Spec: federationapi.ClusterSpec{
|
Spec: federationapi.ClusterSpec{
|
||||||
ServerAddressByClientCIDRs: []federationapi.ServerAddressByClientCIDR{
|
ServerAddressByClientCIDRs: []federationapi.ServerAddressByClientCIDR{
|
||||||
{
|
{
|
||||||
ClientCIDR: "0.0.0.0/0",
|
ClientCIDR: "0.0.0.0/0",
|
||||||
ServerAddress: host,
|
ServerAddress: host,
|
||||||
},
|
|
||||||
},
|
},
|
||||||
// Use insecure access
|
|
||||||
SecretRef: nil,
|
|
||||||
},
|
},
|
||||||
}
|
// Use insecure access
|
||||||
fedClient.FederationV1beta1().Clusters().Create(cluster)
|
SecretRef: nil,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
f.fedClient.FederationV1beta1().Clusters().Create(cluster)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *FederationFixture) TearDown(t *testing.T) {
|
func (f *FederationFixture) TearDown(t *testing.T) {
|
||||||
|
Loading…
Reference in New Issue
Block a user