mirror of https://github.com/k3s-io/k3s
Merge pull request #26953 from madhusudancs/fed-e2e-framework-clientset
Automatic merge from submit-queue Add clientset support for federation e2e tests. Only the last commit here needs review. Depends on #26952. cc @colhom @kubernetes/sig-cluster-federation [![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()pull/6/head
commit
6489abe8b4
|
@ -25,6 +25,7 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset"
|
||||||
unversionedfederation "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned"
|
unversionedfederation "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
apierrs "k8s.io/kubernetes/pkg/api/errors"
|
apierrs "k8s.io/kubernetes/pkg/api/errors"
|
||||||
|
@ -56,6 +57,8 @@ type Framework struct {
|
||||||
Clientset_1_2 *release_1_2.Clientset
|
Clientset_1_2 *release_1_2.Clientset
|
||||||
Clientset_1_3 *release_1_3.Clientset
|
Clientset_1_3 *release_1_3.Clientset
|
||||||
|
|
||||||
|
FederationClientset *federation_internalclientset.Clientset
|
||||||
|
// TODO: remove FederationClient, all the client access must be through FederationClientset
|
||||||
FederationClient *unversionedfederation.FederationClient
|
FederationClient *unversionedfederation.FederationClient
|
||||||
|
|
||||||
Namespace *api.Namespace // Every test has at least one namespace
|
Namespace *api.Namespace // Every test has at least one namespace
|
||||||
|
@ -152,11 +155,19 @@ func (f *Framework) BeforeEach() {
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
}
|
}
|
||||||
|
|
||||||
if f.federated && f.FederationClient == nil {
|
if f.federated {
|
||||||
By("Creating a federated kubernetes client")
|
if f.FederationClient == nil {
|
||||||
var err error
|
By("Creating a federated kubernetes client")
|
||||||
f.FederationClient, err = LoadFederationClient()
|
var err error
|
||||||
Expect(err).NotTo(HaveOccurred())
|
f.FederationClient, err = LoadFederationClient()
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
}
|
||||||
|
if f.FederationClientset == nil {
|
||||||
|
By("Creating a federation Clientset")
|
||||||
|
var err error
|
||||||
|
f.FederationClientset, err = LoadFederationClientset()
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
By("Building a namespace api object")
|
By("Building a namespace api object")
|
||||||
|
@ -235,7 +246,11 @@ func (f *Framework) AfterEach() {
|
||||||
if f.federated {
|
if f.federated {
|
||||||
defer func() {
|
defer func() {
|
||||||
if f.FederationClient == nil {
|
if f.FederationClient == nil {
|
||||||
Logf("Warning: framework is marked federated, but has no FederationClient")
|
Logf("Warning: framework is marked federated, but has no federation client")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if f.FederationClientset == nil {
|
||||||
|
Logf("Warning: framework is marked federated, but has no federation clientset")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err := f.FederationClient.Clusters().DeleteCollection(nil, api.ListOptions{}); err != nil {
|
if err := f.FederationClient.Clusters().DeleteCollection(nil, api.ListOptions{}); err != nil {
|
||||||
|
|
|
@ -37,6 +37,7 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset"
|
||||||
unversionedfederation "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned"
|
unversionedfederation "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
apierrs "k8s.io/kubernetes/pkg/api/errors"
|
apierrs "k8s.io/kubernetes/pkg/api/errors"
|
||||||
|
@ -1632,6 +1633,32 @@ func loadClientFromConfig(config *restclient.Config) (*client.Client, error) {
|
||||||
return c, nil
|
return c, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func loadFederationClientsetFromConfig(config *restclient.Config) (*federation_internalclientset.Clientset, error) {
|
||||||
|
c, err := federation_internalclientset.NewForConfig(config)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("error creating federation clientset: %v", err.Error())
|
||||||
|
}
|
||||||
|
// Set timeout for each client in the set.
|
||||||
|
if c.DiscoveryClient.Client.Timeout == 0 {
|
||||||
|
c.DiscoveryClient.Client.Timeout = SingleCallTimeout
|
||||||
|
}
|
||||||
|
if c.FederationClient.Client.Timeout == 0 {
|
||||||
|
c.FederationClient.Client.Timeout = SingleCallTimeout
|
||||||
|
}
|
||||||
|
if c.CoreClient.Client.Timeout == 0 {
|
||||||
|
c.CoreClient.Client.Timeout = SingleCallTimeout
|
||||||
|
}
|
||||||
|
return c, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func LoadFederationClientset() (*federation_internalclientset.Clientset, error) {
|
||||||
|
config, err := LoadFederatedConfig()
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("error creating federated client config: %v", err.Error())
|
||||||
|
}
|
||||||
|
return loadFederationClientsetFromConfig(config)
|
||||||
|
}
|
||||||
|
|
||||||
func loadFederationClientFromConfig(config *restclient.Config) (*unversionedfederation.FederationClient, error) {
|
func loadFederationClientFromConfig(config *restclient.Config) (*unversionedfederation.FederationClient, error) {
|
||||||
c, err := unversionedfederation.NewForConfig(config)
|
c, err := unversionedfederation.NewForConfig(config)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in New Issue