go.d dyncfg return 200 on Enable for running jobs (#17611)
Ilya Mashchenko committed
May 7, 2024 at 13:07 UTC
46657d7ed708a424de4e177c42d3a97fcbcf064b
2 files changed
+7
-2
src/go/collectors/go.d.plugin/agent/jobmgr/dyncfg.go
+5
@@ -375,6 +375,11 @@ func (m *Manager) dyncfgConfigEnable(fn functions.Function) {
375
376
switch ecfg.status {
377
case dyncfgAccepted, dyncfgDisabled, dyncfgFailed:
378
+ case dyncfgRunning:
379
+ // non-dyncfg update triggers enable/disable
380
+ m.dyncfgRespf(fn, 200, "")
381
+ m.dyncfgJobStatus(ecfg.cfg, ecfg.status)
382
+ return
383
default:
384
m.Warningf("dyncfg: enable: module %s job %s: enabling not allowed in %s state", mn, jn, ecfg.status)
385
m.dyncfgRespf(fn, 405, "Enabling data collection job is not allowed in '%s' state.", ecfg.status)
src/go/collectors/go.d.plugin/agent/jobmgr/manager_test.go
+2
-2
@@ -837,8 +837,8 @@ FUNCTION_RESULT_END
837
838
CONFIG go.d:collector:success:test status running
839
840
-FUNCTION_RESULT_BEGIN 3-enable 405 application/json
841
-{"status":405,"message":"Enabling data collection job is not allowed in 'running' state."}
840
+FUNCTION_RESULT_BEGIN 3-enable 200 application/json
841
+{"status":200,"message":""}
842
FUNCTION_RESULT_END
843
844
CONFIG go.d:collector:success:test status running