mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-01 07:47:56 +00:00
e2e services: avoid panic on service creation retry
The test was reusing the same variable for the service on each iteration, the problem is that when the service creation fails, it clears out the variable and in the next iteration it panics because is trying to use a field on that same variable.
This commit is contained in:
parent
36d316ebc5
commit
17030f19b6
@ -1680,16 +1680,17 @@ var _ = common.SIGDescribe("Services", func() {
|
||||
}
|
||||
}()
|
||||
|
||||
service := t.BuildServiceSpec()
|
||||
service.Spec.Type = v1.ServiceTypeNodePort
|
||||
var service *v1.Service
|
||||
baseService := t.BuildServiceSpec()
|
||||
baseService.Spec.Type = v1.ServiceTypeNodePort
|
||||
numberOfRetries := 5
|
||||
ginkgo.By("creating service " + serviceName + " with type NodePort in namespace " + ns)
|
||||
var err error
|
||||
for i := 0; i < numberOfRetries; i++ {
|
||||
port, err := e2eservice.GetUnusedStaticNodePort()
|
||||
framework.ExpectNoError(err, "Static node port allocator was not able to find a free nodeport.")
|
||||
service.Spec.Ports[0].NodePort = port
|
||||
service, err = t.CreateService(service)
|
||||
baseService.Spec.Ports[0].NodePort = port
|
||||
service, err = t.CreateService(baseService)
|
||||
// We will later delete this service and then recreate it with same nodeport. We need to ensure that
|
||||
// another e2e test doesn't start listening on our old nodeport and conflicts re-creation of service
|
||||
// hence we use ReserveStaticNodePort.
|
||||
|
Loading…
Reference in New Issue
Block a user