diff --git a/pkg/controller/vsphere/session/session.go b/pkg/controller/vsphere/session/session.go index 8a590b6292d553d297f07901b56c0b4d1beb0845..1555bc53ac114a3b4980c2f2fc42aae9ec922eb4 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) }