File tree Expand file tree Collapse file tree 1 file changed +12
-2
lines changed Expand file tree Collapse file tree 1 file changed +12
-2
lines changed Original file line number Diff line number Diff line change 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
7678func (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 )
You can’t perform that action at this time.
0 commit comments