-
Notifications
You must be signed in to change notification settings - Fork 24
Run dpl workflows from ECS in k8s #850
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
16d497a
12232fc
a1b11f6
72a423d
07451e4
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -57,11 +57,14 @@ func main() { | |
| var metricsAddr string | ||
| var enableLeaderElection bool | ||
| var probeAddr string | ||
| var maxConcurrentReconciles int | ||
| flag.StringVar(&metricsAddr, "metrics-bind-address", ":9082", "The address the metric endpoint binds to.") | ||
| flag.StringVar(&probeAddr, "health-probe-bind-address", ":9083", "The address the probe endpoint binds to.") | ||
| flag.BoolVar(&enableLeaderElection, "leader-elect", false, | ||
| "Enable leader election for controller manager. "+ | ||
| "Enabling this will ensure there is only one active controller manager.") | ||
| flag.IntVar(&maxConcurrentReconciles, "max-concurrent-reconciles", 1, | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. not sure why we needed to make it an option to run DPL |
||
| "The maximum number of concurrent Reconciles which can be run for the Task controller.") | ||
| opts := zap.Options{ | ||
| Development: true, | ||
| } | ||
|
|
@@ -90,10 +93,11 @@ func main() { | |
| } | ||
|
|
||
| if err = (&controller.TaskReconciler{ | ||
| Client: mgr.GetClient(), | ||
| Scheme: mgr.GetScheme(), | ||
| Recorder: mgr.GetEventRecorderFor("task-controller"), | ||
| NodeName: nodeName, | ||
| Client: mgr.GetClient(), | ||
| Scheme: mgr.GetScheme(), | ||
| Recorder: mgr.GetEventRecorderFor("task-controller"), | ||
| NodeName: nodeName, | ||
| MaxConcurrentReconciles: maxConcurrentReconciles, | ||
| }).SetupWithManager(mgr); err != nil { | ||
| setupLog.Error(err, "unable to create controller", "controller", "Task") | ||
| os.Exit(1) | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4100,6 +4100,8 @@ spec: | |
| type: array | ||
| name: | ||
| type: string | ||
| nameSuffix: | ||
| type: string | ||
| taskID: | ||
| type: string | ||
| required: | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3,8 +3,3 @@ kind: Kustomization | |
|
|
||
| resources: | ||
| - environment-manager.yaml | ||
|
|
||
| images: | ||
| - name: environment-manager | ||
| newName: gitlab-registry.cern.ch/aliceo2group/dockerfiles/aliecs/environment-manager | ||
| newTag: latest | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Try to understand why it's a part of this PR and why it's needed. Maybe it was removed just to be able to use a custom-built image instead of the latest. |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,8 +6,7 @@ metadata: | |
|
|
||
| taskTemplates: | ||
| tasks: | ||
| mtichak-ost.cern.ch: | ||
| # mtichak-ost: | ||
| mtichak-ost: | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. understand why it is changed again |
||
| # mtichak-xps-cern: | ||
| # - name: readout | ||
| # argsCLI: | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,110 @@ | ||
| apiVersion: aliecs.alice.cern/v1alpha1 | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. try to understand why we only have the QC CheckRunner template here, but not all of them. Maybe it's an example. |
||
| kind: Task | ||
| metadata: | ||
| labels: | ||
| environment: 34xmvqdqcsu | ||
| node: mtichak-ost | ||
| taskID: 34XmVrU4GeE | ||
| name: mtichak-ost-dpl-qc-check-daq-qccheck | ||
| namespace: alice-tasks | ||
| spec: | ||
| control: | ||
| mode: fairmq | ||
| port: 31000 | ||
| nodeName: mtichak-ost.cern.ch | ||
| pod: | ||
| containers: | ||
| - args: | ||
| - source /etc/profile.d/o2.sh && o2-dpl-raw-proxy -b --session default --dataspec | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. not sure why it is all one big argument |
||
| 'x:TST/RAWDATA;dd:FLP/DISTSUBTIMEFRAME/0' --inject-missing-data --readout-proxy | ||
| '--channel-config "name=readout-proxy,type=pull,method=connect,address=ipc:///tmp/stf-builder-dpl-pipe-0,transport=shmem,rateLogging=10"' | ||
| | o2-qc -b --config apricot://mtichak-ost.cern.ch:32188/o2/components/qc/ANY/any/stfb_to_daqtask-mtichak-ost | ||
| | o2-dpl-output-proxy --environment DPL_OUTPUT_PROXY_ORDERED=1 -b --session | ||
| default --dataspec 'x:TST/RAWDATA;dd:FLP/DISTSUBTIMEFRAME/0' --dpl-output-proxy | ||
| '--channel-config "name=downstream,type=push,method=bind,address=ipc:///tmp/stf-pipe-0,rateLogging=10,transport=shmem"' | ||
| | o2-qc -b --exit-transition-timeout '40' --data-processing-timeout '20' --monitoring-backend | ||
| 'influxdb-unix:///tmp/telegraf-dpl.sock' --session 'default' --infologger-severity | ||
| 'info' --infologger-mode 'infoLoggerD' --driver-client-backend 'stdout://' | ||
| --shm-segment-size '10000000000' --shm-throw-bad-alloc 'false' --resources-monitoring | ||
| '15' --id 'qc-check-DAQ-QcCheck' --shm-monitor 'false' --log-color 'false' | ||
| --batch --aod-file '' --aod-memory-rate-limit '0' --aod-writer-json '' --aod-writer-keep | ||
| '' --aod-writer-maxfilesize '0' --aod-writer-ntfmerge -1 --aod-writer-resdir | ||
| '' --aod-writer-resfile '' --aod-writer-resmode 'RECREATE' --bad-alloc-attempt-interval | ||
| '50' --bad-alloc-max-attempts '1' --channel-prefix '' --clone '' --config | ||
| 'apricot://mtichak-ost.cern.ch:32188/o2/components/qc/ANY/any/stfb_to_daqtask-mtichak-ost' | ||
| --configKeyValues '' --early-forward-policy 'never' --fairmq-ipc-prefix '@' | ||
| --fairmq-rate-logging '0' --fairmq-recv-buffer-size '4' --fairmq-send-buffer-size | ||
| '4' --forwarding-destination 'drop' --forwarding-policy 'dangling' --host | ||
| '' --io-threads '1' --labels '' --local-batch '' --override-values '' --pipeline | ||
| '' --readers '1' --remote-batch '' --severity 'info' --shm-allocation 'rbtree_best_fit' | ||
| --shm-metadata-msg-size '0' --shm-mlock-segment 'false' --shm-mlock-segment-on-creation | ||
| 'false' --shm-no-cleanup 'false' --shm-segment-id '0' --shm-zero-segment 'false' | ||
| --signposts '' --spawners '1' --stacktrace-on-signal 'simple' --timeframes-rate-limit | ||
| '0' --timeframes-rate-limit-ipcid -1 --workflow-suffix '' --qcConfiguration | ||
| '{}' --runNumber '' -S $CONTROL_OCCPLUGIN_ROOT/lib/ -P OCClite --color false | ||
| --control-port 31000 | ||
| command: | ||
| - bash | ||
| - -c | ||
| env: | ||
| - name: O2_DETECTOR | ||
| value: TST | ||
| - name: O2_PARTITION | ||
| value: 34XmVqDQCsU | ||
| - name: HOME | ||
| value: /tmp | ||
| - name: O2_SYSTEM | ||
| value: FLP | ||
| - name: O2_ROLE | ||
| value: mtichak-ost | ||
| - name: OCC_CONTROL_PORT | ||
| value: "31000" | ||
| image: gitlab-registry.cern.ch/pkonopka/dockerfiles/flp-sw:20260729-1 | ||
| imagePullPolicy: IfNotPresent | ||
| name: dpl | ||
| resources: {} | ||
| securityContext: | ||
| privileged: true | ||
| runAsGroup: 1100 | ||
| runAsUser: 1100 | ||
| volumeMounts: | ||
| - mountPath: /dev/shm | ||
| name: host-shm | ||
| - mountPath: /etc/group | ||
| name: group | ||
| readOnly: true | ||
| - mountPath: /etc/passwd | ||
| name: passwd | ||
| readOnly: true | ||
| - mountPath: /tmp | ||
| name: tmp | ||
| - mountPath: /lib/modules | ||
| name: modules | ||
| hostIPC: true | ||
| hostNetwork: true | ||
| imagePullSecrets: | ||
| - name: gitlab-registry-secret | ||
| nodeName: mtichak-ost.cern.ch | ||
| securityContext: | ||
| fsGroup: 1100 | ||
| supplementalGroups: | ||
| - 10 | ||
| - 1105 | ||
| volumes: | ||
| - hostPath: | ||
| path: /dev/shm | ||
| type: Directory | ||
| name: host-shm | ||
| - hostPath: | ||
| path: /etc/group | ||
| name: group | ||
| - hostPath: | ||
| path: /etc/passwd | ||
| name: passwd | ||
| - hostPath: | ||
| path: /tmp | ||
| name: tmp | ||
| - hostPath: | ||
| path: /lib/modules | ||
| name: modules | ||
| state: standby | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,62 @@ | ||
| apiVersion: aliecs.alice.cern/v1alpha1 | ||
| kind: TaskTemplate | ||
| metadata: | ||
| name: dpl | ||
| namespace: alice-tasks | ||
| spec: | ||
| envVars: | ||
| - O2_DETECTOR | ||
| - O2_PARTITION | ||
| - OCC_CONTROL_PORT | ||
| - O2_SYSTEM | ||
| - O2_ROLE | ||
| pod: | ||
| hostNetwork: true | ||
| hostIPC: true | ||
| securityContext: | ||
| fsGroup: 1100 | ||
| supplementalGroups: [10, 1105] | ||
| containers: | ||
| - name: dpl | ||
| image: gitlab-registry.cern.ch/pkonopka/dockerfiles/flp-sw:20260729-1 | ||
| command: ["bash", "-c"] | ||
| securityContext: | ||
| privileged: true | ||
| runAsUser: 1100 | ||
| runAsGroup: 1100 | ||
| volumeMounts: | ||
| - name: host-shm | ||
| mountPath: /dev/shm | ||
| - name: group | ||
| mountPath: /etc/group | ||
| readOnly: true | ||
| - name: passwd | ||
| mountPath: /etc/passwd | ||
| readOnly: true | ||
| - name: tmp | ||
| mountPath: /tmp | ||
| - name: modules | ||
| mountPath: /lib/modules | ||
| imagePullPolicy: IfNotPresent | ||
| volumes: | ||
| - name: host-shm | ||
| hostPath: | ||
| path: /dev/shm | ||
| type: Directory | ||
| - name: group | ||
| hostPath: | ||
| path: /etc/group | ||
| - name: passwd | ||
| hostPath: | ||
| path: /etc/passwd | ||
| - name: tmp | ||
| hostPath: | ||
| path: /tmp | ||
| - name: modules | ||
| hostPath: | ||
| path: /lib/modules | ||
| imagePullSecrets: | ||
| - name: gitlab-registry-secret | ||
| control: | ||
| mode: "fairmq" | ||
| # port: ${OCC_CONTROL_PORT} # to be filled in |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -7,7 +7,6 @@ spec: | |
| envVars: | ||
| - O2_DETECTOR | ||
| - O2_PARTITION | ||
| - OCC_CONTROL_PORT | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. not clear why it's removed. after all we use the allocator only for JIT-generated templates. |
||
| - O2_SYSTEM | ||
| - O2_ROLE | ||
| pod: | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
todo add comment that it's mostly for jit-blabla, so I don't scratch my head when refactoring.