Commit ea61af57 authored by Maru Newby's avatar Maru Newby

fed: Refactor integ test fixture to support cluster addition by test

parent e401dc74
...@@ -23,6 +23,7 @@ import ( ...@@ -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 { ...@@ -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) { ...@@ -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 clusterClient := clientset.NewForConfigOrDie(config.GenericConfig.LoopbackClientConfig)
f.ClusterClients = append(f.ClusterClients, clusterClient)
// Use fmt to ensure the output will be visible when run with go test -v f.Clusters = append(f.Clusters, &MemberCluster{
fmt.Printf("Federated cluster %d serving on %s", i, host) CloseFn: closeFn,
Config: config,
clusterClient := clientset.NewForConfigOrDie(config.GenericConfig.LoopbackClientConfig) Client: clusterClient,
f.Clusters = append(f.Clusters, &MemberCluster{ Host: host,
CloseFn: closeFn, })
Config: config,
Client: clusterClient, clusterId := len(f.ClusterClients)
Host: host,
}) t.Logf("Federated cluster %d serving on %s", clusterId, host)
f.ClusterClients = append(f.ClusterClients, clusterClient) cluster := &federationapi.Cluster{
ObjectMeta: metav1.ObjectMeta{
cluster := &federationapi.Cluster{ Name: fmt.Sprintf("cluster-%d", clusterId),
ObjectMeta: metav1.ObjectMeta{ },
Name: fmt.Sprintf("cluster-%d", i), Spec: federationapi.ClusterSpec{
}, ServerAddressByClientCIDRs: []federationapi.ServerAddressByClientCIDR{
Spec: federationapi.ClusterSpec{ {
ServerAddressByClientCIDRs: []federationapi.ServerAddressByClientCIDR{ ClientCIDR: "0.0.0.0/0",
{ ServerAddress: host,
ClientCIDR: "0.0.0.0/0",
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) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment