diff --git a/internal/extension/smartagentextension/config.go b/internal/extension/smartagentextension/config.go index 6d089b933b..69ced793d7 100644 --- a/internal/extension/smartagentextension/config.go +++ b/internal/extension/smartagentextension/config.go @@ -62,9 +62,9 @@ func customUnmarshaller(componentViperSection *viper.Viper, intoCfg interface{}) var collectdSettings map[string]interface{} var ok bool if collectdSettings, ok = allSettings["collectd"].(map[string]interface{}); !ok { - // Nothing to do if user specified collectd settings do not exist. - // Defaults will be picked up. - return nil + // We must set the BundleDir field on the resulting CollectdConfig + // so we use an empty instance. Defaults will be picked up. + collectdSettings = map[string]interface{}{} } var collectdConfig config.CollectdConfig diff --git a/internal/extension/smartagentextension/config_test.go b/internal/extension/smartagentextension/config_test.go index 977bd4c6cb..fd23dfa8a4 100644 --- a/internal/extension/smartagentextension/config_test.go +++ b/internal/extension/smartagentextension/config_test.go @@ -62,6 +62,7 @@ func TestLoadConfig(t *testing.T) { WriteServerIPAddr: "127.9.8.7", WriteServerPort: 0, ConfigDir: "/var/run/signalfx-agent/collectd", + BundleDir: bundleDir, HasGenericJMXMonitor: false, }, }