Generic resource API DG catch up
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_self-serve-mac-address-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-mac-address-assign' mode='sync'>\r
5         <block atomic='true'>\r
6             <switch test="`$ss.capability-name`">\r
7                 <outcome value='Other'>\r
8                     <block>\r
9                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
10                             <parameter name="logger" value="message-log"/>\r
11                             <parameter name="field1" value="__TIMESTAMP__"/>\r
12                             <parameter name="field2" value="self-serve-mac-address-assign: ss.capability-name is not set"/>\r
13                         </record>\r
14                         <return status='failure'>\r
15                             <parameter name='error-code' value='401' />\r
16                             <parameter name='error-message' value='ss.capability-name is not set' />\r
17                         </return>\r
18                     </block>\r
19                 </outcome>\r
20                 <outcome value=''>\r
21                     <block>\r
22                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
23                             <parameter name="logger" value="message-log"/>\r
24                             <parameter name="field1" value="__TIMESTAMP__"/>\r
25                             <parameter name="field2" value="self-serve-mac-address-assign: ss.capability-name is not set"/>\r
26                         </record>\r
27                         <return status='failure'>\r
28                             <parameter name='error-code' value='401' />\r
29                             <parameter name='error-message' value='ss.capability-name is not set' />\r
30                         </return>\r
31                     </block>\r
32                 </outcome>\r
33                 <outcome value='null'>\r
34                     <block>\r
35                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
36                             <parameter name="logger" value="message-log"/>\r
37                             <parameter name="field1" value="__TIMESTAMP__"/>\r
38                             <parameter name="field2" value="self-serve-mac-address-assign: ss.capability-name is not set"/>\r
39                         </record>\r
40                         <return status='failure'>\r
41                             <parameter name='error-code' value='401' />\r
42                             <parameter name='error-message' value='ss.capability-name is not set' />\r
43                         </return>\r
44                     </block>\r
45                 </outcome>\r
46                 <outcome value='mac-address-assign'>\r
47                     <record plugin="com.att.sdnctl.sli.recording.Slf4jRecorder">\r
48                         <parameter name="logger" value="message-log"/>\r
49                         <parameter name="field1" value="__TIMESTAMP__"/>\r
50                         <parameter name="field2" value="self-serve-mac-address-assign: ss.capability-name is mac-address-assign"/>\r
51                     </record>\r
52                 </outcome>\r
53             </switch>\r
54             <switch test="`$ss.capability-action`">\r
55                 <outcome value='Other'></outcome>\r
56                 <outcome value=''>\r
57                     <block>\r
58                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
59                             <parameter name="logger" value="message-log"/>\r
60                             <parameter name="field1" value="__TIMESTAMP__"/>\r
61                             <parameter name="field2" value="self-serve-mac-address-assign: ss.capability-action is not set"/>\r
62                         </record>\r
63                         <return status='failure'>\r
64                             <parameter name='error-code' value='401' />\r
65                             <parameter name='error-message' value='ss.capability-action is not set' />\r
66                         </return>\r
67                     </block>\r
68                 </outcome>\r
69                 <outcome value='null'></outcome>\r
70                 <outcome value='ASSIGN'>\r
71                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
72                         <parameter name="logger" value="message-log"/>\r
73                         <parameter name="field1" value="__TIMESTAMP__"/>\r
74                         <parameter name="field2" value="self-serve-mac-address-assign: ss.capability-action is ASSIGN"/>\r
75                     </record>\r
76                 </outcome>\r
77                 <outcome value='UNASSIGN'>\r
78                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
79                         <parameter name="logger" value="message-log"/>\r
80                         <parameter name="field1" value="__TIMESTAMP__"/>\r
81                         <parameter name="field2" value="self-serve-mac-address-assign: ss.capability-action is UNASSIGN"/>\r
82                     </record>\r
83                 </outcome>\r
84             </switch>\r
85             <block atomic='true'>\r
86                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
87                     <parameter name="logger" value="message-log"/>\r
88                     <parameter name="field1" value="__TIMESTAMP__"/>\r
89                     <parameter name="field2" value="self-serve-mac-address-assign: call self-service-capability-param-resolution DG"/>\r
90                 </record>\r
91                 <set>\r
92                     <!--<parameter name='generate-unique-name-input.index-table-name' value='VM_NAME_INDEX' />-->\r
93                 </set>\r
94                 <call module='GENERIC-RESOURCE-API' rpc='self-serve-capability-param-resolution' mode='sync' >\r
95                     <outcome value='failure'>\r
96                         <block>\r
97                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
98                                 <parameter name="logger" value="message-log"/>\r
99                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
100                                 <parameter name="field2" value="self-serve-mac-address-assign: Failure calling self-service-capability-param-resolution"/>\r
101                             </record>\r
102                             <return status='failure'>\r
103                                 <parameter name='error-code' value='402' />\r
104                                 <parameter name='error-message' value='Failure calling self-service-capability-param-resolution' />\r
105                             </return>\r
106                         </block>\r
107                     </outcome>\r
108                     <outcome value='success'></outcome>\r
109                 </call>\r
110             </block>\r
111             <block atomic='true'>\r
112                 <set>\r
113                     <parameter name='tmp.vf-module-parameters-length' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param_length`' />\r
114                 </set>\r
115                 <for index='vf-module-param-index' start='0' end='`$tmp.vf-module-parameters-length`' >\r
116                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
117                         <parameter name="logger" value="message-log"/>\r
118                         <parameter name="field1" value="__TIMESTAMP__"/>\r
119                         <parameter name="field2" value="self-serve-mac-address-assign: vf-module-param-index"/>\r
120                         <parameter name="field3" value='`$vf-module-param-index`'/>\r
121                     </record>\r
122                     <block>\r
123                         <set>\r
124                             <parameter name='vfModuleParamsCapabilityName' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.capability-name`'  />\r
125                         </set>\r
126                         <switch test="`$ss.capability-name == $vfModuleParamsCapabilityName`">\r
127                             <outcome value='true'>\r
128                                 <block>\r
129                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
130                                         <parameter name="logger" value="message-log"/>\r
131                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
132                                         <parameter name="field2" value="self-serve-mac-address-assign: Found ss.capability-name MATCH"/>\r
133                                     </record>\r
134                                     <set>\r
135                                         <parameter name='tmp.resource-resolution-data.' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.`'  />\r
136                                     </set>\r
137                                     <break/>\r
138                                 </block>\r
139                             </outcome>\r
140                             <outcome value='false'></outcome>\r
141                         </switch>\r
142                     </block>\r
143                 </for>\r
144             </block>\r
145             <switch test="`$tmp.resource-resolution-data.status == 'PENDING'`">\r
146                 <outcome value='false'>\r
147                     <block>\r
148                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
149                             <parameter name="logger" value="message-log"/>\r
150                             <parameter name="field1" value="__TIMESTAMP__"/>\r
151                             <parameter name="field2" value="self-serve-mac-address-assign: reseouce-resolution-data.status is not PENDING"/>\r
152                         </record>\r
153                         <set>\r
154                             <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
155                         </set>\r
156                         <return status='failure'>\r
157                             <parameter name='error-code' value='401' />\r
158                             <parameter name='error-message' value='reseouce-resolution-data.status is not PENDING' />\r
159                         </return>\r
160                     </block>\r
161                 </outcome>\r
162             </switch>\r
163             <block atomic='true'>\r
164                 <set>\r
165                     <parameter name='tmp.resource-key-length' value='`$tmp.resource-resolution-data.resource-key_length`' />\r
166                 </set>\r
167                 <for index='key-index' start='0' end='`$tmp.resource-resolution-data.resource-key_length`' >\r
168                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
169                         <parameter name="logger" value="message-log"/>\r
170                         <parameter name="field1" value="__TIMESTAMP__"/>\r
171                         <parameter name="field2" value="self-serve-mac-address-assign: key-index"/>\r
172                         <parameter name="field3" value='`$key-index`'/>\r
173                     </record>\r
174                     <block>\r
175                         <switch test="`$tmp.resource-resolution-data.resource-key[$key-index].name == 'vnf-name'`">\r
176                             <outcome value='true'>\r
177                                 <block>\r
178                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
179                                         <parameter name="logger" value="message-log"/>\r
180                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
181                                         <parameter name="field2" value="self-serve-mac-address-assign: Found resource-resolution-data.name = vnf-name"/>\r
182                                     </record>\r
183                                     <set>\r
184                                         <parameter name='tmp.hostname' value='`$tmp.resource-resolution-data.resource-key[$key-index].value`'  />\r
185                                     </set>\r
186                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
187                                         <parameter name="logger" value="message-log"/>\r
188                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
189                                         <parameter name="field2" value="self-serve-mac-address-assign: resolved hostname: "/>\r
190                                         <parameter name="field3" value='`$tmp.hostname`'/>\r
191                                     </record>\r
192                                 </block>\r
193                             </outcome>\r
194                             <outcome value='false'></outcome>\r
195                         </switch>\r
196                     </block>\r
197                 </for>\r
198                 <switch test="`$tmp.hostname`">\r
199                     <outcome value='null'>\r
200                         <block>\r
201                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
202                                 <parameter name="logger" value="message-log"/>\r
203                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
204                                 <parameter name="field2" value="self-serve-mac-address-assign: hostname is not set"/>\r
205                             </record>\r
206                             <set>\r
207                                 <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
208                             </set>\r
209                             <return status='failure'>\r
210                                 <parameter name='error-code' value='403' />\r
211                                 <parameter name='error-message' value='hostname is not set' />\r
212                             </return>\r
213                         </block>\r
214                     </outcome>\r
215                     <outcome value=''>\r
216                         <block>\r
217                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
218                                 <parameter name="logger" value="message-log"/>\r
219                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
220                                 <parameter name="field2" value="self-serve-mac-address-assign: hostname is not set"/>\r
221                             </record>\r
222                             <set>\r
223                                 <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
224                             </set>\r
225                             <return status='failure'>\r
226                                 <parameter name='error-code' value='403' />\r
227                                 <parameter name='error-message' value='hostname is not set' />\r
228                             </return>\r
229                         </block>\r
230                     </outcome>\r
231                 </switch>\r
232             </block>\r
233             <switch test='`$ss.capability-action`'>\r
234                 <outcome value='ASSIGN'>\r
235                     <block atomic="true">\r
236                         <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \r
237 key="select * FROM VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING WHERE HOSTNAME= $tmp.hostname" pfx='tmp.map'>\r
238                             <outcome value='failure'>\r
239                                 <block>\r
240                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
241                                         <parameter name="logger" value="message-log"/>\r
242                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
243                                         <parameter name="field2" value="self-serve-mac-address-assign: Unable to access VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING"/>\r
244                                     </record>\r
245                                     <set>\r
246                                         <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
247                                     </set>\r
248                                     <return status='failure'>\r
249                                         <parameter name='error-code' value='405' />\r
250                                         <parameter name='error-message' value='Unable to access VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING' />\r
251                                     </return>\r
252                                 </block>\r
253                             </outcome>\r
254                         </get-resource>\r
255                         <switch test="`$tmp.map.hostname`">\r
256                             <outcome value='failure'>\r
257                                 <block>\r
258                                     <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \r
259 key="SELECT MIN(pool.id) as pool_id, pool.mac_address FROM VPE_MAC_ADDRESS_POOL pool WHERE NOT EXISTS(SELECT ID FROM VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING map where pool.ID = map.ID)" pfx='tmp.availid'>\r
260                                         <!--\r
261 tmp.availid.mac_address is the mac_address we need to have finally.\r
262 -->\r
263                                         <outcome value='failure'>\r
264                                             <block>\r
265                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
266                                                     <parameter name="logger" value="message-log"/>\r
267                                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
268                                                     <parameter name="field2" value="self-serve-mac-address-assign: reseouce-resolution-data.status is not PENDING"/>\r
269                                                 </record>\r
270                                                 <set>\r
271                                                     <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
272                                                 </set>\r
273                                                 <return status='failure'>\r
274                                                     <parameter name='error-code' value='406' />\r
275                                                     <parameter name='error-message' value='Failed to insert into VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING' />\r
276                                                 </return>\r
277                                             </block>\r
278                                         </outcome>\r
279                                     </get-resource>\r
280                                     <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" \r
281 resource="SQL" \r
282 key="INSERT INTO VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING ( id , hostname , assigned_user, assigned_date ) VALUES ( $tmp.availid.pool-id , $tmp.hostname , 'SDNC' , NOW())" \r
283 force='true' pfx='save_val'>\r
284                                         <outcome value='failure'>\r
285                                             <block>\r
286                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
287                                                     <parameter name="logger" value="message-log"/>\r
288                                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
289                                                     <parameter name="field2" value="self-serve-mac-address-assign: reseouce-resolution-data.status is not PENDING"/>\r
290                                                 </record>\r
291                                                 <set>\r
292                                                     <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
293                                                 </set>\r
294                                                 <return status='failure'>\r
295                                                     <parameter name='error-code' value='406' />\r
296                                                     <parameter name='error-message' value='Failed to insert into VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING' />\r
297                                                 </return>\r
298                                             </block>\r
299                                         </outcome>\r
300                                     </save>\r
301                                     <set>\r
302                                         <parameter name="tmp.mac-address.mac-address" value="`$tmp.availid.mac-address`" />\r
303                                     </set>\r
304                                 </block>\r
305                             </outcome>\r
306                             <outcome value=''>\r
307                                 <block>\r
308                                     <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \r
309 key="SELECT MIN(pool.id) as pool_id, pool.mac_address FROM VPE_MAC_ADDRESS_POOL pool WHERE NOT EXISTS(SELECT ID FROM VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING map where pool.ID = map.ID)" pfx='tmp.availid'>\r
310                                         <!--\r
311 tmp.availid.mac_address is the mac_address we need to have finally.\r
312 -->\r
313                                         <outcome value='failure'>\r
314                                             <block>\r
315                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
316                                                     <parameter name="logger" value="message-log"/>\r
317                                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
318                                                     <parameter name="field2" value="self-serve-mac-address-assign: reseouce-resolution-data.status is not PENDING"/>\r
319                                                 </record>\r
320                                                 <set>\r
321                                                     <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
322                                                 </set>\r
323                                                 <return status='failure'>\r
324                                                     <parameter name='error-code' value='406' />\r
325                                                     <parameter name='error-message' value='Failed to insert into VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING' />\r
326                                                 </return>\r
327                                             </block>\r
328                                         </outcome>\r
329                                     </get-resource>\r
330                                     <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" \r
331 resource="SQL" \r
332 key="INSERT INTO VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING ( id , hostname , assigned_user, assigned_date ) VALUES ( $tmp.availid.pool-id , $tmp.hostname , 'SDNC' , NOW())" \r
333 force='true' pfx='save_val'>\r
334                                         <outcome value='failure'>\r
335                                             <block>\r
336                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
337                                                     <parameter name="logger" value="message-log"/>\r
338                                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
339                                                     <parameter name="field2" value="self-serve-mac-address-assign: reseouce-resolution-data.status is not PENDING"/>\r
340                                                 </record>\r
341                                                 <set>\r
342                                                     <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
343                                                 </set>\r
344                                                 <return status='failure'>\r
345                                                     <parameter name='error-code' value='406' />\r
346                                                     <parameter name='error-message' value='Failed to insert into VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING' />\r
347                                                 </return>\r
348                                             </block>\r
349                                         </outcome>\r
350                                     </save>\r
351                                     <set>\r
352                                         <parameter name="tmp.mac-address.mac-address" value="`$tmp.availid.mac-address`" />\r
353                                     </set>\r
354                                 </block>\r
355                             </outcome>\r
356                             <outcome value='null'>\r
357                                 <block>\r
358                                     <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \r
359 key="SELECT MIN(pool.id) as pool_id, pool.mac_address FROM VPE_MAC_ADDRESS_POOL pool WHERE NOT EXISTS(SELECT ID FROM VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING map where pool.ID = map.ID)" pfx='tmp.availid'>\r
360                                         <!--\r
361 tmp.availid.mac_address is the mac_address we need to have finally.\r
362 -->\r
363                                         <outcome value='failure'>\r
364                                             <block>\r
365                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
366                                                     <parameter name="logger" value="message-log"/>\r
367                                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
368                                                     <parameter name="field2" value="self-serve-mac-address-assign: reseouce-resolution-data.status is not PENDING"/>\r
369                                                 </record>\r
370                                                 <set>\r
371                                                     <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
372                                                 </set>\r
373                                                 <return status='failure'>\r
374                                                     <parameter name='error-code' value='406' />\r
375                                                     <parameter name='error-message' value='Failed to insert into VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING' />\r
376                                                 </return>\r
377                                             </block>\r
378                                         </outcome>\r
379                                     </get-resource>\r
380                                     <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" \r
381 resource="SQL" \r
382 key="INSERT INTO VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING ( id , hostname , assigned_user, assigned_date ) VALUES ( $tmp.availid.pool-id , $tmp.hostname , 'SDNC' , NOW())" \r
383 force='true' pfx='save_val'>\r
384                                         <outcome value='failure'>\r
385                                             <block>\r
386                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
387                                                     <parameter name="logger" value="message-log"/>\r
388                                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
389                                                     <parameter name="field2" value="self-serve-mac-address-assign: reseouce-resolution-data.status is not PENDING"/>\r
390                                                 </record>\r
391                                                 <set>\r
392                                                     <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
393                                                 </set>\r
394                                                 <return status='failure'>\r
395                                                     <parameter name='error-code' value='406' />\r
396                                                     <parameter name='error-message' value='Failed to insert into VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING' />\r
397                                                 </return>\r
398                                             </block>\r
399                                         </outcome>\r
400                                     </save>\r
401                                     <set>\r
402                                         <parameter name="tmp.mac-address.mac-address" value="`$tmp.availid.mac-address`" />\r
403                                     </set>\r
404                                 </block>\r
405                             </outcome>\r
406                             <outcome value='Other'>\r
407                                 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \r
408 key="SELECT pool.mac_address FROM VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING map, VPE_MAC_ADDRESS_POOL pool WHERE pool.ID = map.ID AND map.HOSTNAME = $tmp.hostname" pfx="tmp.mac-address">\r
409                                     <outcome value='failure'>\r
410                                         <block>\r
411                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
412                                                 <parameter name="logger" value="message-log"/>\r
413                                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
414                                                 <parameter name="field2" value="self-serve-mac-address-assign: reseouce-resolution-data.status is not PENDING"/>\r
415                                             </record>\r
416                                             <set>\r
417                                                 <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
418                                             </set>\r
419                                             <return status='failure'>\r
420                                                 <parameter name='error-code' value='406' />\r
421                                                 <parameter name='error-message' value='Failed to insert into VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING' />\r
422                                             </return>\r
423                                         </block>\r
424                                     </outcome>\r
425                                 </get-resource>\r
426                             </outcome>\r
427                         </switch>\r
428                         <switch test="`$tmp.mac-address.mac-address`">\r
429                             <outcome value=''>\r
430                                 <block>\r
431                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
432                                         <parameter name="logger" value="message-log"/>\r
433                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
434                                         <parameter name="field2" value="self-serve-mac-address-assign: tmp.mac_address not set"/>\r
435                                     </record>\r
436                                     <set>\r
437                                         <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
438                                     </set>\r
439                                     <return status='failure'>\r
440                                         <parameter name='error-code' value='405' />\r
441                                         <parameter name='error-message' value='tmp.mac_address not set' />\r
442                                     </return>\r
443                                 </block>\r
444                             </outcome>\r
445                             <outcome value='null'>\r
446                                 <block>\r
447                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
448                                         <parameter name="logger" value="message-log"/>\r
449                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
450                                         <parameter name="field2" value="self-serve-mac-address-assign: tmp.mac_address not set"/>\r
451                                     </record>\r
452                                     <set>\r
453                                         <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
454                                     </set>\r
455                                     <return status='failure'>\r
456                                         <parameter name='error-code' value='405' />\r
457                                         <parameter name='error-message' value='tmp.mac_address not set' />\r
458                                     </return>\r
459                                 </block>\r
460                             </outcome>\r
461                             <outcome value='Other'>\r
462                                 <block>\r
463                                     <for index='vf-module-param-index' start='0' end='`$tmp.vf-module-parameters-length`' >\r
464                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
465                                             <parameter name="logger" value="message-log"/>\r
466                                             <parameter name="field1" value="__TIMESTAMP__"/>\r
467                                             <parameter name="field2" value="self-serve-mac-address-assign: vf-module-param-index"/>\r
468                                             <parameter name="field3" value='`$vf-module-param-index`'/>\r
469                                         </record>\r
470                                         <block>\r
471                                             <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].name`">\r
472                                                 <outcome value='vmxvpfe_sriov41_0_port_mac'>\r
473                                                     <set>\r
474                                                         <parameter name="`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].value`" value="`$tmp.mac-address.mac-address`"  />\r
475                                                     </set>\r
476                                                 </outcome>\r
477                                                 <outcome value='vmxvpfe_sriov41_1_port_mac'>\r
478                                                     <set>\r
479                                                         <parameter name="`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].value`" value="`$tmp.mac-address.mac-address`"  />\r
480                                                     </set>\r
481                                                 </outcome>\r
482                                                 <outcome value='vmxvpfe_sriov41_3_port_mac'>\r
483                                                     <set>\r
484                                                         <parameter name="`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].value`" value="`$tmp.mac-address.mac-address`"  />\r
485                                                     </set>\r
486                                                 </outcome>\r
487                                                 <outcome value='vmxvpfe_sriov41_4_port_mac'>\r
488                                                     <set>\r
489                                                         <parameter name="`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].value`" value="`$tmp.mac-address.mac-address`"  />\r
490                                                     </set>\r
491                                                 </outcome>\r
492                                             </switch>\r
493                                         </block>\r
494                                     </for>\r
495                                     <set>\r
496                                         <parameter name="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-parameters-index].resource-resolution-data.status`" value='SUCCESS'  />\r
497                                     </set>\r
498                                 </block>\r
499                             </outcome>\r
500                         </switch>\r
501                     </block>\r
502                 </outcome>\r
503                 <outcome value='UNASSIGN'>\r
504                     <block atomic="true">\r
505                         <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \r
506 key="select * FROM VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING WHERE HOSTNAME= $tmp.hostname" pfx='tmp.map'>\r
507                             <outcome value='failure'>\r
508                                 <block>\r
509                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
510                                         <parameter name="logger" value="message-log"/>\r
511                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
512                                         <parameter name="field2" value="self-serve-mac-address-assign: Hostname not found in VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING on UNASSIGN operation"/>\r
513                                     </record>\r
514                                     <set>\r
515                                         <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
516                                     </set>\r
517                                     <return status='failure'>\r
518                                         <parameter name='error-code' value='405' />\r
519                                         <parameter name='error-message' value='Hostname not found in VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING on UNASSIGN operation' />\r
520                                     </return>\r
521                                 </block>\r
522                             </outcome>\r
523                         </get-resource>\r
524                         <switch test="`$tmp.map.hostname`">\r
525                             <outcome value='failure'>\r
526                                 <block>\r
527                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
528                                         <parameter name="logger" value="message-log"/>\r
529                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
530                                         <parameter name="field2" value="self-serve-mac-address-assign: Hostname not found in VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING on UNASSIGN operation"/>\r
531                                     </record>\r
532                                     <set>\r
533                                         <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
534                                     </set>\r
535                                     <return status='failure'>\r
536                                         <parameter name='error-code' value='405' />\r
537                                         <parameter name='error-message' value='Hostname not found in VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING on UNASSIGN operation' />\r
538                                     </return>\r
539                                 </block>\r
540                             </outcome>\r
541                             <outcome value=''>\r
542                                 <block>\r
543                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
544                                         <parameter name="logger" value="message-log"/>\r
545                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
546                                         <parameter name="field2" value="self-serve-mac-address-assign: Hostname not found in VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING on UNASSIGN operation"/>\r
547                                     </record>\r
548                                     <set>\r
549                                         <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
550                                     </set>\r
551                                     <return status='failure'>\r
552                                         <parameter name='error-code' value='405' />\r
553                                         <parameter name='error-message' value='Hostname not found in VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING on UNASSIGN operation' />\r
554                                     </return>\r
555                                 </block>\r
556                             </outcome>\r
557                             <outcome value='null'>\r
558                                 <block>\r
559                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
560                                         <parameter name="logger" value="message-log"/>\r
561                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
562                                         <parameter name="field2" value="self-serve-mac-address-assign: Hostname not found in VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING on UNASSIGN operation"/>\r
563                                     </record>\r
564                                     <set>\r
565                                         <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
566                                     </set>\r
567                                     <return status='failure'>\r
568                                         <parameter name='error-code' value='405' />\r
569                                         <parameter name='error-message' value='Hostname not found in VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING on UNASSIGN operation' />\r
570                                     </return>\r
571                                 </block>\r
572                             </outcome>\r
573                             <outcome value='Other'>\r
574                                 <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \r
575 key='DELETE from VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING WHERE hostname = $tmp.hostname'>\r
576                                     <outcome value='failure'>\r
577                                         <block>\r
578                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
579                                                 <parameter name="logger" value="message-log"/>\r
580                                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
581                                                 <parameter name="field2" value="self-serve-mac-address-assign: Failure deleting from VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING on UNASSIGN operation"/>\r
582                                             </record>\r
583                                             <set>\r
584                                                 <parameter name='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED'  />\r
585                                             </set>\r
586                                             <return status='failure'>\r
587                                                 <parameter name='error-code' value='405' />\r
588                                                 <parameter name='error-message' value='Failure deleting from VPE_MAC_ADDRESS_TO_HOSTNAME_MAPPING on UNASSIGN operation' />\r
589                                             </return>\r
590                                         </block>\r
591                                     </outcome>\r
592                                     <outcome value='success'>\r
593                                         <block>\r
594                                             <for index='key-index' start='0' end='`$tmp.resource-resolution-data.resource-key_length`' >\r
595                                                 <set>\r
596                                                     <parameter name="`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-parameters-index].resource-resolution-data.status`" value="DELETED"  />\r
597                                                 </set>\r
598                                             </for>\r
599                                         </block>\r
600                                     </outcome>\r
601                                 </delete>\r
602                             </outcome>\r
603                         </switch>\r
604                     </block>\r
605                 </outcome>\r
606             </switch>\r
607             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
608                 <parameter name='filename' value='/var/tmp/self-serv-mac-address-assign.log' />\r
609             </execute>\r
610             <return status='success'>\r
611                 <parameter name="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$vf-module-parameters-index].resource-resolution-data.status`" value='SUCCESS'  />\r
612             </return>\r
613         </block>\r
614     </method>\r
615 </service-logic>