Dublin release
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_self-serve-pnf-assign.xml
1 <service-logic\r
2     xmlns='http://www.onap.org/sdnc/svclogic'\r
3     xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>\r
4     <method rpc='self-serve-pnf-assign' mode='sync'>\r
5         <block atomic='true'>\r
6             <set>\r
7                 <parameter name='is-new-pnf' value='true' />\r
8             </set>\r
9             <switch test='`$service-data.pnfs.pnf_length`'>\r
10                 <outcome value=''>\r
11                     <block>\r
12                         <set>\r
13                             <parameter name='pnf-index' value='0' />\r
14                         </set>\r
15                         <set>\r
16                             <parameter name='service-data.pnfs.pnf_length' value='1' />\r
17                         </set>\r
18                     </block>\r
19                 </outcome>\r
20                 <outcome value='0'>\r
21                     <block>\r
22                         <set>\r
23                             <parameter name='pnf-index' value='0' />\r
24                         </set>\r
25                         <set>\r
26                             <parameter name='service-data.pnfs.pnf_length' value='1' />\r
27                         </set>\r
28                     </block>\r
29                 </outcome>\r
30                 <outcome value='Other'>\r
31                     <block>\r
32                         <for index='idx' start='0' end='`$service-data.pnfs.pnf_length`' >\r
33                             <switch test='`$pf-topology-operation-input.pnf-details.pnf-id == $service-data.pnfs.pnf[$idx].pnf-id`'>\r
34                                 <outcome value='true'>\r
35                                     <block>\r
36                                         <set>\r
37                                             <parameter name='is-new-pnf' value='false' />\r
38                                         </set>\r
39                                         <set>\r
40                                             <parameter name='pnf-index' value='`$idx`' />\r
41                                         </set>\r
42                                         <break/>\r
43                                     </block>\r
44                                 </outcome>\r
45                             </switch>\r
46                         </for>\r
47                         <switch test='`$is-new-pnf`'>\r
48                             <outcome value='true'>\r
49                                 <block>\r
50                                     <set>\r
51                                         <parameter name='pnf-index' value='`$service-data.pnfs.pnf_length`' />\r
52                                     </set>\r
53                                     <set>\r
54                                         <parameter name='service-data.pnfs.pnf_length' value='`$service-data.pnfs.pnf_length + 1`' />\r
55                                     </set>\r
56                                 </block>\r
57                             </outcome>\r
58                         </switch>\r
59                     </block>\r
60                 </outcome>\r
61             </switch>\r
62             <switch test='`$is-new-pnf`'>\r
63                 <outcome value='true'>\r
64                     <block>\r
65                         <set>\r
66                             <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-topology-identifier-structure.pnf-id'\r
67  value='`$pnf-topology-operation-input.pnf-details.pnf-id`' />\r
68                             <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-topology-identifier-structure.pnf-type'\r
69  value='`$pnf-topology-operation-input.pnf-details.pnf-type`' />\r
70                             <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.tenant'\r
71  value='`$pnf-topology-operation-input.pnf-request-input.tenant`' />\r
72                             <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.aic-cloud-region'\r
73  value='`$pnf-topology-operation-input.pnf-request-input.aic-cloud-region`' />\r
74                         </set>\r
75                         <set>\r
76                             <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-id'\r
77    value='`$pnf-topology-operation-input.pnf-details.pnf-id`' />\r
78                         </set>\r
79                         <switch test='`$pnf-topology-operation-input.pnf-details.onap-model-information.model-invariant-uuid`'>\r
80                             <outcome value=''>\r
81                                 <set>\r
82                                     <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.onap-model-information.model-invariant-uuid'\r
83   value='`$db.pnf-model.invariant-uuid`' />\r
84                                 </set>\r
85                             </outcome>\r
86                             <outcome value='Other'>\r
87                                 <set>\r
88                                     <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.onap-model-information.model-invariant-uuid'\r
89   value='`$pnf-topology-operation-input.pnf-details.onap-model-information.model-invariant-uuid`' />\r
90                                 </set>\r
91                             </outcome>\r
92                         </switch>\r
93                         <switch test='`$pnf-topology-operation-input.pnf-details.onap-model-information.model-uuid`'>\r
94                             <outcome value=''>\r
95                                 <set>\r
96                                     <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.onap-model-information.model-uuid'\r
97   value='`$db.pnf-model.uuid`' />\r
98                                 </set>\r
99                             </outcome>\r
100                             <outcome value='Other'>\r
101                                 <set>\r
102                                     <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.onap-model-information.model-uuid'\r
103   value='`$pnf-topology-operation-input.pnf-details.onap-model-information.model-uuid`' />\r
104                                 </set>\r
105                             </outcome>\r
106                         </switch>\r
107                         <switch test='`$pnf-topology-operation-input.pnf-details.onap-model-information.model-version`'>\r
108                             <outcome value=''>\r
109                                 <set>\r
110                                     <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.onap-model-information.model-version'\r
111   value='`$db.pnf-model.version`' />\r
112                                 </set>\r
113                             </outcome>\r
114                             <outcome value='Other'>\r
115                                 <set>\r
116                                     <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.onap-model-information.model-version'\r
117   value='`$pnf-topology-operation-input.pnf-details.onap-model-information.model-version`' />\r
118                                 </set>\r
119                             </outcome>\r
120                         </switch>\r
121                         <switch test='`$pnf-topology-operation-input.pnf-details.onap-model-information.model-name`'>\r
122                             <outcome value=''>\r
123                                 <set>\r
124                                     <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.onap-model-information.model-name'\r
125   value='`$db.pnf-model.name`' />\r
126                                 </set>\r
127                             </outcome>\r
128                             <outcome value='Other'>\r
129                                 <set>\r
130                                     <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.onap-model-information.model-name'\r
131   value='`$pnf-topology-operation-input.pnf-details.onap-model-information.model-name`' />\r
132                                 </set>\r
133                             </outcome>\r
134                         </switch>\r
135                         <set>\r
136                             <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.onap-model-information.model-customization-uuid' \r
137   value='`$pnf-topology-operation-input.pnf-details.onap-model-information.model-customization-uuid`' />\r
138                         </set>\r
139                         <set>\r
140                             <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.sdnc-request-header.'\r
141         value='$pnf-topology-operation-input.sdnc-request-header.' />\r
142                             <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.request-information.'\r
143         value='$pnf-topology-operation-input.request-information.' />\r
144                             <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.service-information.'\r
145         value='$pnf-topology-operation-input.service-information.' />\r
146                             <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-details.'\r
147         value='$pnf-topology-operation-input.pnf-details.' />\r
148                             <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-request-input.'\r
149         value='$pnf-topology-operation-input.pnf-request-input.' />\r
150                         </set>\r
151                         <set>\r
152                             <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-level-oper-status.order-status' value='PendingCreate' />\r
153                             <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-level-oper-status.last-rpc-action' value='`$pnf-topology-operation-input.sdnc-request-header.svc-action`' />\r
154                             <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-level-oper-status.last-action' value='`$pnf-topology-operation-input.request-information.request-action`' />\r
155                         </set>\r
156                     </block>\r
157                 </outcome>\r
158             </switch>\r
159             <set>\r
160                 <parameter name='ss.capability.execution-order[0]' value='aai-get' />\r
161                 <parameter name='ss.capability.execution-order[1]' value='generate-name' />\r
162                 <parameter name='ss.capability.execution-order[2]' value='alts-entitlement-assign' />\r
163                 <parameter name='ss.capability.execution-order[3]' value='alts-license-assign' />\r
164                 <parameter name='ss.capability.execution-order[4]' value='vlan-tag-assign' />\r
165                 <parameter name='ss.capability.execution-order[5]' value='mS-vlan-tag-assign' />\r
166                 <parameter name='ss.capability.execution-order[6]' value='eipam-ip-assignment' />\r
167                 <parameter name='ss.capability.execution-order[7]' value='eipam-create-pool' />\r
168                 <parameter name='ss.capability.execution-order[8]' value='netbox-ip-assign' />\r
169                 <parameter name='ss.capability.execution-order[9]' value='mac-address-assign' />\r
170                 <parameter name='ss.capability.execution-order[10]' value='mS-mac-address-assign' />\r
171                 <parameter name='ss.capability.execution-order[11]' value='create-vpe-pool' />\r
172                 <parameter name='ss.capability.execution-order[12]' value='unresolved-composite-data' />\r
173                 <parameter name='ss.capability.execution-order[13]' value='aai-pnf-put' />\r
174                 <parameter name='ss.capability.execution-order_length' value='14' />\r
175             </set>\r
176             <set>\r
177                 <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.sdnc-generated-cloud-resources' value='true' />\r
178             </set>\r
179             <set>\r
180                 <parameter name='ss.capability-type' value='pnf' />\r
181             </set>\r
182             <switch test='`$prop.controller.user`'>\r
183                 <outcome value=''>\r
184                     <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
185                         <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
186                         <parameter name='contextPrefix' value='prop' />\r
187                     </execute>\r
188                 </outcome>\r
189             </switch>\r
190             <switch test='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param_length`'>\r
191                 <outcome value=''>\r
192                     <block atomic='true'>\r
193                         <set>\r
194                             <parameter name='service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.'\r
195   value='pnf-topology-operation-input.pnf-request-input.pnf-input-parameters.' />\r
196                         </set>\r
197                         <call module='GENERIC-RESOURCE-API' rpc='self-serve-pnf-ra-assignment' mode='sync' >\r
198                             <outcome value='failure'>\r
199                                 <return status='failure'>\r
200                                     <parameter name='error-code' value='500' />\r
201                                     <parameter name='error-message' value="`'Failed to get RA assignments: ' + $error-message`" />\r
202                                 </return>\r
203                             </outcome>\r
204                         </call>\r
205                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
206                             <parameter name="logger" value="message-log"/>\r
207                             <parameter name="field1" value="DONE with pnf-ra-assigment"/>\r
208                         </record>\r
209                     </block>\r
210                 </outcome>\r
211             </switch>\r
212             <for index='cidx' start='0' end='`$ss.capability.execution-order_length`' >\r
213                 <set>\r
214                     <parameter name='ss.capability-name' value='`$ss.capability.execution-order[$cidx]`' />\r
215                     <!--\r
216 ss.capability.execution-order[]\r
217 -->\r
218                 </set>\r
219                 <set>\r
220                     <parameter name='ss.capability-action' value='assign' />\r
221                 </set>\r
222                 <set>\r
223                     <parameter name='ss.capability-dg' value="`'self-serve-' + $ss.capability.execution-order[$cidx]`" />\r
224                 </set>\r
225                 <for index='pidx' start='0' end='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param_length`' >\r
226                     <set>\r
227                         <parameter name='tmp.param.capability-name' \r
228   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$pidx].resource-resolution-data.capability-name`' />\r
229                     </set>\r
230                     <switch test='`$ss.capability-name == $tmp.param.capability-name`'>\r
231                         <outcome value='true'>\r
232                             <block atomic='true'>\r
233                                 <switch test='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.pnf-parameters-data.param[$pidx].resource-resolution-data.status`'>\r
234                                     <outcome value='PENDING'>\r
235                                         <call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >\r
236                                             <outcome value='failure'>\r
237                                                 <block atomic='true'>\r
238                                                     <set>\r
239                                                         <parameter name='pf.pnf-id'\r
240     value='`$service-data.pnfs.pnf[$pnf-index].pnf-id`' />\r
241                                                         <parameter name='pf.pnf-data.sdnc-request-header.'\r
242   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.sdnc-request-header.`' />\r
243                                                         <parameter name='pf.pnf-data.request-information.'\r
244   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.request-information.`' />\r
245                                                         <parameter name='pf.pnf-data.service-information.'\r
246   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.service-information.`' />\r
247                                                         <parameter name='pf.pnf-data.pnf-details.'\r
248   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-details.`' />\r
249                                                         <parameter name='pf.pnf-data.pnf-topology.'\r
250   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.`' />\r
251                                                         <parameter name='pf.pnf-data.pnf-level-oper-status.'\r
252   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-level-oper-status.`' />\r
253                                                         <parameter name='pf.pnf-data.pnf-request-input.pnf-input-parameters.'\r
254   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-request-input.pnf-input-parameters.`' />\r
255                                                         <parameter name='pf.pnf-data.pnf-request-input.request-version'\r
256   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-request-input.request-version`' />\r
257                                                         <parameter name='pf.pnf-data.pnf-request-input.pnf-name'\r
258   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-request-input.pnf-name`' />\r
259                                                         <parameter name='pf.pnf-data.pnf-request-input.tenant'\r
260   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-request-input.tenant`' />\r
261                                                         <parameter name='pf.pnf-data.pnf-request-input.aic-cloud-region'\r
262   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-request-input.aic-cloud-region`' />\r
263                                                         <parameter name='pf.pnf-data.pnf-request-input.aic-clli'\r
264   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-request-input.aic-clli`' />\r
265                                                     </set>\r
266                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
267                                                         <parameter name="source" value="`$prop.restapi.ss-pnf-assignments`"/>\r
268                                                         <parameter name="outputPath" value="tmp.ss-pnf-url"/>\r
269                                                         <parameter name="target" value="{service-instance-id}"/>\r
270                                                         <parameter name="replacement" value="`$service-data.pnfs.pnf[$pnf-index].pnf-data.service-information.service-instance-id`"/>\r
271                                                     </execute>\r
272                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
273                                                         <parameter name="source" value="`$tmp.ss-pnf-url`"/>\r
274                                                         <parameter name="outputPath" value="tmp.ss-pnf-url"/>\r
275                                                         <parameter name="target" value="{pnf-id}"/>\r
276                                                         <parameter name="replacement" value="`$service-data.pnfs.pnf[$pnf-index].pnf-id`"/>\r
277                                                     </execute>\r
278                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
279                                                         <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.ss.pnf.templatefile`" />\r
280                                                         <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ss-pnf-url`' />\r
281                                                         <parameter name='restapiUser' value='`$prop.controller.user`' />\r
282                                                         <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
283                                                         <parameter name='format' value='json' />\r
284                                                         <parameter name='httpMethod' value='PUT' />\r
285                                                         <parameter name="responsePrefix" value="mdsal-ss-pnf" />\r
286                                                         <outcome value='failure'>\r
287                                                             <set>\r
288                                                                 <parameter name="error-message" value="Failed to persist self-serve pnf assignments during assign in MD-SAL" />\r
289                                                             </set>\r
290                                                         </outcome>\r
291                                                         <outcome value='not-found'>\r
292                                                             <set>\r
293                                                                 <parameter name="error-message" value="Failed to persist self-serve pnf assignments during assign in MD-SAL" />\r
294                                                             </set>\r
295                                                         </outcome>\r
296                                                     </execute>\r
297                                                     <return status='failure'>\r
298                                                         <parameter name='error-code' value='500' />\r
299                                                         <parameter name='error-message' value="`'Encountered error from capability: '+ $ss.capability-dg + ', with error: '+ $error-message`" />\r
300                                                     </return>\r
301                                                 </block>\r
302                                             </outcome>\r
303                                             <outcome value='success'>\r
304                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
305                                                     <parameter name="logger" value="message-log"/>\r
306                                                     <parameter name="field1" value="`'EXECUTION DONE: ' + $ss.capability-dg`"/>\r
307                                                 </record>\r
308                                             </outcome>\r
309                                         </call>\r
310                                     </outcome>\r
311                                     <outcome value='FAILED'>\r
312                                         <call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >\r
313                                             <outcome value='failure'>\r
314                                                 <block atomic='true'>\r
315                                                     <set>\r
316                                                         <parameter name='pf.pnf-id'\r
317     value='`$service-data.pnfs.pnf[$pnf-index].pnf-id`' />\r
318                                                         <parameter name='pf.pnf-data.sdnc-request-header.'\r
319   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.sdnc-request-header.`' />\r
320                                                         <parameter name='pf.pnf-data.request-information.'\r
321   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.request-information.`' />\r
322                                                         <parameter name='pf.pnf-data.service-information.'\r
323   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.service-information.`' />\r
324                                                         <parameter name='pf.pnf-data.pnf-details.'\r
325   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-details.`' />\r
326                                                         <parameter name='pf.pnf-data.pnf-topology.'\r
327   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-topology.`' />\r
328                                                         <parameter name='pf.pnf-data.pnf-level-oper-status.'\r
329   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-level-oper-status.`' />\r
330                                                         <parameter name='pf.pnf-data.pnf-request-input.pnf-input-parameters.'\r
331   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-request-input.pnf-input-parameters.`' />\r
332                                                         <parameter name='pf.pnf-data.pnf-request-input.request-version'\r
333   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-request-input.request-version`' />\r
334                                                         <parameter name='pf.pnf-data.pnf-request-input.pnf-name'\r
335   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-request-input.pnf-name`' />\r
336                                                         <parameter name='pf.pnf-data.pnf-request-input.tenant'\r
337   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-request-input.tenant`' />\r
338                                                         <parameter name='pf.pnf-data.pnf-request-input.aic-cloud-region'\r
339   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-request-input.aic-cloud-region`' />\r
340                                                         <parameter name='pf.pnf-data.pnf-request-input.aic-clli'\r
341   value='`$service-data.pnfs.pnf[$pnf-index].pnf-data.pnf-request-input.aic-clli`' />\r
342                                                     </set>\r
343                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
344                                                         <parameter name="source" value="`$prop.restapi.ss-pnf-assignments`"/>\r
345                                                         <parameter name="outputPath" value="tmp.ss-pnf-url"/>\r
346                                                         <parameter name="target" value="{service-instance-id}"/>\r
347                                                         <parameter name="replacement" value="`$service-data.pnfs.pnf[$pnf-index].pnf-data.service-information.service-instance-id`"/>\r
348                                                     </execute>\r
349                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
350                                                         <parameter name="source" value="`$tmp.ss-pnf-url`"/>\r
351                                                         <parameter name="outputPath" value="tmp.ss-pnf-url"/>\r
352                                                         <parameter name="target" value="{pnf-id}"/>\r
353                                                         <parameter name="replacement" value="`$service-data.pnfs.pnf[$pnf-index].pnf-id`"/>\r
354                                                     </execute>\r
355                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
356                                                         <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.ss.pnf.templatefile`" />\r
357                                                         <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ss-pnf-url`' />\r
358                                                         <parameter name='restapiUser' value='`$prop.controller.user`' />\r
359                                                         <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
360                                                         <parameter name='format' value='json' />\r
361                                                         <parameter name='httpMethod' value='PUT' />\r
362                                                         <parameter name="responsePrefix" value="mdsal-ss-pnf" />\r
363                                                         <outcome value='failure'>\r
364                                                             <set>\r
365                                                                 <parameter name="error-message" value="Failed to persist self-serve pnf assignments during assign in MD-SAL" />\r
366                                                             </set>\r
367                                                         </outcome>\r
368                                                         <outcome value='not-found'>\r
369                                                             <set>\r
370                                                                 <parameter name="error-message" value="Failed to persist self-serve pnf assignments during assign in MD-SAL" />\r
371                                                             </set>\r
372                                                         </outcome>\r
373                                                     </execute>\r
374                                                     <return status='failure'>\r
375                                                         <parameter name='error-code' value='500' />\r
376                                                         <parameter name='error-message' value="`'Encountered error from capability: '+ $ss.capability-dg + ', with error: '+ $error-message`" />\r
377                                                     </return>\r
378                                                 </block>\r
379                                             </outcome>\r
380                                             <outcome value='success'>\r
381                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
382                                                     <parameter name="logger" value="message-log"/>\r
383                                                     <parameter name="field1" value="`'EXECUTION DONE: ' + $ss.capability-dg`"/>\r
384                                                 </record>\r
385                                             </outcome>\r
386                                         </call>\r
387                                     </outcome>\r
388                                 </switch>\r
389                                 <break/>\r
390                             </block>\r
391                         </outcome>\r
392                     </switch>\r
393                 </for>\r
394             </for>\r
395             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
396                 <parameter name='filename' value='/var/tmp/ss-pnf-assign.log' />\r
397             </execute>\r
398         </block>\r
399     </method>\r
400 </service-logic>