From 6e53bce9870f705fa8fb6127812bf8a2feecd272 Mon Sep 17 00:00:00 2001 From: saintube Date: Tue, 30 Jan 2024 13:19:21 +0800 Subject: [PATCH] koordlet: revise system support status initialization Signed-off-by: saintube --- pkg/koordlet/koordlet.go | 1 + pkg/koordlet/util/system/config.go | 17 +++++++++++++---- pkg/koordlet/util/system/system_file.go | 7 ------- pkg/koordlet/util/system/util_test_tool.go | 2 +- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/pkg/koordlet/koordlet.go b/pkg/koordlet/koordlet.go index d9ccce11f..99c4f094b 100644 --- a/pkg/koordlet/koordlet.go +++ b/pkg/koordlet/koordlet.go @@ -76,6 +76,7 @@ func NewDaemon(config *config.Configuration) (Daemon, error) { klog.Infof("NODE_NAME is %v, start time %v", nodeName, float64(time.Now().Unix())) metrics.RecordKoordletStartTime(nodeName, float64(time.Now().Unix())) + system.InitSupportConfigs() klog.Infof("sysconf: %+v, agentMode: %v", system.Conf, system.AgentMode) klog.Infof("kernel version INFO: %+v", system.HostSystemInfo) diff --git a/pkg/koordlet/util/system/config.go b/pkg/koordlet/util/system/config.go index 10f5d0435..9dda99659 100644 --- a/pkg/koordlet/util/system/config.go +++ b/pkg/koordlet/util/system/config.go @@ -21,6 +21,7 @@ import ( "os" "go.uber.org/atomic" + "k8s.io/klog/v2" ) const ( @@ -57,10 +58,20 @@ func init() { } } -func initSupportConfigs() { +// InitSupportConfigs initializes the system support status. +// e.g. the cgroup version, resctrl capability +func InitSupportConfigs() { + // $ getconf CLK_TCK > jiffies + if err := initJiffies(); err != nil { + klog.Warningf("failed to get Jiffies, use the default %v, err: %v", Jiffies, err) + } initCgroupsVersion() HostSystemInfo = collectVersionInfo() - _, _ = IsSupportResctrl() + if isResctrlSupported, err := IsSupportResctrl(); err != nil { + klog.Warningf("failed to check resctrl support status, use %d, err: %v", isResctrlSupported, err) + } else { + klog.V(4).Infof("resctrl supported: %v", isResctrlSupported) + } } func NewHostModeConfig() *Config { @@ -110,6 +121,4 @@ func (c *Config) InitFlags(fs *flag.FlagSet) { fs.StringVar(&c.PouchEndpoint, "pouch-endpoint", c.PouchEndpoint, "pouch endPoint") fs.StringVar(&c.DefaultRuntimeType, "default-runtime-type", c.DefaultRuntimeType, "default runtime type during runtime hooks handle request, candidates are containerd/docker/pouch.") - - initSupportConfigs() } diff --git a/pkg/koordlet/util/system/system_file.go b/pkg/koordlet/util/system/system_file.go index c28ccb0d1..23f4949f1 100644 --- a/pkg/koordlet/util/system/system_file.go +++ b/pkg/koordlet/util/system/system_file.go @@ -51,13 +51,6 @@ var ( Jiffies = float64(10 * time.Millisecond) ) -func init() { - // $ getconf CLK_TCK > jiffies - if err := initJiffies(); err != nil { - klog.Warningf("failed to get Jiffies, use the default %v, err: %v", Jiffies, err) - } -} - // initJiffies use command "getconf CLK_TCK" to fetch the clock tick on current host, // if the command doesn't exist, uses the default value 10ms for jiffies func initJiffies() error { diff --git a/pkg/koordlet/util/system/util_test_tool.go b/pkg/koordlet/util/system/util_test_tool.go index f5f80957a..4384e7726 100644 --- a/pkg/koordlet/util/system/util_test_tool.go +++ b/pkg/koordlet/util/system/util_test_tool.go @@ -81,7 +81,7 @@ func NewFileTestUtil(t testing.TB) *FileTestUtil { Conf.SysFSRootDir = filepath.Join(tempDir, "fs") Conf.VarRunRootDir = tempDir - initSupportConfigs() + InitSupportConfigs() return &FileTestUtil{ TempDir: tempDir,