From e9a44a2984e304307e14faf1cea32cc9a9b34647 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Tue, 9 Apr 2019 21:37:33 +0000 Subject: [PATCH] Split crio context initialization --- container/crio/plugin.go | 12 ++++++++++++ manager/manager.go | 13 ------------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/container/crio/plugin.go b/container/crio/plugin.go index 612bcbf5..6b21a198 100644 --- a/container/crio/plugin.go +++ b/container/crio/plugin.go @@ -19,6 +19,7 @@ import ( "github.com/google/cadvisor/fs" info "github.com/google/cadvisor/info/v1" "github.com/google/cadvisor/watcher" + "k8s.io/klog" ) // NewPlugin returns an implementation of container.Plugin suitable for passing to container.RegisterPlugin() @@ -29,6 +30,17 @@ func NewPlugin() container.Plugin { type plugin struct{} func (p *plugin) InitializeFSContext(context *fs.Context) error { + crioClient, err := Client() + if err != nil { + return err + } + + crioInfo, err := crioClient.Info() + if err != nil { + klog.V(5).Infof("CRI-O not connected: %v", err) + } else { + context.Crio = fs.CrioContext{Root: crioInfo.StorageRoot} + } return nil } diff --git a/manager/manager.go b/manager/manager.go index 569be786..e9225aa1 100644 --- a/manager/manager.go +++ b/manager/manager.go @@ -30,7 +30,6 @@ import ( "github.com/google/cadvisor/cache/memory" "github.com/google/cadvisor/collector" "github.com/google/cadvisor/container" - "github.com/google/cadvisor/container/crio" "github.com/google/cadvisor/container/docker" "github.com/google/cadvisor/container/raw" "github.com/google/cadvisor/events" @@ -156,24 +155,12 @@ func New(memoryCache *memory.InMemoryCache, sysfs sysfs.SysFs, maxHousekeepingIn // Try to connect to docker indefinitely on startup. dockerStatus = retryDockerStatus() - crioClient, err := crio.Client() - if err != nil { - return nil, err - } - crioInfo, err := crioClient.Info() - if err != nil { - klog.V(5).Infof("CRI-O not connected: %v", err) - } - context := fs.Context{ Docker: fs.DockerContext{ Root: docker.RootDir(), Driver: dockerStatus.Driver, DriverStatus: dockerStatus.DriverStatus, }, - Crio: fs.CrioContext{ - Root: crioInfo.StorageRoot, - }, } if err := container.InitializeFSContext(&context); err != nil {