Skip to content

Commit a79b87c

Browse files
committed
Make sure the path to known-modules.json is relative to the
system-stats-monitor.json file
1 parent 857754c commit a79b87c

File tree

6 files changed

+15
-7
lines changed

6 files changed

+15
-7
lines changed

config/system-stats-monitor.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292
}
9393
},
9494
"osFeature": {
95-
"KnownModulesConfigPath": "config/guestosconfig/known-modules.json",
95+
"KnownModulesConfigPath": "guestosconfig/known-modules.json",
9696
"metricsConfigs": {
9797
"system/os_feature": {
9898
"displayName": "system/os_feature"

pkg/systemstatsmonitor/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@ UnknownModules are derived from the /proc/modules compared with the known-module
9292

9393
And an option:
9494
`knownModulesConfigPath`: The path to the file that contains the known modules(default
95-
modules) can be set. By default, the path is set to `known-modules.json`
95+
modules) can be set. By default, the path is set to `guestosconfig/known-modules.json`
96+
(relative to the system-stats-monitor config path).
9697

9798
### IP Stats (Net Dev)
9899

pkg/systemstatsmonitor/system_stats_monitor.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package systemstatsmonitor
1919
import (
2020
"encoding/json"
2121
"io/ioutil"
22+
"path/filepath"
2223
"time"
2324

2425
"github.com/golang/glog"
@@ -89,6 +90,12 @@ func NewSystemStatsMonitorOrDie(configPath string) types.Monitor {
8990
ssm.memoryCollector = NewMemoryCollectorOrDie(&ssm.config.MemoryConfig)
9091
}
9192
if len(ssm.config.OsFeatureConfig.MetricsConfigs) > 0 {
93+
// update the KnownModulesConfigPath to relative the system-stats-monitors path
94+
// only when the KnownModulesConfigPath path is relative
95+
if !filepath.IsAbs(ssm.config.OsFeatureConfig.KnownModulesConfigPath) {
96+
ssm.config.OsFeatureConfig.KnownModulesConfigPath = filepath.Join(filepath.Dir(configPath),
97+
ssm.config.OsFeatureConfig.KnownModulesConfigPath)
98+
}
9299
ssm.osFeatureCollector = NewOsFeatureCollectorOrDie(&ssm.config.OsFeatureConfig)
93100
}
94101
if len(ssm.config.NetConfig.MetricsConfigs) > 0 {

pkg/systemstatsmonitor/system_stats_monitor_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,4 @@ func TestRegistration(t *testing.T) {
2828
assert.NotPanics(t,
2929
func() { problemdaemon.GetProblemDaemonHandlerOrDie(SystemStatsMonitorName) },
3030
"System stats monitor failed to register itself as a problem daemon.")
31-
}
31+
}

pkg/systemstatsmonitor/types/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import (
2424
var (
2525
defaultInvokeIntervalString = (60 * time.Second).String()
2626
defaultlsblkTimeoutString = (5 * time.Second).String()
27-
defaultKnownModulesConfigPath = "config/guestosconfig/known-modules.json"
27+
defaultKnownModulesConfigPath = "guestosconfig/known-modules.json"
2828
)
2929

3030
type MetricConfig struct {

pkg/systemstatsmonitor/types/config_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func TestApplyConfiguration(t *testing.T) {
4444
LsblkTimeoutString: "5s",
4545
},
4646
OsFeatureConfig: OSFeatureStatsConfig{
47-
KnownModulesConfigPath: "config/guestosconfig/known-modules.json",
47+
KnownModulesConfigPath: "guestosconfig/known-modules.json",
4848
},
4949
InvokeIntervalString: "60s",
5050
InvokeInterval: 60 * time.Second,
@@ -62,7 +62,7 @@ func TestApplyConfiguration(t *testing.T) {
6262
LsblkTimeoutString: "5s",
6363
},
6464
OsFeatureConfig: OSFeatureStatsConfig{
65-
KnownModulesConfigPath: "config/guestosconfig/known-modules.json",
65+
KnownModulesConfigPath: "guestosconfig/known-modules.json",
6666
},
6767
InvokeIntervalString: "1m0s",
6868
InvokeInterval: 60 * time.Second,
@@ -79,7 +79,7 @@ func TestApplyConfiguration(t *testing.T) {
7979
wantedConfig: SystemStatsConfig{
8080
DiskConfig: DiskStatsConfig{},
8181
OsFeatureConfig: OSFeatureStatsConfig{
82-
KnownModulesConfigPath: "config/guestosconfig/known-modules.json",
82+
KnownModulesConfigPath: "guestosconfig/known-modules.json",
8383
},
8484
},
8585
},

0 commit comments

Comments
 (0)