mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 03:11:40 +00:00
use uncommon ports for e2e network test
since we added tests to check connectivity against pods with hostNetwork: true, there is the possibility that those pods fail to run because the port is being used in the host. Current test were using port 8080,8081 and 8082 that are commonly used in hosts for other applications. If the service is not ready after a certain time, and we are using Pods with hostNetwork: true we assume that there is a conflict and skip this test.
This commit is contained in:
parent
12d9183da0
commit
be1ed2f43a
@ -699,6 +699,13 @@ func (config *NetworkingTestConfig) CreateService(serviceSpec *v1.Service) *v1.S
|
||||
framework.ExpectNoError(err, fmt.Sprintf("Failed to create %s service: %v", serviceSpec.Name, err))
|
||||
|
||||
err = WaitForService(config.f.ClientSet, config.Namespace, serviceSpec.Name, true, 5*time.Second, 45*time.Second)
|
||||
// If the endpoints of the service use HostNetwork: true, they are going to try to bind on the host namespace
|
||||
// if those ports are in use by any process in the host, the endpoints pods will fail to be deployed
|
||||
// and the service will never be ready. We can be smarter and check directly that the ports are free
|
||||
// but by now we Skip the test if the service is not ready and we are using endpoints with host network
|
||||
if config.EndpointsHostNetwork && err != nil {
|
||||
e2eskipper.Skipf("Service not ready. Pods are using hostNetwork: true, please check there is no other process on the host using the same ports: %v", err)
|
||||
}
|
||||
framework.ExpectNoError(err, fmt.Sprintf("error while waiting for service:%s err: %v", serviceSpec.Name, err))
|
||||
|
||||
createdService, err := config.getServiceClient().Get(context.TODO(), serviceSpec.Name, metav1.GetOptions{})
|
||||
|
Loading…
Reference in New Issue
Block a user