mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Log id in error message
This commit is contained in:
		@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
Copyright 2015 The Kubernetes Authors.
 | 
					Copyright 2016 The Kubernetes Authors.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Licensed under the Apache License, Version 2.0 (the "License");
 | 
					Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
you may not use this file except in compliance with the License.
 | 
					you may not use this file except in compliance with the License.
 | 
				
			||||||
@@ -14,6 +14,6 @@ See the License for the specific language governing permissions and
 | 
				
			|||||||
limitations under the License.
 | 
					limitations under the License.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Package remote containers gRPC implementation of kubecontainer.RuntimeService
 | 
					// Package remote containers gRPC implementation of internalApi.RuntimeService
 | 
				
			||||||
// and kubecontainer.ImageManagerService.
 | 
					// and internalApi.ImageManagerService.
 | 
				
			||||||
package remote
 | 
					package remote
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -46,7 +46,7 @@ func NewRemoteImageService(addr string, connectionTimout time.Duration) (interna
 | 
				
			|||||||
	}, nil
 | 
						}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ListImages lists pulled images.
 | 
					// ListImages lists available images.
 | 
				
			||||||
func (r *RemoteImageService) ListImages(filter *runtimeApi.ImageFilter) ([]*runtimeApi.Image, error) {
 | 
					func (r *RemoteImageService) ListImages(filter *runtimeApi.ImageFilter) ([]*runtimeApi.Image, error) {
 | 
				
			||||||
	ctx, cancel := getContextWithTimeout(r.timeout)
 | 
						ctx, cancel := getContextWithTimeout(r.timeout)
 | 
				
			||||||
	defer cancel()
 | 
						defer cancel()
 | 
				
			||||||
@@ -55,7 +55,7 @@ func (r *RemoteImageService) ListImages(filter *runtimeApi.ImageFilter) ([]*runt
 | 
				
			|||||||
		Filter: filter,
 | 
							Filter: filter,
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		glog.Errorf("ListImages from image service failed: %v", err)
 | 
							glog.Errorf("ListImages with filter %q from image service failed: %v", filter, err)
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -71,7 +71,7 @@ func (r *RemoteImageService) ImageStatus(image *runtimeApi.ImageSpec) (*runtimeA
 | 
				
			|||||||
		Image: image,
 | 
							Image: image,
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		glog.Errorf("ImageStatus from image service failed: %v", err)
 | 
							glog.Errorf("ImageStatus %q from image service failed: %v", image.GetImage(), err)
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -88,7 +88,7 @@ func (r *RemoteImageService) PullImage(image *runtimeApi.ImageSpec, auth *runtim
 | 
				
			|||||||
		Auth:  auth,
 | 
							Auth:  auth,
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		glog.Errorf("PullImage from image service failed: %v", err)
 | 
							glog.Errorf("PullImage %q from image service failed: %v", image.GetImage(), err)
 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -104,7 +104,7 @@ func (r *RemoteImageService) RemoveImage(image *runtimeApi.ImageSpec) error {
 | 
				
			|||||||
		Image: image,
 | 
							Image: image,
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		glog.Errorf("RemoveImage from image service failed: %v", err)
 | 
							glog.Errorf("RemoveImage %q from image service failed: %v", image.GetImage(), err)
 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,6 +20,7 @@ import (
 | 
				
			|||||||
	"io"
 | 
						"io"
 | 
				
			||||||
	"time"
 | 
						"time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"fmt"
 | 
				
			||||||
	"github.com/golang/glog"
 | 
						"github.com/golang/glog"
 | 
				
			||||||
	"google.golang.org/grpc"
 | 
						"google.golang.org/grpc"
 | 
				
			||||||
	internalApi "k8s.io/kubernetes/pkg/kubelet/api"
 | 
						internalApi "k8s.io/kubernetes/pkg/kubelet/api"
 | 
				
			||||||
@@ -54,8 +55,7 @@ func (r *RemoteRuntimeService) Version(apiVersion string) (*runtimeApi.VersionRe
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	typedVersion, err := r.runtimeClient.Version(ctx, &runtimeApi.VersionRequest{
 | 
						typedVersion, err := r.runtimeClient.Version(ctx, &runtimeApi.VersionRequest{
 | 
				
			||||||
		Version: &apiVersion,
 | 
							Version: &apiVersion,
 | 
				
			||||||
	},
 | 
						})
 | 
				
			||||||
	)
 | 
					 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		glog.Errorf("Version from runtime service failed: %v", err)
 | 
							glog.Errorf("Version from runtime service failed: %v", err)
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
@@ -90,7 +90,7 @@ func (r *RemoteRuntimeService) StopPodSandbox(podSandBoxID string) error {
 | 
				
			|||||||
		PodSandboxId: &podSandBoxID,
 | 
							PodSandboxId: &podSandBoxID,
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		glog.Errorf("StopPodSandbox from runtime service failed: %v", err)
 | 
							glog.Errorf("StopPodSandbox %q from runtime service failed: %v", podSandBoxID, err)
 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -107,7 +107,7 @@ func (r *RemoteRuntimeService) DeletePodSandbox(podSandBoxID string) error {
 | 
				
			|||||||
		PodSandboxId: &podSandBoxID,
 | 
							PodSandboxId: &podSandBoxID,
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		glog.Errorf("DeletePodSandbox from runtime service failed: %v", err)
 | 
							glog.Errorf("DeletePodSandbox %q from runtime service failed: %v", podSandBoxID, err)
 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -123,7 +123,7 @@ func (r *RemoteRuntimeService) PodSandboxStatus(podSandBoxID string) (*runtimeAp
 | 
				
			|||||||
		PodSandboxId: &podSandBoxID,
 | 
							PodSandboxId: &podSandBoxID,
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		glog.Errorf("PodSandboxStatus from runtime service failed: %v", err)
 | 
							glog.Errorf("PodSandboxStatus %q from runtime service failed: %v", podSandBoxID, err)
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -139,7 +139,7 @@ func (r *RemoteRuntimeService) ListPodSandbox(filter *runtimeApi.PodSandboxFilte
 | 
				
			|||||||
		Filter: filter,
 | 
							Filter: filter,
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		glog.Errorf("ListPodSandbox from runtime service failed: %v", err)
 | 
							glog.Errorf("ListPodSandbox with filter %q from runtime service failed: %v", filter, err)
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -157,7 +157,7 @@ func (r *RemoteRuntimeService) CreateContainer(podSandBoxID string, config *runt
 | 
				
			|||||||
		SandboxConfig: sandboxConfig,
 | 
							SandboxConfig: sandboxConfig,
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		glog.Errorf("CreateContainer from runtime service failed: %v", err)
 | 
							glog.Errorf("CreateContainer in sandbox %q from runtime service failed: %v", podSandBoxID, err)
 | 
				
			||||||
		return "", err
 | 
							return "", err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -173,7 +173,7 @@ func (r *RemoteRuntimeService) StartContainer(rawContainerID string) error {
 | 
				
			|||||||
		ContainerId: &rawContainerID,
 | 
							ContainerId: &rawContainerID,
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		glog.Errorf("StartContainer from runtime service failed: %v", err)
 | 
							glog.Errorf("StartContainer %q from runtime service failed: %v", rawContainerID, err)
 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -190,7 +190,7 @@ func (r *RemoteRuntimeService) StopContainer(rawContainerID string, timeout int6
 | 
				
			|||||||
		Timeout:     &timeout,
 | 
							Timeout:     &timeout,
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		glog.Errorf("StopContainer from runtime service failed: %v", err)
 | 
							glog.Errorf("StopContainer %q from runtime service failed: %v", rawContainerID, err)
 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -207,7 +207,7 @@ func (r *RemoteRuntimeService) RemoveContainer(rawContainerID string) error {
 | 
				
			|||||||
		ContainerId: &rawContainerID,
 | 
							ContainerId: &rawContainerID,
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		glog.Errorf("RemoveContainer from runtime service failed: %v", err)
 | 
							glog.Errorf("RemoveContainer %q from runtime service failed: %v", rawContainerID, err)
 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -223,7 +223,7 @@ func (r *RemoteRuntimeService) ListContainers(filter *runtimeApi.ContainerFilter
 | 
				
			|||||||
		Filter: filter,
 | 
							Filter: filter,
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		glog.Errorf("ListContainers from runtime service failed: %v", err)
 | 
							glog.Errorf("ListContainers with filter %q from runtime service failed: %v", filter, err)
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -239,7 +239,7 @@ func (r *RemoteRuntimeService) ContainerStatus(rawContainerID string) (*runtimeA
 | 
				
			|||||||
		ContainerId: &rawContainerID,
 | 
							ContainerId: &rawContainerID,
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		glog.Errorf("ContainerStatus from runtime service failed: %v", err)
 | 
							glog.Errorf("ContainerStatus %q from runtime service failed: %v", rawContainerID, err)
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -249,112 +249,5 @@ func (r *RemoteRuntimeService) ContainerStatus(rawContainerID string) (*runtimeA
 | 
				
			|||||||
// Exec executes a command in the container.
 | 
					// Exec executes a command in the container.
 | 
				
			||||||
// TODO: support terminal resizing for exec, refer https://github.com/kubernetes/kubernetes/issues/29579.
 | 
					// TODO: support terminal resizing for exec, refer https://github.com/kubernetes/kubernetes/issues/29579.
 | 
				
			||||||
func (r *RemoteRuntimeService) Exec(rawContainerID string, cmd []string, tty bool, stdin io.Reader, stdout, stderr io.WriteCloser) error {
 | 
					func (r *RemoteRuntimeService) Exec(rawContainerID string, cmd []string, tty bool, stdin io.Reader, stdout, stderr io.WriteCloser) error {
 | 
				
			||||||
	ctx, cancel := getContextWithTimeout(r.timeout)
 | 
						return fmt.Errorf("Not implemented")
 | 
				
			||||||
	defer cancel()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	stream, err := r.runtimeClient.Exec(ctx)
 | 
					 | 
				
			||||||
	if err != nil {
 | 
					 | 
				
			||||||
		glog.Errorf("Get remote runtime client stream failed: %v", err)
 | 
					 | 
				
			||||||
		return err
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	request := &runtimeApi.ExecRequest{
 | 
					 | 
				
			||||||
		ContainerId: &rawContainerID,
 | 
					 | 
				
			||||||
		Cmd:         cmd,
 | 
					 | 
				
			||||||
		Tty:         &tty,
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	err = stream.Send(request)
 | 
					 | 
				
			||||||
	if err != nil {
 | 
					 | 
				
			||||||
		glog.Errorf("Send exec request to remote runtime failed: %v", err)
 | 
					 | 
				
			||||||
		return err
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	errChanOut := make(chan error, 1)
 | 
					 | 
				
			||||||
	errChanIn := make(chan error, 1)
 | 
					 | 
				
			||||||
	exit := make(chan bool)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	go func(stdout, stderr io.WriteCloser) {
 | 
					 | 
				
			||||||
		defer close(errChanOut)
 | 
					 | 
				
			||||||
		defer close(exit)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		for {
 | 
					 | 
				
			||||||
			resp, err := stream.Recv()
 | 
					 | 
				
			||||||
			if err != nil && err != io.EOF {
 | 
					 | 
				
			||||||
				errChanOut <- err
 | 
					 | 
				
			||||||
				return
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			if resp != nil && len(resp.Stdout) > 0 && stdout != nil {
 | 
					 | 
				
			||||||
				nw, err := stdout.Write(resp.Stdout)
 | 
					 | 
				
			||||||
				if err != nil {
 | 
					 | 
				
			||||||
					errChanOut <- err
 | 
					 | 
				
			||||||
					return
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
				if nw != len(resp.Stdout) {
 | 
					 | 
				
			||||||
					errChanOut <- io.ErrShortWrite
 | 
					 | 
				
			||||||
					return
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
				if err == io.EOF {
 | 
					 | 
				
			||||||
					break
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			if resp != nil && len(resp.Stderr) > 0 && stderr != nil {
 | 
					 | 
				
			||||||
				nw, err := stderr.Write(resp.Stderr)
 | 
					 | 
				
			||||||
				if err != nil {
 | 
					 | 
				
			||||||
					errChanOut <- err
 | 
					 | 
				
			||||||
					return
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
				if nw != len(resp.Stderr) {
 | 
					 | 
				
			||||||
					errChanOut <- io.ErrShortWrite
 | 
					 | 
				
			||||||
					return
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
				if err == io.EOF {
 | 
					 | 
				
			||||||
					break
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}(stdout, stderr)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if stdin != nil {
 | 
					 | 
				
			||||||
		go func(stdin io.Reader) {
 | 
					 | 
				
			||||||
			defer close(errChanIn)
 | 
					 | 
				
			||||||
			buffer := make([]byte, 256)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			for {
 | 
					 | 
				
			||||||
				nr, err := stdin.Read(buffer)
 | 
					 | 
				
			||||||
				if nr > 0 {
 | 
					 | 
				
			||||||
					request.Stdin = buffer[:nr]
 | 
					 | 
				
			||||||
					err := stream.Send(request)
 | 
					 | 
				
			||||||
					if err != nil {
 | 
					 | 
				
			||||||
						errChanIn <- err
 | 
					 | 
				
			||||||
						return
 | 
					 | 
				
			||||||
					}
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				if err == io.EOF {
 | 
					 | 
				
			||||||
					break
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				if err != nil {
 | 
					 | 
				
			||||||
					errChanIn <- err
 | 
					 | 
				
			||||||
					return
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}(stdin)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	<-exit
 | 
					 | 
				
			||||||
	select {
 | 
					 | 
				
			||||||
	case err = <-errChanIn:
 | 
					 | 
				
			||||||
		if err != nil {
 | 
					 | 
				
			||||||
			glog.Errorf("Exec send stream error: %v", err)
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		return err
 | 
					 | 
				
			||||||
	case err = <-errChanOut:
 | 
					 | 
				
			||||||
		if err != nil {
 | 
					 | 
				
			||||||
			glog.Errorf("Exec receive stream error: %v", err)
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		return err
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user