Update runhcs-shim to use go-bindings
Signed-off-by: Justin Terry (VM) <juterry@microsoft.com>
This commit is contained in:
		
							
								
								
									
										62
									
								
								vendor/github.com/Microsoft/hcsshim/internal/timeout/timeout.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										62
									
								
								vendor/github.com/Microsoft/hcsshim/internal/timeout/timeout.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -6,21 +6,65 @@ import (
 | 
			
		||||
	"time"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Duration is the default time to wait for various operations.
 | 
			
		||||
// - Waiting for async notifications from HCS
 | 
			
		||||
// - Waiting for processes to launch through
 | 
			
		||||
// - Waiting to copy data to/from a launched processes stdio pipes.
 | 
			
		||||
//
 | 
			
		||||
// This can be overridden through environment variable `HCS_TIMEOUT_SECONDS`
 | 
			
		||||
var (
 | 
			
		||||
	// defaultTimeout is the timeout for most operations that is not overridden.
 | 
			
		||||
	defaultTimeout = 4 * time.Minute
 | 
			
		||||
 | 
			
		||||
var Duration = 4 * time.Minute
 | 
			
		||||
	// defaultTimeoutTestdRetry is the retry loop timeout for testd to respond
 | 
			
		||||
	// for a disk to come online in LCOW.
 | 
			
		||||
	defaultTimeoutTestdRetry = 5 * time.Second
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// External variables for HCSShim consumers to use.
 | 
			
		||||
var (
 | 
			
		||||
	// SystemCreate is the timeout for creating a compute system
 | 
			
		||||
	SystemCreate time.Duration = defaultTimeout
 | 
			
		||||
 | 
			
		||||
	// SystemStart is the timeout for starting a compute system
 | 
			
		||||
	SystemStart time.Duration = defaultTimeout
 | 
			
		||||
 | 
			
		||||
	// SystemPause is the timeout for pausing a compute system
 | 
			
		||||
	SystemPause time.Duration = defaultTimeout
 | 
			
		||||
 | 
			
		||||
	// SystemResume is the timeout for resuming a compute system
 | 
			
		||||
	SystemResume time.Duration = defaultTimeout
 | 
			
		||||
 | 
			
		||||
	// SyscallWatcher is the timeout before warning of a potential stuck platform syscall.
 | 
			
		||||
	SyscallWatcher time.Duration = defaultTimeout
 | 
			
		||||
 | 
			
		||||
	// Tar2VHD is the timeout for the tar2vhd operation to complete
 | 
			
		||||
	Tar2VHD time.Duration = defaultTimeout
 | 
			
		||||
 | 
			
		||||
	// ExternalCommandToStart is the timeout for external commands to start
 | 
			
		||||
	ExternalCommandToStart = defaultTimeout
 | 
			
		||||
 | 
			
		||||
	// ExternalCommandToComplete is the timeout for external commands to complete.
 | 
			
		||||
	// Generally this means copying data from their stdio pipes.
 | 
			
		||||
	ExternalCommandToComplete = defaultTimeout
 | 
			
		||||
 | 
			
		||||
	// TestDRetryLoop is the timeout for testd retry loop when onlining a SCSI disk in LCOW
 | 
			
		||||
	TestDRetryLoop = defaultTimeoutTestdRetry
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	envTimeout := os.Getenv("HCSSHIM_TIMEOUT_SECONDS")
 | 
			
		||||
	SystemCreate = durationFromEnvironment("HCSSHIM_TIMEOUT_SYSTEMCREATE", SystemCreate)
 | 
			
		||||
	SystemStart = durationFromEnvironment("HCSSHIM_TIMEOUT_SYSTEMSTART", SystemStart)
 | 
			
		||||
	SystemPause = durationFromEnvironment("HCSSHIM_TIMEOUT_SYSTEMPAUSE", SystemPause)
 | 
			
		||||
	SystemResume = durationFromEnvironment("HCSSHIM_TIMEOUT_SYSTEMRESUME", SystemResume)
 | 
			
		||||
	SyscallWatcher = durationFromEnvironment("HCSSHIM_TIMEOUT_SYSCALLWATCHER", SyscallWatcher)
 | 
			
		||||
	Tar2VHD = durationFromEnvironment("HCSSHIM_TIMEOUT_TAR2VHD", Tar2VHD)
 | 
			
		||||
	ExternalCommandToStart = durationFromEnvironment("HCSSHIM_TIMEOUT_EXTERNALCOMMANDSTART", ExternalCommandToStart)
 | 
			
		||||
	ExternalCommandToComplete = durationFromEnvironment("HCSSHIM_TIMEOUT_EXTERNALCOMMANDCOMPLETE", ExternalCommandToComplete)
 | 
			
		||||
	TestDRetryLoop = durationFromEnvironment("HCSSHIM_TIMEOUT_TESTDRETRYLOOP", TestDRetryLoop)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func durationFromEnvironment(env string, defaultValue time.Duration) time.Duration {
 | 
			
		||||
	envTimeout := os.Getenv(env)
 | 
			
		||||
	if len(envTimeout) > 0 {
 | 
			
		||||
		e, err := strconv.Atoi(envTimeout)
 | 
			
		||||
		if err == nil && e > 0 {
 | 
			
		||||
			Duration = time.Second * time.Duration(e)
 | 
			
		||||
			return time.Second * time.Duration(e)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return defaultValue
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user