diff --git a/pkg/kubelet/rkt/gc.go b/pkg/kubelet/rkt/gc.go index ff3bfda959a..28cde1db2ff 100644 --- a/pkg/kubelet/rkt/gc.go +++ b/pkg/kubelet/rkt/gc.go @@ -18,11 +18,10 @@ package rkt // ImageManager manages and garbage collects the container images for rkt. type ImageManager struct { - runtime *runtime } -func NewImageManager(r *runtime) *ImageManager { - return &ImageManager{runtime: r} +func NewImageManager() *ImageManager { + return &ImageManager{} } // GarbageCollect collects the images. It is not implemented by rkt yet. diff --git a/pkg/kubelet/rkt/rkt_linux.go b/pkg/kubelet/rkt/rkt_linux.go index 1bd919f65ac..0429a0d5c98 100644 --- a/pkg/kubelet/rkt/rkt_linux.go +++ b/pkg/kubelet/rkt/rkt_linux.go @@ -34,6 +34,7 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/api" "github.com/GoogleCloudPlatform/kubernetes/pkg/capabilities" + "github.com/GoogleCloudPlatform/kubernetes/pkg/client/record" "github.com/GoogleCloudPlatform/kubernetes/pkg/credentialprovider" kubecontainer "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/container" "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/prober" @@ -104,7 +105,11 @@ 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. -func New(config *Config) (kubecontainer.Runtime, error) { +func New(config *Config, + generator kubecontainer.RunContainerOptionsGenerator, + recorder record.EventRecorder, + containerRefManager *kubecontainer.RefManager, + readinessManager *kubecontainer.ReadinessManager) (kubecontainer.Runtime, error) { systemdVersion, err := getSystemdVersion() if err != nil { return nil, err @@ -129,11 +134,14 @@ func New(config *Config) (kubecontainer.Runtime, error) { } rkt := &runtime{ - systemd: systemd, - rktBinAbsPath: rktBinAbsPath, - config: config, - dockerKeyring: credentialprovider.NewDockerKeyring(), + generator: generator, + readinessManager: readinessManager, + systemd: systemd, + rktBinAbsPath: rktBinAbsPath, + config: config, + dockerKeyring: credentialprovider.NewDockerKeyring(), } + rkt.prober = prober.New(rkt, readinessManager, containerRefManager, recorder) // Test the rkt version. version, err := rkt.Version() diff --git a/pkg/kubelet/rkt/rkt_unsupported.go b/pkg/kubelet/rkt/rkt_unsupported.go index 2fefdfa57eb..6332741f40e 100644 --- a/pkg/kubelet/rkt/rkt_unsupported.go +++ b/pkg/kubelet/rkt/rkt_unsupported.go @@ -23,6 +23,7 @@ import ( "io" "github.com/GoogleCloudPlatform/kubernetes/pkg/api" + "github.com/GoogleCloudPlatform/kubernetes/pkg/client/record" kubecontainer "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/container" ) @@ -32,6 +33,14 @@ type unsupportedRuntime struct { var _ kubecontainer.Runtime = &unsupportedRuntime{} +func New(config *Config, + generator kubecontainer.RunContainerOptionsGenerator, + recorder record.EventRecorder, + containerRefManager *kubecontainer.RefManager, + readinessManager *kubecontainer.ReadinessManager) (kubecontainer.Runtime, error) { + return nil, unsupportedError +} + var unsupportedError = fmt.Errorf("rkt runtime is unsupported in this platform") func (ur *unsupportedRuntime) Version() (kubecontainer.Version, error) {