Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_eipam-allocate-network-role-subnet.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='eipam-allocate-network-role-subnet' mode='sync'>\r
5         <block atomic='true'>\r
6             <set>\r
7                 <parameter name="tmp.eipam-error" value="false" />\r
8                 <parameter name="eipam-ip-block.ip-prefix" value='' />\r
9                 <parameter name="eipam-ip-block.mask" value='' />\r
10                 <parameter name="pfx.eipam-pool-row" value='' />\r
11                 <parameter name="tmp.level1-key-name" value="LOCATION_CLLI8:CLOUD_REGION_ID" />\r
12                 <parameter name="tmp.level2-key-name" value="NETWORK_ROLE:NETWORK_ID" />\r
13             </set>\r
14             <!--Need to know which ipv version to get the plan name from the network-model.-->\r
15             <switch test="`$eipam-ip-block.allocate-version`">\r
16                 <outcome value='ipv4'>\r
17                     <block atomic='true'>\r
18                         <switch test="`$eipam-ip-block.level`">\r
19                             <outcome value='1'>\r
20                                 <block atomic='true'>\r
21                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
22                                     <set>\r
23                                         <parameter name="eipam-ip-block.plan-name" value="`$network-model.eipam-v4-address-plan`"/>\r
24                                         <parameter name="eipam-ip-block.activate-subnet-flag" value="Y"/>\r
25                                         <parameter name="eipam-ip-block.leaf-level-indicator" value="N"/>\r
26                                         <!-- Number of Pool Levels -->\r
27                                         <parameter name="eipam-ip-block.pools_length" value="1"/>\r
28                                         <!-- Level 1 -->\r
29                                         <parameter name="eipam-ip-block.pools[0].key-name" value="`$tmp.level1-key-name`"/>\r
30                                         <parameter name="eipam-ip-block.pools[0].key-value" value="`$tmp.level1-key-value`"/>\r
31                                     </set>\r
32                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
33                                     <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="allocateSubnet">\r
34                                         <outcome value='failure'>\r
35                                             <return status="failure">\r
36                                                 <parameter name="tmp.eipam-error" value="true" />\r
37                                                 <parameter name="error-code" value="500"/>\r
38                                                 <parameter name="error-message" value="An error occured while allocating V4 subnet in EIPAM." />\r
39                                             </return>\r
40                                         </outcome>\r
41                                     </execute>\r
42                                     <get-resource\r
43         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
44         resource='SQL'\r
45         key="SELECT * from EIPAM_IP_POOLS WHERE plan_name = $network-model.eipam-v4-address-plan and level = 1 and key_value = $tmp.level1-key-value ; "\r
46         pfx='pfx.eipam-pool-row'>\r
47                                         <outcome value='failure'>\r
48                                             <return status="failure">\r
49                                                 <parameter name="tmp.eipam-error" value="true" />\r
50                                                 <parameter name="error-code" value="500"/>\r
51                                                 <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V4 subnet in EIPAM." />\r
52                                             </return>\r
53                                         </outcome>\r
54                                         <outcome value="not-found">\r
55                                             <return status="failure">\r
56                                                 <parameter name="tmp.eipam-error" value="true" />\r
57                                                 <parameter name="error-code" value="500"/>\r
58                                                 <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V4 subnet in EIPAM." />\r
59                                             </return>\r
60                                         </outcome>\r
61                                     </get-resource>\r
62                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
63                                         <parameter name="logger" value="message-log"/>\r
64                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
65                                         <parameter name="field2" value="network-topology-operation"/>\r
66                                         <parameter name="field3" value="eipam-allocate-network-role-subnet"/>\r
67                                         <parameter name="field4" value="`$network-model.eipam-v4-address-plan`"/>\r
68                                         <parameter name="field5" value="`$tmp.level1-key-value`"/>\r
69                                         <parameter name="field6" value="`$tmp.eipam-pool-row.pool-id`"/>\r
70                                         <parameter name="field7" value="Level 1 subnet saved to DB."/>\r
71                                     </record>\r
72                                     <save\r
73         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
74         resource='SQL'\r
75         key="INSERT EIPAM_IP_SUBNETS\r
76              SET\r
77              entity_id = $eipam-ip-block.entity-id ,\r
78              service_type = $tmp.service-type ,\r
79              ip_address = $eipam-ip-block.ip-prefix ,\r
80              prefix_length = $eipam-ip-block.mask ,\r
81              plan_name = $network-model.eipam-v4-address-plan ,\r
82              status = 'ACTIVE' ,\r
83              pool_id = $pfx.eipam-pool-row.pool-id ,\r
84              address_family = $network-model.ipv4-ip-version ,\r
85              network_id = $tmp.network-id ; "\r
86     force='true'\r
87         pfx='pfx.eipam-v4subnet-row'>\r
88                                         <outcome value='failure'>\r
89                                             <return status='failure'>\r
90                                                 <parameter name='error-code' value='500' />\r
91                                                 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
92                                             </return>\r
93                                         </outcome>\r
94                                         <outcome value='success'></outcome>\r
95                                     </save>\r
96                                     <save\r
97         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
98         resource='SQL'\r
99         key="INSERT EIPAM_IP_SUBNET_KEYS\r
100              SET\r
101              entity_id = $eipam-ip-block.entity-id ,\r
102              key_name = $tmp.level1-key-name ,\r
103              key_value = $tmp.level1-key-value ,\r
104              level = 1 ; "\r
105     force='true'\r
106         pfx='pfx.eipam-v4subnet-key-row'>\r
107                                         <outcome value='failure'>\r
108                                             <return status='failure'>\r
109                                                 <parameter name='error-code' value='500' />\r
110                                                 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS table.' />\r
111                                             </return>\r
112                                         </outcome>\r
113                                         <outcome value='success'></outcome>\r
114                                     </save>\r
115                                 </block>\r
116                             </outcome>\r
117                             <outcome value='2'>\r
118                                 <block atomic='true'>\r
119                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
120                                     <set>\r
121                                         <parameter name="eipam-ip-block.plan-name" value="`$network-model.eipam-v4-address-plan`"/>\r
122                                         <parameter name="eipam-ip-block.activate-subnet-flag" value="N"/>\r
123                                         <parameter name="eipam-ip-block.leaf-level-indicator" value="Y"/>\r
124                                         <!-- Number of Pool Levels -->\r
125                                         <parameter name="eipam-ip-block.pools_length" value="2"/>\r
126                                         <!-- Level 1 -->\r
127                                         <parameter name="eipam-ip-block.pools[0].key-name" value="`$tmp.level1-key-name`"/>\r
128                                         <parameter name="eipam-ip-block.pools[0].key-value" value="`$tmp.level1-key-value`"/>\r
129                                         <!-- Level 2 -->\r
130                                         <parameter name="eipam-ip-block.pools[1].key-name" value="`$tmp.level2-key-name`"/>\r
131                                         <parameter name="eipam-ip-block.pools[1].key-value" value="`$tmp.level2-key-value`"/>\r
132                                     </set>\r
133                                     <switch test="`$eipam-ip-block.subnet-size-override`">\r
134                                         <outcome value=''>\r
135                                             <block atomic='true'>\r
136                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
137                                                     <parameter name="logger" value="message-log"/>\r
138                                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
139                                                     <parameter name="field2" value="network-topology-operation"/>\r
140                                                     <parameter name="field3" value="eipam-allocate-network-role-subnet"/>\r
141                                                     <parameter name="field4" value="`$network-model.eipam-v4-address-plan`"/>\r
142                                                     <parameter name="field5" value="`$tmp.level2-key-value`"/>\r
143                                                     <parameter name="field6" value="Level 2 subnet override not set, default to network model value."/>\r
144                                                 </record>\r
145                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
146                                                 <set>\r
147                                                     <parameter name="eipam-ip-block.subnet-size-override" value="`$network-model.ipv4-cidr-mask`" />\r
148                                                 </set>\r
149                                             </block>\r
150                                         </outcome>\r
151                                     </switch>\r
152                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
153                                     <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="allocateSubnet">\r
154                                         <outcome value='failure'>\r
155                                             <return status="failure">\r
156                                                 <parameter name="tmp.eipam-error" value="true" />\r
157                                                 <parameter name="error-code" value="500"/>\r
158                                                 <parameter name="error-message" value="An error occured while allocating V4 subnet in EIPAM." />\r
159                                             </return>\r
160                                         </outcome>\r
161                                     </execute>\r
162                                     <get-resource\r
163         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
164         resource='SQL'\r
165         key="SELECT * from EIPAM_IP_POOLS WHERE plan_name = $network-model.eipam-v4-address-plan and level = 2 and parent_pool = $tmp.level1-key-value AND key_value = $tmp.level2-key-value ; "\r
166         pfx='pfx.eipam-pool-row'>\r
167                                         <outcome value='failure'>\r
168                                             <return status="failure">\r
169                                                 <parameter name="tmp.eipam-error" value="true" />\r
170                                                 <parameter name="error-code" value="500"/>\r
171                                                 <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V4 subnet in EIPAM." />\r
172                                             </return>\r
173                                         </outcome>\r
174                                         <outcome value="not-found">\r
175                                             <return status="failure">\r
176                                                 <parameter name="tmp.eipam-error" value="true" />\r
177                                                 <parameter name="error-code" value="500"/>\r
178                                                 <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V4 subnet in EIPAM." />\r
179                                             </return>\r
180                                         </outcome>\r
181                                     </get-resource>\r
182                                     <save\r
183         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
184         resource='SQL'\r
185         key="INSERT EIPAM_IP_SUBNETS\r
186              SET\r
187              entity_id = $eipam-ip-block.entity-id ,\r
188              service_type = $tmp.service-type ,\r
189              ip_address = $eipam-ip-block.ip-prefix ,\r
190              prefix_length = $eipam-ip-block.mask ,\r
191              plan_name = $network-model.eipam-v4-address-plan ,\r
192              status = 'ALLOCATED' ,\r
193              pool_id = $pfx.eipam-pool-row.pool-id ,\r
194              address_family = $network-model.ipv4-ip-version ,\r
195              network_id = $tmp.network-id ; "\r
196     force='true'\r
197         pfx='pfx.eipam-subnet-row'>\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 update EIPAM_IP_SUBNETS table.' />\r
202                                             </return>\r
203                                         </outcome>\r
204                                         <outcome value='success'></outcome>\r
205                                     </save>\r
206                                     <save\r
207         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
208         resource='SQL'\r
209         key="INSERT EIPAM_IP_SUBNET_KEYS\r
210              SET\r
211              entity_id = $eipam-ip-block.entity-id ,\r
212              key_name = $tmp.level1-key-name ,\r
213              key_value = $tmp.level1-key-value ,\r
214              level = 1 ; "\r
215     force='true'\r
216         pfx='pfx.eipam-v4subnet-key-row'>\r
217                                         <outcome value='success'></outcome>\r
218                                         <outcome value='failure'>\r
219                                             <return status='failure'>\r
220                                                 <parameter name='error-code' value='500' />\r
221                                                 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS table.' />\r
222                                             </return>\r
223                                         </outcome>\r
224                                     </save>\r
225                                     <save\r
226         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
227         resource='SQL'\r
228         key="INSERT EIPAM_IP_SUBNET_KEYS\r
229              SET\r
230              entity_id = $eipam-ip-block.entity-id ,\r
231              key_name = $tmp.level2-key-name ,\r
232              key_value = $tmp.level2-key-value ,\r
233              level = 2 ; "\r
234     force='true'\r
235         pfx='pfx.eipam-v4subnet-key-row'>\r
236                                         <outcome value='success'></outcome>\r
237                                         <outcome value='failure'>\r
238                                             <return status='failure'>\r
239                                                 <parameter name='error-code' value='500' />\r
240                                                 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS table.' />\r
241                                             </return>\r
242                                         </outcome>\r
243                                     </save>\r
244                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
245                                     <set>\r
246                                         <parameter name="eipam-ip-block.subnet-size-override" value='' />\r
247                                     </set>\r
248                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
249                                         <parameter name="logger" value="message-log"/>\r
250                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
251                                         <parameter name="field2" value="network-topology-operation"/>\r
252                                         <parameter name="field3" value="eipam-allocate-network-role-subnet"/>\r
253                                         <parameter name="field4" value="`$network-model.eipam-v4-address-plan`"/>\r
254                                         <parameter name="field5" value="`$tmp.level1-key-value`"/>\r
255                                         <!-- Level 2 -->\r
256                                         <parameter name="field6" value="NETWORK_ROLE_NETWORK_ID"/>\r
257                                         <parameter name="field7" value="`$tmp.level2-key-value`"/>\r
258                                         <parameter name="field8" value="Level 2 subnet saved to DB."/>\r
259                                     </record>\r
260                                 </block>\r
261                             </outcome>\r
262                             <outcome value=''>\r
263                                 <return status="failure">\r
264                                     <parameter name="tmp.eipam-error" value="true" />\r
265                                     <parameter name="error-code" value="500"/>\r
266                                     <parameter name="error-message" value="Please set the eipam-ip-block.level for appropriate EIPAM request." />\r
267                                 </return>\r
268                             </outcome>\r
269                         </switch>\r
270                     </block>\r
271                 </outcome>\r
272                 <outcome value='ipv6'>\r
273                     <block atomic='true'>\r
274                         <switch test="`$eipam-ip-block.level`">\r
275                             <outcome value='1'>\r
276                                 <block atomic='true'>\r
277                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
278                                     <set>\r
279                                         <parameter name="eipam-ip-block.plan-name" value="`$network-model.eipam-v6-address-plan`"/>\r
280                                         <parameter name="eipam-ip-block.activate-subnet-flag" value="Y"/>\r
281                                         <parameter name="eipam-ip-block.leaf-level-indicator" value="N"/>\r
282                                         <!-- Number of Pool Levels -->\r
283                                         <parameter name="eipam-ip-block.pools_length" value="1"/>\r
284                                         <!-- Level 1 -->\r
285                                         <parameter name="eipam-ip-block.pools[0].key-name" value="`$tmp.level1-key-name`"/>\r
286                                         <parameter name="eipam-ip-block.pools[0].key-value" value="`$tmp.level1-key-value`"/>\r
287                                     </set>\r
288                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
289                                     <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="allocateSubnet">\r
290                                         <outcome value='failure'>\r
291                                             <return status="failure">\r
292                                                 <parameter name="tmp.eipam-error" value="true" />\r
293                                                 <parameter name="error-code" value="500"/>\r
294                                                 <parameter name="error-message" value="An error occured while allocating V4 subnet in EIPAM." />\r
295                                             </return>\r
296                                         </outcome>\r
297                                     </execute>\r
298                                     <get-resource\r
299         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
300         resource='SQL'\r
301         key="SELECT * from EIPAM_IP_POOLS WHERE plan_name = $network-model.eipam-v6-address-plan and level = 1 and key_value = $tmp.level1-key-value ; "\r
302         pfx='pfx.eipam-pool-row'>\r
303                                         <outcome value='failure'>\r
304                                             <return status="failure">\r
305                                                 <parameter name="tmp.eipam-error" value="true" />\r
306                                                 <parameter name="error-code" value="500"/>\r
307                                                 <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V6 subnet in EIPAM." />\r
308                                             </return>\r
309                                         </outcome>\r
310                                         <outcome value="not-found">\r
311                                             <return status="failure">\r
312                                                 <parameter name="tmp.eipam-error" value="true" />\r
313                                                 <parameter name="error-code" value="500"/>\r
314                                                 <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V6 subnet in EIPAM." />\r
315                                             </return>\r
316                                         </outcome>\r
317                                     </get-resource>\r
318                                     <save\r
319         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
320         resource='SQL'\r
321         key="INSERT EIPAM_IP_SUBNETS\r
322              SET\r
323              entity_id = $eipam-ip-block.entity-id ,\r
324              service_type = $tmp.service-type ,\r
325              ip_address = $eipam-ip-block.ip-prefix ,\r
326              prefix_length = $eipam-ip-block.mask ,\r
327              plan_name = $network-model.eipam-v6-address-plan ,\r
328              status = 'ACTIVE' ,\r
329              pool_id = $pfx.eipam-pool-row.pool-id ,\r
330              address_family = $network-model.ipv6-ip-version ,\r
331              network_id = $tmp.network-id ; "\r
332     force='true'\r
333         pfx='pfx.eipam-v6subnet-row'>\r
334                                         <outcome value='failure'>\r
335                                             <return status='failure'>\r
336                                                 <parameter name='error-code' value='500' />\r
337                                                 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
338                                             </return>\r
339                                         </outcome>\r
340                                         <outcome value='success'></outcome>\r
341                                     </save>\r
342                                     <save\r
343         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
344         resource='SQL'\r
345         key="INSERT EIPAM_IP_SUBNET_KEYS\r
346              SET\r
347              entity_id = $eipam-ip-block.entity-id ,\r
348              key_name = $tmp.level1-key-name ,\r
349              key_value = $tmp.level1-key-value ,\r
350              level = 1 ; "\r
351     force='true'\r
352         pfx='pfx.eipam-v6subnet-key-row'>\r
353                                         <outcome value='failure'>\r
354                                             <return status='failure'>\r
355                                                 <parameter name='error-code' value='500' />\r
356                                                 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS table.' />\r
357                                             </return>\r
358                                         </outcome>\r
359                                         <outcome value='success'></outcome>\r
360                                     </save>\r
361                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
362                                         <parameter name="logger" value="message-log"/>\r
363                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
364                                         <parameter name="field2" value="network-topology-operation"/>\r
365                                         <parameter name="field3" value="eipam-allocate-network-role-subnet"/>\r
366                                         <parameter name="field4" value="`$network-model.eipam-v4-address-plan`"/>\r
367                                         <parameter name="field5" value="`$tmp.level1-key-value`"/>\r
368                                         <parameter name="field6" value="`$tmp.eipam-pool-row.pool-id`"/>\r
369                                         <parameter name="field7" value="Level 1 subnet saved to DB."/>\r
370                                     </record>\r
371                                 </block>\r
372                             </outcome>\r
373                             <outcome value='2'>\r
374                                 <block atomic='true'>\r
375                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
376                                     <set>\r
377                                         <parameter name="eipam-ip-block.plan-name" value="`$network-model.eipam-v6-address-plan`"/>\r
378                                         <parameter name="eipam-ip-block.activate-subnet-flag" value="N"/>\r
379                                         <parameter name="eipam-ip-block.leaf-level-indicator" value="Y"/>\r
380                                         <!-- Number of Pool Levels -->\r
381                                         <parameter name="eipam-ip-block.pools_length" value="2"/>\r
382                                         <!-- Level 1 -->\r
383                                         <parameter name="eipam-ip-block.pools[0].key-name" value="`$tmp.level1-key-name`"/>\r
384                                         <parameter name="eipam-ip-block.pools[0].key-value" value="`$tmp.level1-key-value`"/>\r
385                                         <!-- Level 2 -->\r
386                                         <parameter name="eipam-ip-block.pools[1].key-name" value="`$tmp.level2-key-name`"/>\r
387                                         <parameter name="eipam-ip-block.pools[1].key-value" value="`$tmp.level2-key-value`"/>\r
388                                     </set>\r
389                                     <switch test="`$eipam-ip-block.subnet-size-override`">\r
390                                         <outcome value=''>\r
391                                             <block atomic='true'>\r
392                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
393                                                     <parameter name="logger" value="message-log"/>\r
394                                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
395                                                     <parameter name="field2" value="network-topology-operation"/>\r
396                                                     <parameter name="field3" value="eipam-allocate-network-role-subnet"/>\r
397                                                     <parameter name="field4" value="`$network-model.eipam-v6-address-plan`"/>\r
398                                                     <parameter name="field5" value="`$tmp.level2-key-value`"/>\r
399                                                     <parameter name="field6" value="Level 2 subnet override not set, default to network model value."/>\r
400                                                 </record>\r
401                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
402                                                 <set>\r
403                                                     <parameter name="eipam-ip-block.subnet-size-override" value="`$network-model.ipv6-cidr-mask`" />\r
404                                                 </set>\r
405                                             </block>\r
406                                         </outcome>\r
407                                     </switch>\r
408                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
409                                     <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="allocateSubnet">\r
410                                         <outcome value='failure'>\r
411                                             <return status="failure">\r
412                                                 <parameter name="tmp.eipam-error" value="true" />\r
413                                                 <parameter name="error-code" value="500"/>\r
414                                                 <parameter name="error-message" value="An error occured while allocating V4 subnet in EIPAM." />\r
415                                             </return>\r
416                                         </outcome>\r
417                                     </execute>\r
418                                     <get-resource\r
419         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
420         resource='SQL'\r
421         key="SELECT * from EIPAM_IP_POOLS WHERE plan_name = $network-model.eipam-v6-address-plan and level = 2 and parent_pool = $tmp.level1-key-value AND key_value = $tmp.level2-key-value ; "\r
422         pfx='pfx.eipam-pool-row'>\r
423                                         <outcome value='failure'>\r
424                                             <return status="failure">\r
425                                                 <parameter name="tmp.eipam-error" value="true" />\r
426                                                 <parameter name="error-code" value="500"/>\r
427                                                 <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V6 subnet in EIPAM." />\r
428                                             </return>\r
429                                         </outcome>\r
430                                         <outcome value="not-found">\r
431                                             <return status="failure">\r
432                                                 <parameter name="tmp.eipam-error" value="true" />\r
433                                                 <parameter name="error-code" value="500"/>\r
434                                                 <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V6 subnet in EIPAM." />\r
435                                             </return>\r
436                                         </outcome>\r
437                                     </get-resource>\r
438                                     <save\r
439         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
440         resource='SQL'\r
441         key="INSERT EIPAM_IP_SUBNETS\r
442              SET\r
443              entity_id = $eipam-ip-block.entity-id ,\r
444              service_type = $tmp.service-type ,\r
445              ip_address = $eipam-ip-block.ip-prefix ,\r
446              prefix_length = $eipam-ip-block.mask ,\r
447              plan_name = $network-model.eipam-v6-address-plan ,\r
448              status = 'ALLOCATED' ,\r
449              pool_id = $pfx.eipam-pool-row.pool-id ,\r
450              address_family = $network-model.ipv6-ip-version ,\r
451              network_id = $tmp.network-id ; "\r
452     force='true'\r
453         pfx='pfx.eipam-v6subnet-row'>\r
454                                         <outcome value='failure'>\r
455                                             <return status='failure'>\r
456                                                 <parameter name='error-code' value='500' />\r
457                                                 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
458                                             </return>\r
459                                         </outcome>\r
460                                         <outcome value='success'></outcome>\r
461                                     </save>\r
462                                     <save\r
463         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
464         resource='SQL'\r
465         key="INSERT EIPAM_IP_SUBNET_KEYS\r
466              SET\r
467              entity_id = $eipam-ip-block.entity-id ,\r
468              key_name = $tmp.level1-key-name ,\r
469              key_value = $tmp.level1-key-value ,\r
470              level = 1 ; "\r
471     force='true'\r
472         pfx='pfx.eipam-v6subnet-key-row'>\r
473                                         <outcome value='failure'>\r
474                                             <return status='failure'>\r
475                                                 <parameter name='error-code' value='500' />\r
476                                                 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS table.' />\r
477                                             </return>\r
478                                         </outcome>\r
479                                         <outcome value='success'></outcome>\r
480                                     </save>\r
481                                     <save\r
482         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
483         resource='SQL'\r
484         key="INSERT EIPAM_IP_SUBNET_KEYS\r
485              SET\r
486              entity_id = $eipam-ip-block.entity-id ,\r
487              key_name = $tmp.level2-key-name ,\r
488              key_value = $tmp.level2-key-value ,\r
489              level = 2 ; "\r
490     force='true'\r
491         pfx='pfx.eipam-v6subnet-key-row'>\r
492                                         <outcome value='failure'>\r
493                                             <return status='failure'>\r
494                                                 <parameter name='error-code' value='500' />\r
495                                                 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS table.' />\r
496                                             </return>\r
497                                         </outcome>\r
498                                         <outcome value='success'></outcome>\r
499                                     </save>\r
500                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
501                                         <parameter name="logger" value="message-log"/>\r
502                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
503                                         <parameter name="field2" value="network-topology-operation"/>\r
504                                         <parameter name="field3" value="eipam-allocate-network-role-subnet"/>\r
505                                         <parameter name="field4" value="`$network-model.eipam-v4-address-plan`"/>\r
506                                         <parameter name="field5" value="`$tmp.level1-key-value`"/>\r
507                                         <!-- Level 2 -->\r
508                                         <parameter name="field6" value="NETWORK_ROLE_NETWORK_ID"/>\r
509                                         <parameter name="field7" value="`$tmp.level2-key-value`"/>\r
510                                         <parameter name="field8" value="Level 2 subnet saved to DB."/>\r
511                                     </record>\r
512                                 </block>\r
513                             </outcome>\r
514                             <outcome value=''>\r
515                                 <return status="failure">\r
516                                     <parameter name="tmp.eipam-error" value="true" />\r
517                                     <parameter name="error-code" value="500"/>\r
518                                     <parameter name="error-message" value="Please set the eipam-ip-block.level for appropriate EIPAM request." />\r
519                                 </return>\r
520                             </outcome>\r
521                         </switch>\r
522                     </block>\r
523                 </outcome>\r
524                 <outcome value=''>\r
525                     <return status="failure">\r
526                         <parameter name="tmp.eipam-error" value="true" />\r
527                         <parameter name="error-code" value="500"/>\r
528                         <parameter name="error-message" value="Please set the eipam-ip-block.allocate-version for appropriate EIPAM request." />\r
529                     </return>\r
530                 </outcome>\r
531             </switch>\r
532             <return status='success'>\r
533                 <parameter name="error-code" value="200" />\r
534             </return>\r
535         </block>\r
536     </method>\r
537 </service-logic>