From ba7e940a575e64732108a8b7a7d21f85b5d952eb Mon Sep 17 00:00:00 2001 From: Victor Marmol Date: Fri, 1 May 2015 16:12:14 -0700 Subject: [PATCH] Make rkt implement the container Runtime --- pkg/kubelet/container/runtime.go | 2 +- pkg/kubelet/kubelet.go | 1 + pkg/kubelet/rkt/rkt.go | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/kubelet/container/runtime.go b/pkg/kubelet/container/runtime.go index 9ec71176d8a..6f26162dc96 100644 --- a/pkg/kubelet/container/runtime.go +++ b/pkg/kubelet/container/runtime.go @@ -74,7 +74,7 @@ type Runtime interface { // default, it returns a snapshot of the container log. Set 'follow' to true to // stream the log. Set 'follow' to false and specify the number of lines (e.g. // "100" or "all") to tail the log. - GetContainerLogs(podUID *api.Pod, containerID, tail string, follow bool, stdout, stderr io.Writer) (err error) + GetContainerLogs(pod *api.Pod, containerID, tail string, follow bool, stdout, stderr io.Writer) (err error) } // Customizable hooks injected into container runtimes. diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 3073e4f340c..e440b4e5899 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -1369,6 +1369,7 @@ func (kl *Kubelet) validateContainerStatus(podStatus *api.PodStatus, containerNa // TODO: this method is returning logs of random container attempts, when it should be returning the most recent attempt // or all of them. func (kl *Kubelet) GetKubeletContainerLogs(podFullName, containerName, tail string, follow bool, stdout, stderr io.Writer) error { + // TODO(vmarmol): Refactor to not need the pod status and verification. podStatus, err := kl.GetPodStatus(podFullName) if err != nil { return fmt.Errorf("failed to get status for pod %q - %v", podFullName, err) diff --git a/pkg/kubelet/rkt/rkt.go b/pkg/kubelet/rkt/rkt.go index 39c473b51eb..7986ed343dd 100644 --- a/pkg/kubelet/rkt/rkt.go +++ b/pkg/kubelet/rkt/rkt.go @@ -81,6 +81,8 @@ type Runtime struct { dockerKeyring credentialprovider.DockerKeyring } +var _ kubecontainer.Runtime = &Runtime{} + // New creates the rkt container runtime which implements the container runtime interface. // It will test if the rkt binary is in the $PATH, and whether we can get the // version of it. If so, creates the rkt container runtime, otherwise returns an error.