Skip to content

Commit b1f5118

Browse files
committed
Add rom pillar I topology
Signed-off-by: Albertin Loic <[email protected]>
1 parent a71fa1e commit b1f5118

File tree

1 file changed

+320
-0
lines changed

1 file changed

+320
-0
lines changed

rom_pillar_I/tosca/topology.yml

Lines changed: 320 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,320 @@
1+
tosca_definitions_version: alien_dsl_3_0_0
2+
3+
metadata:
4+
template_name: "rom_pillar_I"
5+
template_version: 1.0.0-SNAPSHOT
6+
template_author: loicalbertin
7+
8+
description: ""
9+
10+
imports:
11+
- yorc-types:1.1.0
12+
- tosca-normative-types:1.0.0-ALIEN20
13+
- dls.ansible:1.2.0-SNAPSHOT
14+
- alien-base-types:3.0.0
15+
- eflows4hpc.env:1.0.0-SNAPSHOT
16+
- imagecreation.ansible:1.2.0-SNAPSHOT
17+
- org.eflows4hpc.pycompss.plugin:1.0.0-SNAPSHOT
18+
19+
topology_template:
20+
inputs:
21+
debug:
22+
type: boolean
23+
required: true
24+
default: false
25+
description: "Do not redact sensible information on logs"
26+
user_id:
27+
type: string
28+
required: false
29+
default: ""
30+
description: "User id to use for authentication may be replaced with workflow input"
31+
vault_id:
32+
type: string
33+
required: false
34+
default: ""
35+
description: "User id to use for authentication may be replaced with workflow input"
36+
container_image_transfer_directory:
37+
type: string
38+
required: false
39+
description: "path of the image on the remote host"
40+
mid:
41+
type: string
42+
required: true
43+
description: "Uploaded Metadata ID"
44+
register_result_in_datacat:
45+
type: boolean
46+
required: false
47+
default: false
48+
description: "Should the record created in b2share be registered with data cat"
49+
node_templates:
50+
StageOutData:
51+
metadata:
52+
a4c_edit_x: 246
53+
a4c_edit_y: "-116"
54+
type: dls.ansible.nodes.DLSDAGStageOutData
55+
properties:
56+
mid: { get_input: mid }
57+
register: { get_input: register_result_in_datacat }
58+
input_name_for_mid: mid
59+
input_name_for_source_path: "result_data_path"
60+
input_name_for_register: register
61+
dls_api_username: { get_secret: [/secret/data/services_secrets/dls, data=username] }
62+
dls_api_password: { get_secret: [/secret/data/services_secrets/dls, data=password] }
63+
dag_id: "upload_example"
64+
debug: { get_input: debug }
65+
user_id: ""
66+
vault_id: ""
67+
run_in_standard_mode: false
68+
requirements:
69+
- dependsOnAbstractEnvironmentExec_env:
70+
type_requirement: environment
71+
node: AbstractEnvironment
72+
capability: eflows4hpc.env.capabilities.ExecutionEnvironment
73+
relationship: tosca.relationships.DependsOn
74+
- dependsOnPyCompsJob2Feature:
75+
type_requirement: dependency
76+
node: PyCOMPSJob
77+
capability: tosca.capabilities.Node
78+
relationship: tosca.relationships.DependsOn
79+
ImageCreation:
80+
metadata:
81+
a4c_edit_x: 916
82+
a4c_edit_y: "-370"
83+
type: imagecreation.ansible.nodes.ImageCreation
84+
properties:
85+
service_url: "https://bscgrid20.bsc.es/image_creation"
86+
insecure_tls: true
87+
username: { get_secret: [/secret/data/services_secrets/image_creation, data=user] }
88+
password: { get_secret: [/secret/data/services_secrets/image_creation, data=password] }
89+
machine:
90+
container_engine: singularity
91+
platform: "linux/amd64"
92+
architecture: sandybridge
93+
workflow: "rom_pillar_I"
94+
step_id: "reduce_order_model"
95+
force: false
96+
debug: { get_input: debug }
97+
run_in_standard_mode: true
98+
DLSDAGImageTransfer:
99+
metadata:
100+
a4c_edit_x: 475
101+
a4c_edit_y: "-365"
102+
type: dls.ansible.nodes.DLSDAGImageTransfer
103+
properties:
104+
image_id: "not_used"
105+
target_path: { get_input: container_image_transfer_directory }
106+
run_in_standard_mode: true
107+
dls_api_username: { get_secret: [/secret/data/services_secrets/dls, data=username] }
108+
dls_api_password: { get_secret: [/secret/data/services_secrets/dls, data=password] }
109+
dag_id: "transfer_image"
110+
debug: { get_input: debug }
111+
user_id: { get_input: user_id }
112+
vault_id: { get_input: vault_id }
113+
requirements:
114+
- dependsOnImageCreationFeature:
115+
type_requirement: dependency
116+
node: ImageCreation
117+
capability: tosca.capabilities.Node
118+
relationship: tosca.relationships.DependsOn
119+
- dependsOnAbstractEnvironmentExec_env:
120+
type_requirement: environment
121+
node: AbstractEnvironment
122+
capability: eflows4hpc.env.capabilities.ExecutionEnvironment
123+
relationship: tosca.relationships.DependsOn
124+
AbstractEnvironment:
125+
metadata:
126+
a4c_edit_x: 890
127+
a4c_edit_y: "-233"
128+
type: eflows4hpc.env.nodes.AbstractEnvironment
129+
PyCOMPSJob:
130+
metadata:
131+
a4c_edit_x: 307
132+
a4c_edit_y: "-244"
133+
type: org.eflows4hpc.pycompss.plugin.nodes.PyCOMPSJob
134+
properties:
135+
submission_params:
136+
qos: debug
137+
python_interpreter: python3
138+
num_nodes: 2
139+
extra_compss_opts: "--cpus_per_task --env_script=/reduce_order_model/env.sh"
140+
application:
141+
container_opts:
142+
container_opts: "-e"
143+
container_compss_path: "/opt/view/compss"
144+
arguments:
145+
- "$(dirname ${staged_in_file_path})"
146+
- "/reduce_order_model/ProjectParameters_tmpl.json"
147+
- "${result_data_path}/RomParameters.json"
148+
command: "/reduce_order_model/src/UpdatedWorkflow.py"
149+
keep_environment: true
150+
requirements:
151+
- dependsOnDlsdagImageTransferFeature:
152+
type_requirement: img_transfer
153+
node: DLSDAGImageTransfer
154+
capability: tosca.capabilities.Node
155+
relationship: tosca.relationships.DependsOn
156+
- dependsOnAbstractEnvironmentExec_env:
157+
type_requirement: environment
158+
node: AbstractEnvironment
159+
capability: eflows4hpc.env.capabilities.ExecutionEnvironment
160+
relationship: tosca.relationships.DependsOn
161+
- dependsOnHttp2SshFeature:
162+
type_requirement: dependency
163+
node: HTTP2SSH
164+
capability: tosca.capabilities.Node
165+
relationship: tosca.relationships.DependsOn
166+
HTTP2SSH:
167+
metadata:
168+
a4c_edit_x: 201
169+
a4c_edit_y: "-449"
170+
type: dls.ansible.nodes.HTTP2SSH
171+
properties:
172+
dag_id: plainhttp2ssh
173+
url: "https://b2drop.bsc.es/index.php/s/fQ85ZLDztG2t5j3/download/GidExampleSwaped.mdpa"
174+
force: true
175+
input_name_for_url: url
176+
input_name_for_target_path: "staged_in_file_path"
177+
dls_api_username: { get_secret: [/secret/data/services_secrets/dls, data=username] }
178+
dls_api_password: { get_secret: [/secret/data/services_secrets/dls, data=password] }
179+
debug: { get_input: debug }
180+
user_id: ""
181+
vault_id: ""
182+
run_in_standard_mode: false
183+
requirements:
184+
- dependsOnAbstractEnvironmentExec_env:
185+
type_requirement: environment
186+
node: AbstractEnvironment
187+
capability: eflows4hpc.env.capabilities.ExecutionEnvironment
188+
relationship: tosca.relationships.DependsOn
189+
workflows:
190+
exec_job:
191+
inputs:
192+
user_id:
193+
type: string
194+
required: true
195+
vault_id:
196+
type: string
197+
required: true
198+
result_data_path:
199+
type: string
200+
required: true
201+
staged_in_file_path:
202+
type: string
203+
required: true
204+
num_nodes:
205+
type: integer
206+
required: false
207+
default: 1
208+
steps:
209+
StageOutData_executing:
210+
target: StageOutData
211+
activities:
212+
- set_state: executing
213+
on_success:
214+
- StageOutData_run
215+
HTTP2SSH_submitted:
216+
target: HTTP2SSH
217+
activities:
218+
- set_state: submitted
219+
on_success:
220+
- HTTP2SSH_executing
221+
PyCOMPSJob_submitting:
222+
target: PyCOMPSJob
223+
activities:
224+
- set_state: submitting
225+
on_success:
226+
- PyCOMPSJob_submit
227+
PyCOMPSJob_submit:
228+
target: PyCOMPSJob
229+
operation_host: ORCHESTRATOR
230+
activities:
231+
- call_operation: tosca.interfaces.node.lifecycle.Runnable.submit
232+
on_success:
233+
- PyCOMPSJob_submitted
234+
StageOutData_submitted:
235+
target: StageOutData
236+
activities:
237+
- set_state: submitted
238+
on_success:
239+
- StageOutData_executing
240+
StageOutData_submitting:
241+
target: StageOutData
242+
activities:
243+
- set_state: submitting
244+
on_success:
245+
- StageOutData_submit
246+
StageOutData_run:
247+
target: StageOutData
248+
operation_host: ORCHESTRATOR
249+
activities:
250+
- call_operation: tosca.interfaces.node.lifecycle.Runnable.run
251+
on_success:
252+
- StageOutData_executed
253+
HTTP2SSH_executing:
254+
target: HTTP2SSH
255+
activities:
256+
- set_state: executing
257+
on_success:
258+
- HTTP2SSH_run
259+
PyCOMPSJob_submitted:
260+
target: PyCOMPSJob
261+
activities:
262+
- set_state: submitted
263+
on_success:
264+
- PyCOMPSJob_executing
265+
HTTP2SSH_submitting:
266+
target: HTTP2SSH
267+
activities:
268+
- set_state: submitting
269+
on_success:
270+
- HTTP2SSH_submit
271+
StageOutData_submit:
272+
target: StageOutData
273+
operation_host: ORCHESTRATOR
274+
activities:
275+
- call_operation: tosca.interfaces.node.lifecycle.Runnable.submit
276+
on_success:
277+
- StageOutData_submitted
278+
HTTP2SSH_run:
279+
target: HTTP2SSH
280+
operation_host: ORCHESTRATOR
281+
activities:
282+
- call_operation: tosca.interfaces.node.lifecycle.Runnable.run
283+
on_success:
284+
- HTTP2SSH_executed
285+
HTTP2SSH_executed:
286+
target: HTTP2SSH
287+
activities:
288+
- set_state: executed
289+
on_success:
290+
- PyCOMPSJob_submitting
291+
StageOutData_executed:
292+
target: StageOutData
293+
activities:
294+
- set_state: executed
295+
PyCOMPSJob_executing:
296+
target: PyCOMPSJob
297+
activities:
298+
- set_state: executing
299+
on_success:
300+
- PyCOMPSJob_run
301+
HTTP2SSH_submit:
302+
target: HTTP2SSH
303+
operation_host: ORCHESTRATOR
304+
activities:
305+
- call_operation: tosca.interfaces.node.lifecycle.Runnable.submit
306+
on_success:
307+
- HTTP2SSH_submitted
308+
PyCOMPSJob_executed:
309+
target: PyCOMPSJob
310+
activities:
311+
- set_state: executed
312+
on_success:
313+
- StageOutData_submitting
314+
PyCOMPSJob_run:
315+
target: PyCOMPSJob
316+
operation_host: ORCHESTRATOR
317+
activities:
318+
- call_operation: tosca.interfaces.node.lifecycle.Runnable.run
319+
on_success:
320+
- PyCOMPSJob_executed

0 commit comments

Comments
 (0)