mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-30 15:05:27 +00:00
Compare v1.Service to v1.Service.
This commit is contained in:
parent
9a8aabe7cc
commit
4f388d8aad
@ -22,7 +22,7 @@ import (
|
||||
"time"
|
||||
|
||||
"k8s.io/kubernetes/federation/apis/federation"
|
||||
"k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset"
|
||||
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_3"
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/v1"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_3"
|
||||
@ -145,7 +145,7 @@ var _ = framework.KubeDescribe("Service [Feature:Federation]", func() {
|
||||
It("should be able to discover a federated service", func() {
|
||||
framework.SkipUnlessFederated(f.Client)
|
||||
|
||||
createService(f.FederationClientset, clusterClientSets, f.Namespace.Name)
|
||||
createService(f.FederationClientset_1_3, clusterClientSets, f.Namespace.Name)
|
||||
|
||||
svcDNSNames := []string{
|
||||
FederatedServiceName,
|
||||
@ -162,7 +162,7 @@ var _ = framework.KubeDescribe("Service [Feature:Federation]", func() {
|
||||
It("should be able to discover a non-local federated service", func() {
|
||||
framework.SkipUnlessFederated(f.Client)
|
||||
|
||||
createService(f.FederationClientset, clusterClientSets, f.Namespace.Name)
|
||||
createService(f.FederationClientset_1_3, clusterClientSets, f.Namespace.Name)
|
||||
|
||||
// Delete a federated service shard in the default e2e Kubernetes cluster.
|
||||
err := f.Clientset_1_3.Core().Services(f.Namespace.Name).Delete(FederatedServiceName, &api.DeleteOptions{})
|
||||
@ -192,7 +192,7 @@ var _ = framework.KubeDescribe("Service [Feature:Federation]", func() {
|
||||
// service reaches the expected value, i.e. numSvcs in the given individual Kubernetes
|
||||
// cluster. If the shard count, i.e. numSvcs is expected to be at least one, then
|
||||
// it also checks if the first shard's name and spec matches that of the given service.
|
||||
func waitForFederatedServiceShard(cs *release_1_3.Clientset, namespace string, service *api.Service, numSvcs int) {
|
||||
func waitForFederatedServiceShard(cs *release_1_3.Clientset, namespace string, service *v1.Service, numSvcs int) {
|
||||
By("Fetching a federated service shard")
|
||||
var clSvcList *v1.ServiceList
|
||||
if err := wait.PollImmediate(framework.Poll, FederatedServiceTimeout, func() (bool, error) {
|
||||
@ -219,7 +219,7 @@ func waitForFederatedServiceShard(cs *release_1_3.Clientset, namespace string, s
|
||||
}
|
||||
}
|
||||
|
||||
func createService(fcs *federation_internalclientset.Clientset, clusterClientSets []*release_1_3.Clientset, namespace string) {
|
||||
func createService(fcs *federation_release_1_3.Clientset, clusterClientSets []*release_1_3.Clientset, namespace string) {
|
||||
By("Creating a federated service")
|
||||
labels := map[string]string{
|
||||
"foo": "bar",
|
||||
@ -228,13 +228,13 @@ func createService(fcs *federation_internalclientset.Clientset, clusterClientSet
|
||||
svc1port := "svc1"
|
||||
svc2port := "svc2"
|
||||
|
||||
service := &api.Service{
|
||||
ObjectMeta: api.ObjectMeta{
|
||||
service := &v1.Service{
|
||||
ObjectMeta: v1.ObjectMeta{
|
||||
Name: FederatedServiceName,
|
||||
},
|
||||
Spec: api.ServiceSpec{
|
||||
Spec: v1.ServiceSpec{
|
||||
Selector: labels,
|
||||
Ports: []api.ServicePort{
|
||||
Ports: []v1.ServicePort{
|
||||
{
|
||||
Name: "portname1",
|
||||
Port: 80,
|
||||
@ -248,10 +248,11 @@ func createService(fcs *federation_internalclientset.Clientset, clusterClientSet
|
||||
},
|
||||
},
|
||||
}
|
||||
_, err := fcs.Core().Services(namespace).Create(service)
|
||||
nservice, err := fcs.Core().Services(namespace).Create(service)
|
||||
framework.Logf("Trying to create service %q in namespace %q", service.ObjectMeta.Name, service.ObjectMeta.Namespace)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
for _, cs := range clusterClientSets {
|
||||
waitForFederatedServiceShard(cs, namespace, service, 1)
|
||||
waitForFederatedServiceShard(cs, namespace, nservice, 1)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -27,6 +27,7 @@ import (
|
||||
|
||||
"k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset"
|
||||
unversionedfederation "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned"
|
||||
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_3"
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
apierrs "k8s.io/kubernetes/pkg/api/errors"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_2"
|
||||
@ -57,7 +58,9 @@ type Framework struct {
|
||||
Clientset_1_2 *release_1_2.Clientset
|
||||
Clientset_1_3 *release_1_3.Clientset
|
||||
|
||||
FederationClientset *federation_internalclientset.Clientset
|
||||
// TODO(mml): Remove this. We should generally use the versioned clientset.
|
||||
FederationClientset *federation_internalclientset.Clientset
|
||||
FederationClientset_1_3 *federation_release_1_3.Clientset
|
||||
// TODO: remove FederationClient, all the client access must be through FederationClientset
|
||||
FederationClient *unversionedfederation.FederationClient
|
||||
|
||||
@ -163,11 +166,17 @@ func (f *Framework) BeforeEach() {
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
}
|
||||
if f.FederationClientset == nil {
|
||||
By("Creating a federation Clientset")
|
||||
By("Creating an unversioned federation Clientset")
|
||||
var err error
|
||||
f.FederationClientset, err = LoadFederationClientset()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
}
|
||||
if f.FederationClientset_1_3 == nil {
|
||||
By("Creating a release 1.3 federation Clientset")
|
||||
var err error
|
||||
f.FederationClientset_1_3, err = LoadFederationClientset_1_3()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
}
|
||||
}
|
||||
|
||||
By("Building a namespace api object")
|
||||
|
@ -40,6 +40,7 @@ import (
|
||||
|
||||
"k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset"
|
||||
unversionedfederation "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned"
|
||||
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_3"
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
apierrs "k8s.io/kubernetes/pkg/api/errors"
|
||||
"k8s.io/kubernetes/pkg/api/resource"
|
||||
@ -1641,14 +1642,17 @@ func LoadConfig() (*restclient.Config, error) {
|
||||
func LoadFederatedConfig() (*restclient.Config, error) {
|
||||
c, err := restclientConfig(federatedKubeContext)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, fmt.Errorf("error creating federation client config: %v", err.Error())
|
||||
}
|
||||
cfg, err := clientcmd.NewDefaultClientConfig(*c, &clientcmd.ConfigOverrides{}).ClientConfig()
|
||||
if cfg != nil {
|
||||
//TODO(colhom): this is only here because https://github.com/kubernetes/kubernetes/issues/25422
|
||||
cfg.NegotiatedSerializer = api.Codecs
|
||||
}
|
||||
return cfg, err
|
||||
if err != nil {
|
||||
return cfg, fmt.Errorf("error creating federation client config: %v", err.Error())
|
||||
}
|
||||
return cfg, nil
|
||||
}
|
||||
|
||||
func loadClientFromConfig(config *restclient.Config) (*client.Client, error) {
|
||||
@ -1662,30 +1666,42 @@ func loadClientFromConfig(config *restclient.Config) (*client.Client, error) {
|
||||
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())
|
||||
func setTimeouts(cs ...*http.Client) {
|
||||
for _, client := range cs {
|
||||
if client.Timeout == 0 {
|
||||
client.Timeout = SingleCallTimeout
|
||||
}
|
||||
}
|
||||
// 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 nil, err
|
||||
}
|
||||
return loadFederationClientsetFromConfig(config)
|
||||
|
||||
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.
|
||||
setTimeouts(c.DiscoveryClient.Client, c.FederationClient.Client, c.CoreClient.Client)
|
||||
return c, nil
|
||||
}
|
||||
|
||||
func LoadFederationClientset_1_3() (*federation_release_1_3.Clientset, error) {
|
||||
config, err := LoadFederatedConfig()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
c, err := federation_release_1_3.NewForConfig(config)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error creating federation clientset: %v", err.Error())
|
||||
}
|
||||
// Set timeout for each client in the set.
|
||||
setTimeouts(c.DiscoveryClient.Client, c.FederationClient.Client, c.CoreClient.Client)
|
||||
return c, nil
|
||||
}
|
||||
|
||||
func loadFederationClientFromConfig(config *restclient.Config) (*unversionedfederation.FederationClient, error) {
|
||||
@ -1702,7 +1718,7 @@ func loadFederationClientFromConfig(config *restclient.Config) (*unversionedfede
|
||||
func LoadFederationClient() (*unversionedfederation.FederationClient, error) {
|
||||
config, err := LoadFederatedConfig()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error creating client: %v", err.Error())
|
||||
return nil, err
|
||||
}
|
||||
return loadFederationClientFromConfig(config)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user