Skip to content

Commit bf0e386

Browse files
knopers8justonedev1
authored andcommitted
[core] DCS: send enabled link IDs for selected detectors
It is activated with '<det>_dcs_send_enabled_links' variable. OCTRL-980
1 parent dc69c45 commit bf0e386

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

core/integration/dcs/dcsutil.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ package dcs
2626

2727
import (
2828
"fmt"
29+
"github.com/AliceO2Group/Control/common/logger/infologger"
30+
"github.com/AliceO2Group/Control/core/the"
2931
"strings"
3032

3133
dcspb "github.com/AliceO2Group/Control/core/integration/dcs/protos"
@@ -51,6 +53,24 @@ func resolveDefaults(detectorArgMap map[string]string, varStack map[string]strin
5153
return detectorArgMap
5254
}
5355

56+
func addEnabledLinks(detectorArgMap map[string]string, varStack map[string]string, ecsDetector string, theLog *logrus.Entry) map[string]string {
57+
sendDetLinks, ok := varStack[ecsDetector+"_dcs_send_enabled_links"]
58+
if !ok || sendDetLinks != "true" {
59+
return detectorArgMap
60+
}
61+
linkIDs, err := the.ConfSvc().GetAliasedLinkIDsForDetector(ecsDetector, true)
62+
if err != nil {
63+
theLog.WithError(err).Errorf("failed to get aliased link IDs for detector '%s'", ecsDetector)
64+
return detectorArgMap
65+
}
66+
linksJoined := strings.Join(linkIDs, ",")
67+
theLog.WithField(infologger.Level, infologger.IL_Devel).
68+
Infof("adding enabled link IDs for detector '%s' to DCS payload '%s'", ecsDetector, linksJoined)
69+
detectorArgMap["ddl_list"] = linksJoined
70+
71+
return detectorArgMap
72+
}
73+
5474
func ecsToDcsDetector(ecsDetector string) (dcspb.Detector, error) {
5575
var err error
5676
det := strings.ToUpper(strings.TrimSpace(ecsDetector))

core/integration/dcs/plugin.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -664,6 +664,11 @@ func (p *Plugin) CallStack(data interface{}) (stack map[string]interface{}) {
664664
WithField("call", "PrepareForRun").
665665
WithField("detector", ecsDet))
666666

667+
detectorArgMap = addEnabledLinks(detectorArgMap, varStack, ecsDet,
668+
log.WithField("partition", envId).
669+
WithField("call", "PrepareForRun").
670+
WithField("detector", ecsDet))
671+
667672
in.Detectors[i] = &dcspb.DetectorOperationRequest{
668673
Detector: dcsDet,
669674
ExtraParameters: detectorArgMap,
@@ -1365,6 +1370,12 @@ func (p *Plugin) CallStack(data interface{}) (stack map[string]interface{}) {
13651370
WithField("detector", ecsDet).
13661371
WithField("run", runNumber64))
13671372

1373+
detectorArgMap = addEnabledLinks(detectorArgMap, varStack, ecsDet,
1374+
log.WithField("partition", envId).
1375+
WithField("call", "StartOfRun").
1376+
WithField("detector", ecsDet).
1377+
WithField("run", runNumber64))
1378+
13681379
in.Detectors[i] = &dcspb.DetectorOperationRequest{
13691380
Detector: dcsDet,
13701381
ExtraParameters: detectorArgMap,

0 commit comments

Comments
 (0)