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 7
7
"fmt"
8
8
"net"
9
9
"net/http"
10
+ "os"
11
+ "strconv"
10
12
"time"
11
13
12
14
gvproxyclient "github.com/containers/gvisor-tap-vsock/pkg/client"
@@ -74,11 +76,19 @@ func (c *Client) ResolveAndForwardSSH(ipAddr string, sshPort int) error {
74
76
}
75
77
76
78
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 ()
78
88
ticker := time .NewTicker (500 * time .Millisecond )
79
89
for {
80
90
select {
81
- case <- timeout :
91
+ case <- ctx . Done () :
82
92
return "" , errors .New ("usernet unable to resolve IP for SSH forwarding" )
83
93
case <- ticker .C :
84
94
leases , err := c .Leases (ctx )
You can’t perform that action at this time.
0 commit comments