mirror of https://github.com/k3s-io/k3s
Merge pull request #42754 from madhusudancs/fed-e2e-nodeport-random
Automatic merge from submit-queue (batch tested with PRs 42211, 38691, 42737, 42757, 42754) [Federation] Generate a random nodePort for each service object in e2e tests. We now run e2e tests in parallel in the CI environment and nodeports are a single available range of numbers for all the service objects, so they have to be unique for each service object. ```release-note NONE ```pull/6/head
commit
24d84fa3fb
|
@ -43,6 +43,7 @@ go_library(
|
|||
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||
"//vendor:k8s.io/apimachinery/pkg/util/intstr",
|
||||
"//vendor:k8s.io/apimachinery/pkg/util/net",
|
||||
"//vendor:k8s.io/apimachinery/pkg/util/rand",
|
||||
"//vendor:k8s.io/apimachinery/pkg/util/wait",
|
||||
"//vendor:k8s.io/client-go/rest",
|
||||
"//vendor:k8s.io/client-go/tools/clientcmd",
|
||||
|
|
|
@ -20,10 +20,10 @@ import (
|
|||
"fmt"
|
||||
"time"
|
||||
|
||||
"k8s.io/apimachinery/pkg/util/intstr"
|
||||
|
||||
"k8s.io/apimachinery/pkg/api/errors"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/util/intstr"
|
||||
"k8s.io/apimachinery/pkg/util/rand"
|
||||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
restclient "k8s.io/client-go/rest"
|
||||
"k8s.io/client-go/tools/clientcmd"
|
||||
|
@ -48,16 +48,17 @@ var (
|
|||
UserAgentName = "federation-e2e"
|
||||
// We use this to decide how long to wait for our DNS probes to succeed.
|
||||
DNSTTL = 180 * time.Second // TODO: make k8s.io/kubernetes/federation/pkg/federation-controller/service.minDnsTtl exported, and import it here.
|
||||
|
||||
// FederatedSvcNodePort is the node port on which the federated
|
||||
// service shards are exposed in the underlying cluster.
|
||||
FederatedSvcNodePort = int32(32256)
|
||||
)
|
||||
|
||||
const (
|
||||
federatedNamespaceTimeout = 5 * time.Minute
|
||||
federatedServiceTimeout = 5 * time.Minute
|
||||
federatedClustersWaitTimeout = 1 * time.Minute
|
||||
|
||||
// [30000, 32767] is the allowed default service nodeport range and our
|
||||
// tests just use the defaults.
|
||||
FederatedSvcNodePortFirst = 30000
|
||||
FederatedSvcNodePortLast = 32767
|
||||
)
|
||||
|
||||
var FederationSuite common.Suite
|
||||
|
@ -272,6 +273,12 @@ func createService(clientset *fedclientset.Clientset, namespace, name string) (*
|
|||
}
|
||||
By(fmt.Sprintf("Creating federated service %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
|
||||
// is not inclusive.
|
||||
nodePort := int32(rand.IntnRange(FederatedSvcNodePortFirst, FederatedSvcNodePortLast+1))
|
||||
|
||||
service := &v1.Service{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: name,
|
||||
|
@ -286,7 +293,7 @@ func createService(clientset *fedclientset.Clientset, namespace, name string) (*
|
|||
Protocol: v1.ProtocolTCP,
|
||||
Port: 80,
|
||||
TargetPort: intstr.FromInt(8080),
|
||||
NodePort: FederatedSvcNodePort,
|
||||
NodePort: nodePort,
|
||||
},
|
||||
},
|
||||
SessionAffinity: v1.ServiceAffinityNone,
|
||||
|
|
Loading…
Reference in New Issue