mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-01 07:47:56 +00:00
create loadbalancer service in tests only if test depends on it
This commit is contained in:
parent
b9e8d2aee6
commit
a453131f95
@ -163,7 +163,7 @@ var _ = framework.KubeDescribe("Federated ingresses [Feature:Federation]", func(
|
||||
clusters = f.GetRegisteredClusters()
|
||||
ns = f.FederationNamespace.Name
|
||||
// create backend service
|
||||
service = createServiceOrFail(f.FederationClientset, ns, FederatedIngressServiceName)
|
||||
service = createLBServiceOrFail(f.FederationClientset, ns, FederatedIngressServiceName)
|
||||
// create the TLS secret
|
||||
secret = createTLSSecretOrFail(f.FederationClientset, ns, FederatedIngressTLSSecretName)
|
||||
// wait for services objects sync
|
||||
|
@ -183,7 +183,7 @@ var _ = framework.KubeDescribe("Federated Services [Feature:Federation]", func()
|
||||
|
||||
backendPods = createBackendPodsOrFail(clusters, nsName, FederatedServicePodName)
|
||||
|
||||
service = createServiceOrFail(f.FederationClientset, nsName, FederatedServiceName)
|
||||
service = createLBServiceOrFail(f.FederationClientset, nsName, FederatedServiceName)
|
||||
obj, err := api.Scheme.DeepCopy(service)
|
||||
// Cloning shouldn't fail. On the off-chance it does, we
|
||||
// should shallow copy service to serviceShard before
|
||||
|
@ -120,6 +120,36 @@ func createService(clientset *fedclientset.Clientset, namespace, name string) (*
|
||||
}
|
||||
By(fmt.Sprintf("Creating federated service %q in namespace %q", name, namespace))
|
||||
|
||||
service := &v1.Service{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: name,
|
||||
Namespace: namespace,
|
||||
},
|
||||
Spec: v1.ServiceSpec{
|
||||
Selector: FederatedServiceLabels,
|
||||
Type: v1.ServiceTypeClusterIP,
|
||||
Ports: []v1.ServicePort{
|
||||
{
|
||||
Name: "http",
|
||||
Protocol: v1.ProtocolTCP,
|
||||
Port: 80,
|
||||
TargetPort: intstr.FromInt(8080),
|
||||
},
|
||||
},
|
||||
SessionAffinity: v1.ServiceAffinityNone,
|
||||
},
|
||||
}
|
||||
|
||||
By(fmt.Sprintf("Trying to create service %q in namespace %q", service.Name, namespace))
|
||||
return clientset.Services(namespace).Create(service)
|
||||
}
|
||||
|
||||
func createLBService(clientset *fedclientset.Clientset, namespace, name string) (*v1.Service, error) {
|
||||
if clientset == nil || len(namespace) == 0 {
|
||||
return nil, fmt.Errorf("Internal error: invalid parameters passed to createService: clientset: %v, namespace: %v", clientset, namespace)
|
||||
}
|
||||
By(fmt.Sprintf("Creating federated service (type: load balancer) %q in namespace %q", name, namespace))
|
||||
|
||||
// Tests can be run in parallel, so we need a different nodePort for
|
||||
// each test.
|
||||
// We add 1 to FederatedSvcNodePortLast because IntnRange's range end
|
||||
@ -133,7 +163,7 @@ func createService(clientset *fedclientset.Clientset, namespace, name string) (*
|
||||
},
|
||||
Spec: v1.ServiceSpec{
|
||||
Selector: FederatedServiceLabels,
|
||||
Type: "LoadBalancer",
|
||||
Type: v1.ServiceTypeLoadBalancer,
|
||||
Ports: []v1.ServicePort{
|
||||
{
|
||||
Name: "http",
|
||||
@ -146,6 +176,7 @@ func createService(clientset *fedclientset.Clientset, namespace, name string) (*
|
||||
SessionAffinity: v1.ServiceAffinityNone,
|
||||
},
|
||||
}
|
||||
|
||||
By(fmt.Sprintf("Trying to create service %q in namespace %q", service.Name, namespace))
|
||||
return clientset.Services(namespace).Create(service)
|
||||
}
|
||||
@ -157,6 +188,13 @@ func createServiceOrFail(clientset *fedclientset.Clientset, namespace, name stri
|
||||
return service
|
||||
}
|
||||
|
||||
func createLBServiceOrFail(clientset *fedclientset.Clientset, namespace, name string) *v1.Service {
|
||||
service, err := createLBService(clientset, namespace, name)
|
||||
framework.ExpectNoError(err, "Creating service %q in namespace %q", service.Name, namespace)
|
||||
By(fmt.Sprintf("Successfully created federated service (type: load balancer) %q in namespace %q", name, namespace))
|
||||
return service
|
||||
}
|
||||
|
||||
func deleteServiceOrFail(clientset *fedclientset.Clientset, namespace string, serviceName string, orphanDependents *bool) {
|
||||
if clientset == nil || len(namespace) == 0 || len(serviceName) == 0 {
|
||||
Fail(fmt.Sprintf("Internal error: invalid parameters passed to deleteServiceOrFail: clientset: %v, namespace: %v, service: %v", clientset, namespace, serviceName))
|
||||
@ -209,9 +247,11 @@ func cleanupServiceShardsAndProviderResources(namespace string, service *v1.Serv
|
||||
if err != nil {
|
||||
framework.Logf("Failed to delete service %q in namespace %q, in cluster %q: %v", service.Name, namespace, name, err)
|
||||
}
|
||||
err = cleanupServiceShardLoadBalancer(name, cSvc, fedframework.FederatedDefaultTestTimeout)
|
||||
if err != nil {
|
||||
framework.Logf("Failed to delete cloud provider resources for service %q in namespace %q, in cluster %q", service.Name, namespace, name)
|
||||
if service.Spec.Type == v1.ServiceTypeLoadBalancer {
|
||||
err = cleanupServiceShardLoadBalancer(name, cSvc, fedframework.FederatedDefaultTestTimeout)
|
||||
if err != nil {
|
||||
framework.Logf("Failed to delete cloud provider resources for service %q in namespace %q, in cluster %q, err: %v", service.Name, namespace, name, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user