mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Set ExecSync timeout in liveness prober.
This commit is contained in:
		@@ -763,7 +763,7 @@ func (m *kubeGenericRuntimeManager) GetAttach(id kubecontainer.ContainerID, stdi
 | 
			
		||||
 | 
			
		||||
// RunInContainer synchronously executes the command in the container, and returns the output.
 | 
			
		||||
func (m *kubeGenericRuntimeManager) RunInContainer(id kubecontainer.ContainerID, cmd []string, timeout time.Duration) ([]byte, error) {
 | 
			
		||||
	stdout, stderr, err := m.runtimeService.ExecSync(id.ID, cmd, 0)
 | 
			
		||||
	stdout, stderr, err := m.runtimeService.ExecSync(id.ID, cmd, timeout)
 | 
			
		||||
	// NOTE(tallclair): This does not correctly interleave stdout & stderr, but should be sufficient
 | 
			
		||||
	// for logging purposes. A combined output option will need to be added to the ExecSyncRequest
 | 
			
		||||
	// if more precise output ordering is ever required.
 | 
			
		||||
 
 | 
			
		||||
@@ -23,6 +23,7 @@ import (
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"github.com/golang/glog"
 | 
			
		||||
	"golang.org/x/net/context"
 | 
			
		||||
	"google.golang.org/grpc"
 | 
			
		||||
 | 
			
		||||
	internalapi "k8s.io/kubernetes/pkg/kubelet/apis/cri"
 | 
			
		||||
@@ -291,9 +292,14 @@ func (r *RemoteRuntimeService) ContainerStatus(containerID string) (*runtimeapi.
 | 
			
		||||
// ExecSync executes a command in the container, and returns the stdout output.
 | 
			
		||||
// If command exits with a non-zero exit code, an error is returned.
 | 
			
		||||
func (r *RemoteRuntimeService) ExecSync(containerID string, cmd []string, timeout time.Duration) (stdout []byte, stderr []byte, err error) {
 | 
			
		||||
	ctx, cancel := getContextWithTimeout(timeout)
 | 
			
		||||
	if timeout == 0 {
 | 
			
		||||
	// Do not set timeout when timeout is 0.
 | 
			
		||||
	var ctx context.Context
 | 
			
		||||
	var cancel context.CancelFunc
 | 
			
		||||
	if timeout != 0 {
 | 
			
		||||
		// Use timeout + default timeout (2 minutes) as timeout to leave some time for
 | 
			
		||||
		// the runtime to do cleanup.
 | 
			
		||||
		ctx, cancel = getContextWithTimeout(r.timeout + timeout)
 | 
			
		||||
	} else {
 | 
			
		||||
		ctx, cancel = getContextWithCancel()
 | 
			
		||||
	}
 | 
			
		||||
	defer cancel()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user