Adding test for cluster controller

This commit is contained in:
nikhiljindal 2016-06-13 15:19:57 -07:00
parent 9b2b763ab0
commit 5a20112ec4
2 changed files with 24 additions and 3 deletions

View File

@ -18,10 +18,13 @@ package e2e
import ( import (
"fmt" "fmt"
"time"
. "github.com/onsi/ginkgo" . "github.com/onsi/ginkgo"
federationapi "k8s.io/kubernetes/federation/apis/federation" federationapi "k8s.io/kubernetes/federation/apis/federation"
"k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/util/wait"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
) )
@ -54,16 +57,34 @@ var _ = framework.KubeDescribe("Federation apiserver [Feature:Federation]", func
}, },
}, },
} }
_, err := f.FederationClient.Clusters().Create(&cluster) _, err := f.FederationClientset.Federation().Clusters().Create(&cluster)
framework.ExpectNoError(err, fmt.Sprintf("creating cluster: %+v", err)) framework.ExpectNoError(err, fmt.Sprintf("creating cluster: %+v", err))
} }
for _, context := range contexts { for _, context := range contexts {
c, err := f.FederationClient.Clusters().Get(context.Name) c, err := f.FederationClientset.Federation().Clusters().Get(context.Name)
framework.ExpectNoError(err, fmt.Sprintf("get cluster: %+v", err)) framework.ExpectNoError(err, fmt.Sprintf("get cluster: %+v", err))
if c.ObjectMeta.Name != context.Name { if c.ObjectMeta.Name != context.Name {
framework.Failf("cluster name does not match input context: actual=%+v, expected=%+v", c, context) framework.Failf("cluster name does not match input context: actual=%+v, expected=%+v", c, context)
} }
err = isReady(context.Name, f.FederationClientset)
framework.ExpectNoError(err, fmt.Sprintf("unexpected error in verifying if cluster %s is ready: %+v", context.Name, err))
} }
}) })
}) })
// Verify that the cluster is marked ready.
func isReady(clusterName string, clientset *federation_internalclientset.Clientset) error {
return wait.PollImmediate(time.Second, wait.ForeverTestTimeout, func() (bool, error) {
c, err := clientset.Federation().Clusters().Get(clusterName)
if err != nil {
return false, err
}
for _, condition := range c.Status.Conditions {
if condition.Type == federationapi.ClusterReady && condition.Status == api.ConditionTrue {
return true, nil
}
}
return false, nil
})
}

View File

@ -586,7 +586,7 @@ func (f *Framework) GetUnderlyingFederatedContexts() []E2EContext {
e2eContexts := []E2EContext{} e2eContexts := []E2EContext{}
for _, context := range kubeconfig.Contexts { for _, context := range kubeconfig.Contexts {
if strings.HasPrefix(context.Name, "federation") { if strings.HasPrefix(context.Name, "federation") && context.Name != "federation-cluster" {
user := kubeconfig.findUser(context.Context.User) user := kubeconfig.findUser(context.Context.User)
if user == nil { if user == nil {