Skip to content

Commit 200db6d

Browse files
authored
Merge pull request #2455 from SmartManoj/patch-1
Use environment var for ResolveIPAddressTimeout
2 parents edb53b3 + 37fc2fd commit 200db6d

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

pkg/networks/usernet/client.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import (
77
"fmt"
88
"net"
99
"net/http"
10+
"os"
11+
"strconv"
1012
"time"
1113

1214
gvproxyclient "github.com/containers/gvisor-tap-vsock/pkg/client"
@@ -74,11 +76,19 @@ func (c *Client) ResolveAndForwardSSH(ipAddr string, sshPort int) error {
7476
}
7577

7678
func (c *Client) ResolveIPAddress(ctx context.Context, vmMacAddr string) (string, error) {
77-
timeout := time.After(2 * time.Minute)
79+
resolveIPAddressTimeout := 2 * time.Minute
80+
resolveIPAddressTimeoutEnv := os.Getenv("LIMA_USERNET_RESOLVE_IP_ADDRESS_TIMEOUT")
81+
if resolveIPAddressTimeoutEnv != "" {
82+
if parsedTimeout, err := strconv.Atoi(resolveIPAddressTimeoutEnv); err == nil {
83+
resolveIPAddressTimeout = time.Duration(parsedTimeout) * time.Minute
84+
}
85+
}
86+
ctx, cancel := context.WithTimeout(ctx, resolveIPAddressTimeout)
87+
defer cancel()
7888
ticker := time.NewTicker(500 * time.Millisecond)
7989
for {
8090
select {
81-
case <-timeout:
91+
case <-ctx.Done():
8292
return "", errors.New("usernet unable to resolve IP for SSH forwarding")
8393
case <-ticker.C:
8494
leases, err := c.Leases(ctx)

0 commit comments

Comments
 (0)