From 19cdb4f113853cbbc1a65b456d2561da168e3527 Mon Sep 17 00:00:00 2001
From: Denis Moiseev <1239415+lobziik@users.noreply.github.com>
Date: Wed, 11 May 2022 13:23:05 +0200
Subject: [PATCH] Try to set up client timeout

---
 pkg/controller/vsphere/session/session.go | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/pkg/controller/vsphere/session/session.go b/pkg/controller/vsphere/session/session.go
index 8a590b629..1555bc53a 100644
--- a/pkg/controller/vsphere/session/session.go
+++ b/pkg/controller/vsphere/session/session.go
@@ -22,6 +22,7 @@ import (
 	"fmt"
 	"net/url"
 	"sync"
+	"time"
 
 	"github.com/vmware/govmomi/vapi/rest"
 	"github.com/vmware/govmomi/vim25/mo"
@@ -40,6 +41,7 @@ var sessionMU sync.Mutex
 
 const (
 	managedObjectTypeTask = "Task"
+	clientTimeout         = 30 * time.Second
 )
 
 // Session is a vSphere session with a configured Finder.
@@ -85,6 +87,7 @@ func GetOrCreate(
 	// See https://github.com/vmware/govmomi/blob/master/client.go#L91
 	soapURL.User = nil
 	client, err := govmomi.NewClient(ctx, soapURL, insecure)
+	client.Timeout = clientTimeout
 	if err != nil {
 		return nil, fmt.Errorf("error setting up new vSphere SOAP client: %w", err)
 	}
-- 
GitLab