Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_eipam-allocate-generic-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-generic-subnet' mode='sync'>\r
5         <block atomic='true'>\r
6             <set>\r
7                 <parameter name="tmp.eipam-error" value="false" />\r
8                 <parameter name="tmp.allocate-v4-subnet-flag" value="N" />\r
9                 <parameter name="tmp.allocate-v6-subnet-flag" value="N" />\r
10                 <parameter name='eipam-ip-block.plans_length' value='0' />\r
11                 <parameter name="eipam-pool.v4.pre-existing" value="N"/>\r
12                 <parameter name="eipam-pool.v6.pre-existing" value="N"/>\r
13                 <parameter name="tmp.leaf-level" value="N" />\r
14             </set>\r
15             <switch test="`$tmp.activate-subnet-flag`">\r
16                 <outcome value="">\r
17                     <block atomic='true'>\r
18                         <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
19                         <set>\r
20                             <parameter name="tmp.activate-subnet-flag" value="Y"/>\r
21                         </set>\r
22                     </block>\r
23                 </outcome>\r
24                 <outcome value='Y'></outcome>\r
25                 <outcome value='N'></outcome>\r
26             </switch>\r
27             <switch test="`$eipam-ip-block.level == $eipam-ip-block.getPlanTopologyResponse.TopologyDetails_length`">\r
28                 <outcome value='true'>\r
29                     <block atomic='true'>\r
30                         <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
31                         <set>\r
32                             <parameter name="tmp.leaf-level" value="Y" />\r
33                         </set>\r
34                     </block>\r
35                 </outcome>\r
36             </switch>\r
37             <!--Need to know which ipv version to get the plan name from the network-model.-->\r
38             <switch test="`$eipam-ip-block.allocate-version`">\r
39                 <outcome value='ipv4'>\r
40                     <block atomic='true'>\r
41                         <switch test="`$l-idx`">\r
42                             <outcome value='1'>\r
43                                 <block atomic='true'>\r
44                                     <switch test="`$tmp.skip-first-level`">\r
45                                         <outcome value='Y'></outcome>\r
46                                         <outcome value="">\r
47                                             <block atomic='true'>\r
48                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
49                                                 <set>\r
50                                                     <parameter name="eipam-ip-block.plan-name" value="`$network-model.eipam-v4-address-plan`"/>\r
51                                                     <parameter name="eipam-ip-block.activate-subnet-flag" value="`$tmp.activate-subnet-flag`"/>\r
52                                                     <parameter name="eipam-ip-block.leaf-level-indicator" value="`$tmp.leaf-level`"/>\r
53                                                     <parameter name="tmp.allocate-v4-subnet-flag" value="Y" />\r
54                                                     <!-- Number of Pool Levels -->\r
55                                                     <parameter name="eipam-ip-block.pools_length" value="`$eipam-ip-block.level`"/>\r
56                                                 </set>\r
57                                                 <for index="l4-idx" start="0" end="`$eipam-ip-block.level`">\r
58                                                     <block atomic='true'>\r
59                                                         <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
60                                                         <set>\r
61                                                             <parameter name="eipam-ip-block.pools[$l4-idx].key-name" value="`$v4FQPN-output.pools[$l4-idx].key-name`"/>\r
62                                                             <parameter name="eipam-ip-block.pools[$l4-idx].key-value" value="`$v4FQPN-output.pools[$l4-idx].key-value`"/>\r
63                                                         </set>\r
64                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
65                                                             <parameter name="logger" value="message-log"/>\r
66                                                             <parameter name="field1" value="__TIMESTAMP__"/>\r
67                                                             <parameter name="field2" value="network-topology-operation"/>\r
68                                                             <parameter name="field3" value="eipam-allocate-generic-subnet"/>\r
69                                                             <parameter name="field4" value="`$eipam-ip-block.plan-name`"/>\r
70                                                             <parameter name="field5" value="`$eipam-ip-block.pools[$l4-idx].key-name`"/>\r
71                                                             <parameter name="field6" value="`$eipam-ip-block.pools[$l4-idx].key-value`"/>\r
72                                                         </record>\r
73                                                     </block>\r
74                                                 </for>\r
75                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
76                                                 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="allocateSubnet">\r
77                                                     <outcome value='failure'>\r
78                                                         <return status="failure">\r
79                                                             <parameter name="tmp.eipam-error" value="true" />\r
80                                                             <parameter name="error-code" value="500"/>\r
81                                                             <parameter name="error-message" value="An error occured while allocating V4 subnet in EIPAM." />\r
82                                                         </return>\r
83                                                     </outcome>\r
84                                                 </execute>\r
85                                                 <get-resource\r
86         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
87         resource='SQL'\r
88         key="SELECT * from EIPAM_IP_POOLS WHERE plan_name = $network-model.eipam-v4-address-plan and level = $eipam-ip-block.level and key_value = $tmp.key-value ; "\r
89         pfx='pfx.eipam-pool-row'>\r
90                                                     <outcome value='failure'>\r
91                                                         <return status="failure">\r
92                                                             <parameter name="tmp.eipam-error" value="true" />\r
93                                                             <parameter name="error-code" value="500"/>\r
94                                                             <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V4 subnet in EIPAM." />\r
95                                                         </return>\r
96                                                     </outcome>\r
97                                                     <outcome value="not-found">\r
98                                                         <return status="failure">\r
99                                                             <parameter name="tmp.eipam-error" value="true" />\r
100                                                             <parameter name="error-code" value="500"/>\r
101                                                             <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V4 subnet in EIPAM." />\r
102                                                         </return>\r
103                                                     </outcome>\r
104                                                 </get-resource>\r
105                                                 <switch test="`$network-instance-group-data.subnet-assignment-policy.subnet-use`">\r
106                                                     <outcome value='shared'>\r
107                                                         <save\r
108         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
109         resource='SQL'\r
110         key="INSERT EIPAM_IP_SUBNETS\r
111              SET\r
112              entity_id = $eipam-ip-block.entity-id ,\r
113              service_type = $tmp.service-type ,\r
114              ip_address = $eipam-ip-block.ip-prefix ,\r
115              prefix_length = $eipam-ip-block.mask ,\r
116              plan_name = $network-model.eipam-v4-address-plan ,\r
117              status = 'ACTIVE' ,\r
118              pool_id = $pfx.eipam-pool-row.pool-id ,\r
119              address_family = $network-model.ipv4-ip-version ,\r
120              network_id = $tmp.network-id ,\r
121              network_instance_group_id = $tmp.network-instance-group-id ; "\r
122     force='true'\r
123         pfx='pfx.eipam-v4subnet-row'>\r
124                                                             <outcome value='failure'>\r
125                                                                 <return status='failure'>\r
126                                                                     <parameter name='error-code' value='500' />\r
127                                                                     <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
128                                                                 </return>\r
129                                                             </outcome>\r
130                                                         </save>\r
131                                                     </outcome>\r
132                                                     <outcome value='Other'>\r
133                                                         <save\r
134         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
135         resource='SQL'\r
136         key="INSERT EIPAM_IP_SUBNETS\r
137              SET\r
138              entity_id = $eipam-ip-block.entity-id ,\r
139              service_type = $tmp.service-type ,\r
140              ip_address = $eipam-ip-block.ip-prefix ,\r
141              prefix_length = $eipam-ip-block.mask ,\r
142              plan_name = $network-model.eipam-v4-address-plan ,\r
143              status = 'ACTIVE' ,\r
144              pool_id = $pfx.eipam-pool-row.pool-id ,\r
145              address_family = $network-model.ipv4-ip-version ,\r
146              network_id = $tmp.network-id ; "\r
147     force='true'\r
148         pfx='pfx.eipam-v4subnet-row'>\r
149                                                             <outcome value='failure'>\r
150                                                                 <return status='failure'>\r
151                                                                     <parameter name='error-code' value='500' />\r
152                                                                     <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
153                                                                 </return>\r
154                                                             </outcome>\r
155                                                         </save>\r
156                                                     </outcome>\r
157                                                     <outcome value=''>\r
158                                                         <save\r
159         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
160         resource='SQL'\r
161         key="INSERT EIPAM_IP_SUBNETS\r
162              SET\r
163              entity_id = $eipam-ip-block.entity-id ,\r
164              service_type = $tmp.service-type ,\r
165              ip_address = $eipam-ip-block.ip-prefix ,\r
166              prefix_length = $eipam-ip-block.mask ,\r
167              plan_name = $network-model.eipam-v4-address-plan ,\r
168              status = 'ACTIVE' ,\r
169              pool_id = $pfx.eipam-pool-row.pool-id ,\r
170              address_family = $network-model.ipv4-ip-version ,\r
171              network_id = $tmp.network-id ; "\r
172     force='true'\r
173         pfx='pfx.eipam-v4subnet-row'>\r
174                                                             <outcome value='failure'>\r
175                                                                 <return status='failure'>\r
176                                                                     <parameter name='error-code' value='500' />\r
177                                                                     <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
178                                                                 </return>\r
179                                                             </outcome>\r
180                                                         </save>\r
181                                                     </outcome>\r
182                                                 </switch>\r
183                                                 <save\r
184         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
185         resource='SQL'\r
186         key="INSERT EIPAM_IP_SUBNET_KEYS\r
187              SET\r
188              entity_id = $eipam-ip-block.entity-id ,\r
189              key_name = $key-name ,\r
190              key_value = $key-value ,\r
191              level = $eipam-ip-block.level ; "\r
192     force='true'\r
193         pfx='pfx.eipam-v4subnet-key-row'>\r
194                                                     <outcome value='failure'>\r
195                                                         <return status='failure'>\r
196                                                             <parameter name='error-code' value='500' />\r
197                                                             <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS table.' />\r
198                                                         </return>\r
199                                                     </outcome>\r
200                                                     <outcome value='success'></outcome>\r
201                                                 </save>\r
202                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
203                                                     <parameter name="logger" value="message-log"/>\r
204                                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
205                                                     <parameter name="field2" value="network-topology-operation"/>\r
206                                                     <parameter name="field3" value="eipam-allocate-generic-subnet"/>\r
207                                                     <parameter name="field4" value="`$network-model.eipam-v4-address-plan`"/>\r
208                                                     <parameter name="field5" value="`$key-value`"/>\r
209                                                     <parameter name="field6" value="`$tmp.eipam-pool-row.pool-id`"/>\r
210                                                     <parameter name="field7" value="`$tmp.network_instance_group_id`"/>\r
211                                                     <parameter name="field8" value="`$eipam-ip-block.level`"/>\r
212                                                     <parameter name="field9" value="`$network-model.network-role`"/>\r
213                                                     <parameter name="field10" value="`$tmp.network-id`"/>\r
214                                                     <parameter name="field11" value="subnet saved to DB."/>\r
215                                                 </record>\r
216                                             </block>\r
217                                         </outcome>\r
218                                         <outcome value='N'>\r
219                                             <block atomic='true'>\r
220                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
221                                                 <set>\r
222                                                     <parameter name="eipam-ip-block.plan-name" value="`$network-model.eipam-v4-address-plan`"/>\r
223                                                     <parameter name="eipam-ip-block.activate-subnet-flag" value="`$tmp.activate-subnet-flag`"/>\r
224                                                     <parameter name="eipam-ip-block.leaf-level-indicator" value="`$tmp.leaf-level`"/>\r
225                                                     <parameter name="tmp.allocate-v4-subnet-flag" value="Y" />\r
226                                                     <!-- Number of Pool Levels -->\r
227                                                     <parameter name="eipam-ip-block.pools_length" value="`$eipam-ip-block.level`"/>\r
228                                                 </set>\r
229                                                 <for index="l4-idx" start="0" end="`$eipam-ip-block.level`">\r
230                                                     <block atomic='true'>\r
231                                                         <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
232                                                         <set>\r
233                                                             <parameter name="eipam-ip-block.pools[$l4-idx].key-name" value="`$v4FQPN-output.pools[$l4-idx].key-name`"/>\r
234                                                             <parameter name="eipam-ip-block.pools[$l4-idx].key-value" value="`$v4FQPN-output.pools[$l4-idx].key-value`"/>\r
235                                                         </set>\r
236                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
237                                                             <parameter name="logger" value="message-log"/>\r
238                                                             <parameter name="field1" value="__TIMESTAMP__"/>\r
239                                                             <parameter name="field2" value="network-topology-operation"/>\r
240                                                             <parameter name="field3" value="eipam-allocate-generic-subnet"/>\r
241                                                             <parameter name="field4" value="`$eipam-ip-block.plan-name`"/>\r
242                                                             <parameter name="field5" value="`$eipam-ip-block.pools[$l4-idx].key-name`"/>\r
243                                                             <parameter name="field6" value="`$eipam-ip-block.pools[$l4-idx].key-value`"/>\r
244                                                         </record>\r
245                                                     </block>\r
246                                                 </for>\r
247                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
248                                                 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="allocateSubnet">\r
249                                                     <outcome value='failure'>\r
250                                                         <return status="failure">\r
251                                                             <parameter name="tmp.eipam-error" value="true" />\r
252                                                             <parameter name="error-code" value="500"/>\r
253                                                             <parameter name="error-message" value="An error occured while allocating V4 subnet in EIPAM." />\r
254                                                         </return>\r
255                                                     </outcome>\r
256                                                 </execute>\r
257                                                 <get-resource\r
258         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
259         resource='SQL'\r
260         key="SELECT * from EIPAM_IP_POOLS WHERE plan_name = $network-model.eipam-v4-address-plan and level = $eipam-ip-block.level and key_value = $tmp.key-value ; "\r
261         pfx='pfx.eipam-pool-row'>\r
262                                                     <outcome value='failure'>\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="An error occured while looking for entry in EIPAM_IP_POOLS for V4 subnet in EIPAM." />\r
267                                                         </return>\r
268                                                     </outcome>\r
269                                                     <outcome value="not-found">\r
270                                                         <return status="failure">\r
271                                                             <parameter name="tmp.eipam-error" value="true" />\r
272                                                             <parameter name="error-code" value="500"/>\r
273                                                             <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V4 subnet in EIPAM." />\r
274                                                         </return>\r
275                                                     </outcome>\r
276                                                 </get-resource>\r
277                                                 <switch test="`$network-instance-group-data.subnet-assignment-policy.subnet-use`">\r
278                                                     <outcome value='shared'>\r
279                                                         <save\r
280         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
281         resource='SQL'\r
282         key="INSERT EIPAM_IP_SUBNETS\r
283              SET\r
284              entity_id = $eipam-ip-block.entity-id ,\r
285              service_type = $tmp.service-type ,\r
286              ip_address = $eipam-ip-block.ip-prefix ,\r
287              prefix_length = $eipam-ip-block.mask ,\r
288              plan_name = $network-model.eipam-v4-address-plan ,\r
289              status = 'ACTIVE' ,\r
290              pool_id = $pfx.eipam-pool-row.pool-id ,\r
291              address_family = $network-model.ipv4-ip-version ,\r
292              network_id = $tmp.network-id ,\r
293              network_instance_group_id = $tmp.network-instance-group-id ; "\r
294     force='true'\r
295         pfx='pfx.eipam-v4subnet-row'>\r
296                                                             <outcome value='failure'>\r
297                                                                 <return status='failure'>\r
298                                                                     <parameter name='error-code' value='500' />\r
299                                                                     <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
300                                                                 </return>\r
301                                                             </outcome>\r
302                                                         </save>\r
303                                                     </outcome>\r
304                                                     <outcome value='Other'>\r
305                                                         <save\r
306         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
307         resource='SQL'\r
308         key="INSERT EIPAM_IP_SUBNETS\r
309              SET\r
310              entity_id = $eipam-ip-block.entity-id ,\r
311              service_type = $tmp.service-type ,\r
312              ip_address = $eipam-ip-block.ip-prefix ,\r
313              prefix_length = $eipam-ip-block.mask ,\r
314              plan_name = $network-model.eipam-v4-address-plan ,\r
315              status = 'ACTIVE' ,\r
316              pool_id = $pfx.eipam-pool-row.pool-id ,\r
317              address_family = $network-model.ipv4-ip-version ,\r
318              network_id = $tmp.network-id ; "\r
319     force='true'\r
320         pfx='pfx.eipam-v4subnet-row'>\r
321                                                             <outcome value='failure'>\r
322                                                                 <return status='failure'>\r
323                                                                     <parameter name='error-code' value='500' />\r
324                                                                     <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
325                                                                 </return>\r
326                                                             </outcome>\r
327                                                         </save>\r
328                                                     </outcome>\r
329                                                     <outcome value=''>\r
330                                                         <save\r
331         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
332         resource='SQL'\r
333         key="INSERT EIPAM_IP_SUBNETS\r
334              SET\r
335              entity_id = $eipam-ip-block.entity-id ,\r
336              service_type = $tmp.service-type ,\r
337              ip_address = $eipam-ip-block.ip-prefix ,\r
338              prefix_length = $eipam-ip-block.mask ,\r
339              plan_name = $network-model.eipam-v4-address-plan ,\r
340              status = 'ACTIVE' ,\r
341              pool_id = $pfx.eipam-pool-row.pool-id ,\r
342              address_family = $network-model.ipv4-ip-version ,\r
343              network_id = $tmp.network-id ; "\r
344     force='true'\r
345         pfx='pfx.eipam-v4subnet-row'>\r
346                                                             <outcome value='failure'>\r
347                                                                 <return status='failure'>\r
348                                                                     <parameter name='error-code' value='500' />\r
349                                                                     <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
350                                                                 </return>\r
351                                                             </outcome>\r
352                                                         </save>\r
353                                                     </outcome>\r
354                                                 </switch>\r
355                                                 <save\r
356         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
357         resource='SQL'\r
358         key="INSERT EIPAM_IP_SUBNET_KEYS\r
359              SET\r
360              entity_id = $eipam-ip-block.entity-id ,\r
361              key_name = $key-name ,\r
362              key_value = $key-value ,\r
363              level = $eipam-ip-block.level ; "\r
364     force='true'\r
365         pfx='pfx.eipam-v4subnet-key-row'>\r
366                                                     <outcome value='failure'>\r
367                                                         <return status='failure'>\r
368                                                             <parameter name='error-code' value='500' />\r
369                                                             <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS table.' />\r
370                                                         </return>\r
371                                                     </outcome>\r
372                                                     <outcome value='success'></outcome>\r
373                                                 </save>\r
374                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
375                                                     <parameter name="logger" value="message-log"/>\r
376                                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
377                                                     <parameter name="field2" value="network-topology-operation"/>\r
378                                                     <parameter name="field3" value="eipam-allocate-generic-subnet"/>\r
379                                                     <parameter name="field4" value="`$network-model.eipam-v4-address-plan`"/>\r
380                                                     <parameter name="field5" value="`$key-value`"/>\r
381                                                     <parameter name="field6" value="`$tmp.eipam-pool-row.pool-id`"/>\r
382                                                     <parameter name="field7" value="`$tmp.network_instance_group_id`"/>\r
383                                                     <parameter name="field8" value="`$eipam-ip-block.level`"/>\r
384                                                     <parameter name="field9" value="`$network-model.network-role`"/>\r
385                                                     <parameter name="field10" value="`$tmp.network-id`"/>\r
386                                                     <parameter name="field11" value="subnet saved to DB."/>\r
387                                                 </record>\r
388                                             </block>\r
389                                         </outcome>\r
390                                     </switch>\r
391                                 </block>\r
392                             </outcome>\r
393                             <outcome value=''>\r
394                                 <return status="failure">\r
395                                     <parameter name="tmp.eipam-error" value="true" />\r
396                                     <parameter name="error-code" value="500"/>\r
397                                     <parameter name="error-message" value="Please set the eipam-ip-block.level for appropriate EIPAM request." />\r
398                                 </return>\r
399                             </outcome>\r
400                             <outcome value='Other'>\r
401                                 <block atomic='true'>\r
402                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
403                                     <set>\r
404                                         <parameter name="eipam-ip-block.plan-name" value="`$network-model.eipam-v4-address-plan`"/>\r
405                                         <parameter name="eipam-ip-block.activate-subnet-flag" value="`$tmp.activate-subnet-flag`"/>\r
406                                         <parameter name="eipam-ip-block.leaf-level-indicator" value="`$tmp.leaf-level`"/>\r
407                                         <parameter name="tmp.allocate-v4-subnet-flag" value="Y" />\r
408                                         <!-- Number of Pool Levels -->\r
409                                         <parameter name="eipam-ip-block.pools_length" value="`$eipam-ip-block.level`"/>\r
410                                     </set>\r
411                                     <for index="l4-idx" start="0" end="`$eipam-ip-block.level`">\r
412                                         <block atomic='true'>\r
413                                             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
414                                             <set>\r
415                                                 <parameter name="eipam-ip-block.pools[$l4-idx].key-name" value="`$v4FQPN-output.pools[$l4-idx].key-name`"/>\r
416                                                 <parameter name="eipam-ip-block.pools[$l4-idx].key-value" value="`$v4FQPN-output.pools[$l4-idx].key-value`"/>\r
417                                             </set>\r
418                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
419                                                 <parameter name="logger" value="message-log"/>\r
420                                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
421                                                 <parameter name="field2" value="network-topology-operation"/>\r
422                                                 <parameter name="field3" value="eipam-allocate-generic-subnet"/>\r
423                                                 <parameter name="field4" value="`$eipam-ip-block.plan-name`"/>\r
424                                                 <parameter name="field5" value="`$eipam-ip-block.pools[$l4-idx].key-name`"/>\r
425                                                 <parameter name="field6" value="`$eipam-ip-block.pools[$l4-idx].key-value`"/>\r
426                                             </record>\r
427                                         </block>\r
428                                     </for>\r
429                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
430                                     <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="allocateSubnet">\r
431                                         <outcome value='failure'>\r
432                                             <return status="failure">\r
433                                                 <parameter name="tmp.eipam-error" value="true" />\r
434                                                 <parameter name="error-code" value="500"/>\r
435                                                 <parameter name="error-message" value="An error occured while allocating V4 subnet in EIPAM." />\r
436                                             </return>\r
437                                         </outcome>\r
438                                     </execute>\r
439                                     <get-resource\r
440         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
441         resource='SQL'\r
442         key="SELECT * from EIPAM_IP_POOLS WHERE plan_name = $network-model.eipam-v4-address-plan and level = $eipam-ip-block.level and key_value = $tmp.key-value ; "\r
443         pfx='pfx.eipam-pool-row'>\r
444                                         <outcome value='failure'>\r
445                                             <return status="failure">\r
446                                                 <parameter name="tmp.eipam-error" value="true" />\r
447                                                 <parameter name="error-code" value="500"/>\r
448                                                 <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V4 subnet in EIPAM." />\r
449                                             </return>\r
450                                         </outcome>\r
451                                         <outcome value="not-found">\r
452                                             <return status="failure">\r
453                                                 <parameter name="tmp.eipam-error" value="true" />\r
454                                                 <parameter name="error-code" value="500"/>\r
455                                                 <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V4 subnet in EIPAM." />\r
456                                             </return>\r
457                                         </outcome>\r
458                                     </get-resource>\r
459                                     <switch test="`$network-instance-group-data.subnet-assignment-policy.subnet-use`">\r
460                                         <outcome value='shared'>\r
461                                             <save\r
462         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
463         resource='SQL'\r
464         key="INSERT EIPAM_IP_SUBNETS\r
465              SET\r
466              entity_id = $eipam-ip-block.entity-id ,\r
467              service_type = $tmp.service-type ,\r
468              ip_address = $eipam-ip-block.ip-prefix ,\r
469              prefix_length = $eipam-ip-block.mask ,\r
470              plan_name = $network-model.eipam-v4-address-plan ,\r
471              status = 'ACTIVE' ,\r
472              pool_id = $pfx.eipam-pool-row.pool-id ,\r
473              address_family = $network-model.ipv4-ip-version ,\r
474              network_id = $tmp.network-id ,\r
475              network_instance_group_id = $tmp.network-instance-group-id ; "\r
476     force='true'\r
477         pfx='pfx.eipam-v4subnet-row'>\r
478                                                 <outcome value='failure'>\r
479                                                     <return status='failure'>\r
480                                                         <parameter name='error-code' value='500' />\r
481                                                         <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
482                                                     </return>\r
483                                                 </outcome>\r
484                                             </save>\r
485                                         </outcome>\r
486                                         <outcome value='Other'>\r
487                                             <save\r
488         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
489         resource='SQL'\r
490         key="INSERT EIPAM_IP_SUBNETS\r
491              SET\r
492              entity_id = $eipam-ip-block.entity-id ,\r
493              service_type = $tmp.service-type ,\r
494              ip_address = $eipam-ip-block.ip-prefix ,\r
495              prefix_length = $eipam-ip-block.mask ,\r
496              plan_name = $network-model.eipam-v4-address-plan ,\r
497              status = 'ACTIVE' ,\r
498              pool_id = $pfx.eipam-pool-row.pool-id ,\r
499              address_family = $network-model.ipv4-ip-version ,\r
500              network_id = $tmp.network-id ; "\r
501     force='true'\r
502         pfx='pfx.eipam-v4subnet-row'>\r
503                                                 <outcome value='failure'>\r
504                                                     <return status='failure'>\r
505                                                         <parameter name='error-code' value='500' />\r
506                                                         <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
507                                                     </return>\r
508                                                 </outcome>\r
509                                             </save>\r
510                                         </outcome>\r
511                                         <outcome value=''>\r
512                                             <save\r
513         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
514         resource='SQL'\r
515         key="INSERT EIPAM_IP_SUBNETS\r
516              SET\r
517              entity_id = $eipam-ip-block.entity-id ,\r
518              service_type = $tmp.service-type ,\r
519              ip_address = $eipam-ip-block.ip-prefix ,\r
520              prefix_length = $eipam-ip-block.mask ,\r
521              plan_name = $network-model.eipam-v4-address-plan ,\r
522              status = 'ACTIVE' ,\r
523              pool_id = $pfx.eipam-pool-row.pool-id ,\r
524              address_family = $network-model.ipv4-ip-version ,\r
525              network_id = $tmp.network-id ; "\r
526     force='true'\r
527         pfx='pfx.eipam-v4subnet-row'>\r
528                                                 <outcome value='failure'>\r
529                                                     <return status='failure'>\r
530                                                         <parameter name='error-code' value='500' />\r
531                                                         <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
532                                                     </return>\r
533                                                 </outcome>\r
534                                             </save>\r
535                                         </outcome>\r
536                                     </switch>\r
537                                     <save\r
538         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
539         resource='SQL'\r
540         key="INSERT EIPAM_IP_SUBNET_KEYS\r
541              SET\r
542              entity_id = $eipam-ip-block.entity-id ,\r
543              key_name = $key-name ,\r
544              key_value = $key-value ,\r
545              level = $eipam-ip-block.level ; "\r
546     force='true'\r
547         pfx='pfx.eipam-v4subnet-key-row'>\r
548                                         <outcome value='failure'>\r
549                                             <return status='failure'>\r
550                                                 <parameter name='error-code' value='500' />\r
551                                                 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS table.' />\r
552                                             </return>\r
553                                         </outcome>\r
554                                         <outcome value='success'></outcome>\r
555                                     </save>\r
556                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
557                                         <parameter name="logger" value="message-log"/>\r
558                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
559                                         <parameter name="field2" value="network-topology-operation"/>\r
560                                         <parameter name="field3" value="eipam-allocate-generic-subnet"/>\r
561                                         <parameter name="field4" value="`$network-model.eipam-v4-address-plan`"/>\r
562                                         <parameter name="field5" value="`$key-value`"/>\r
563                                         <parameter name="field6" value="`$tmp.eipam-pool-row.pool-id`"/>\r
564                                         <parameter name="field7" value="`$tmp.network_instance_group_id`"/>\r
565                                         <parameter name="field8" value="`$eipam-ip-block.level`"/>\r
566                                         <parameter name="field9" value="`$network-model.network-role`"/>\r
567                                         <parameter name="field10" value="`$tmp.network-id`"/>\r
568                                         <parameter name="field11" value="subnet saved to DB."/>\r
569                                     </record>\r
570                                 </block>\r
571                             </outcome>\r
572                         </switch>\r
573                     </block>\r
574                 </outcome>\r
575                 <outcome value='ipv6'>\r
576                     <block atomic='true'>\r
577                         <switch test="`$l-idx`">\r
578                             <outcome value='1'>\r
579                                 <block atomic='true'>\r
580                                     <switch test="`$tmp.skip-first-level`">\r
581                                         <outcome value='Y'></outcome>\r
582                                         <outcome value="">\r
583                                             <block atomic='true'>\r
584                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
585                                                 <set>\r
586                                                     <parameter name="eipam-ip-block.plan-name" value="`$network-model.eipam-v6-address-plan`"/>\r
587                                                     <parameter name="eipam-ip-block.activate-subnet-flag" value="`$tmp.activate-subnet-flag`"/>\r
588                                                     <parameter name="eipam-ip-block.leaf-level-indicator" value="`$tmp.leaf-level`"/>\r
589                                                     <parameter name="tmp.allocate-v6-subnet-flag" value="Y" />\r
590                                                     <!-- Number of Pool Levels -->\r
591                                                     <parameter name="eipam-ip-block.pools_length" value="`$eipam-ip-block.level`"/>\r
592                                                 </set>\r
593                                                 <for index="l6-idx" start="0" end="`$eipam-ip-block.level`">\r
594                                                     <block atomic='true'>\r
595                                                         <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
596                                                         <set>\r
597                                                             <parameter name="eipam-ip-block.pools[$l6-idx].key-name" value="`$v6FQPN-output.pools[$l6-idx].key-name`"/>\r
598                                                             <parameter name="eipam-ip-block.pools[$l6-idx].key-value" value="`$v6FQPN-output.pools[$l6-idx].key-value`"/>\r
599                                                         </set>\r
600                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
601                                                             <parameter name="logger" value="message-log"/>\r
602                                                             <parameter name="field1" value="__TIMESTAMP__"/>\r
603                                                             <parameter name="field2" value="network-topology-operation"/>\r
604                                                             <parameter name="field3" value="eipam-allocate-generic-subnet"/>\r
605                                                             <parameter name="field4" value="`$eipam-ip-block.plan-name`"/>\r
606                                                             <parameter name="field5" value="`$eipam-ip-block.pools[$l6-idx].key-name`"/>\r
607                                                             <parameter name="field6" value="`$eipam-ip-block.pools[$l6-idx].key-value`"/>\r
608                                                             <parameter name="field7" value="`$l6-idx`"/>\r
609                                                         </record>\r
610                                                     </block>\r
611                                                 </for>\r
612                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
613                                                 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="allocateSubnet">\r
614                                                     <outcome value='failure'>\r
615                                                         <return status="failure">\r
616                                                             <parameter name="tmp.eipam-error" value="true" />\r
617                                                             <parameter name="error-code" value="500"/>\r
618                                                             <parameter name="error-message" value="An error occured while allocating V6 subnet in EIPAM." />\r
619                                                         </return>\r
620                                                     </outcome>\r
621                                                 </execute>\r
622                                                 <get-resource\r
623         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
624         resource='SQL'\r
625         key="SELECT * from EIPAM_IP_POOLS WHERE plan_name = $network-model.eipam-v6-address-plan and level = $eipam-ip-block.level and key_value = $tmp.key-value ; "\r
626         pfx='pfx.eipam-pool-row'>\r
627                                                     <outcome value='failure'>\r
628                                                         <return status="failure">\r
629                                                             <parameter name="tmp.eipam-error" value="true" />\r
630                                                             <parameter name="error-code" value="500"/>\r
631                                                             <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V6 subnet in EIPAM." />\r
632                                                         </return>\r
633                                                     </outcome>\r
634                                                     <outcome value="not-found">\r
635                                                         <return status="failure">\r
636                                                             <parameter name="tmp.eipam-error" value="true" />\r
637                                                             <parameter name="error-code" value="500"/>\r
638                                                             <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V6 subnet in EIPAM." />\r
639                                                         </return>\r
640                                                     </outcome>\r
641                                                 </get-resource>\r
642                                                 <switch test="`$network-instance-group-data.subnet-assignment-policy.subnet-use`">\r
643                                                     <outcome value='shared'>\r
644                                                         <save\r
645         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
646         resource='SQL'\r
647         key="INSERT EIPAM_IP_SUBNETS\r
648              SET\r
649              entity_id = $eipam-ip-block.entity-id ,\r
650              service_type = $tmp.service-type ,\r
651              ip_address = $eipam-ip-block.ip-prefix ,\r
652              prefix_length = $eipam-ip-block.mask ,\r
653              plan_name = $network-model.eipam-v6-address-plan ,\r
654              status = 'ACTIVE' ,\r
655              pool_id = $pfx.eipam-pool-row.pool-id ,\r
656              address_family = $network-model.ipv6-ip-version ,\r
657              network_id = $tmp.network-id ,\r
658              network_instance_group_id = $tmp.network-instance-group-id ; "\r
659     force='true'\r
660         pfx='pfx.eipam-v6subnet-row'>\r
661                                                             <outcome value='failure'>\r
662                                                                 <return status='failure'>\r
663                                                                     <parameter name='error-code' value='500' />\r
664                                                                     <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
665                                                                 </return>\r
666                                                             </outcome>\r
667                                                         </save>\r
668                                                     </outcome>\r
669                                                     <outcome value='Other'>\r
670                                                         <save\r
671         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
672         resource='SQL'\r
673         key="INSERT EIPAM_IP_SUBNETS\r
674              SET\r
675              entity_id = $eipam-ip-block.entity-id ,\r
676              service_type = $tmp.service-type ,\r
677              ip_address = $eipam-ip-block.ip-prefix ,\r
678              prefix_length = $eipam-ip-block.mask ,\r
679              plan_name = $network-model.eipam-v6-address-plan ,\r
680              status = 'ACTIVE' ,\r
681              pool_id = $pfx.eipam-pool-row.pool-id ,\r
682              address_family = $network-model.ipv6-ip-version ,\r
683              network_id = $tmp.network-id ; "\r
684     force='true'\r
685         pfx='pfx.eipam-v6subnet-row'>\r
686                                                             <outcome value='failure'>\r
687                                                                 <return status='failure'>\r
688                                                                     <parameter name='error-code' value='500' />\r
689                                                                     <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
690                                                                 </return>\r
691                                                             </outcome>\r
692                                                         </save>\r
693                                                     </outcome>\r
694                                                     <outcome value=''>\r
695                                                         <save\r
696         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
697         resource='SQL'\r
698         key="INSERT EIPAM_IP_SUBNETS\r
699              SET\r
700              entity_id = $eipam-ip-block.entity-id ,\r
701              service_type = $tmp.service-type ,\r
702              ip_address = $eipam-ip-block.ip-prefix ,\r
703              prefix_length = $eipam-ip-block.mask ,\r
704              plan_name = $network-model.eipam-v6-address-plan ,\r
705              status = 'ACTIVE' ,\r
706              pool_id = $pfx.eipam-pool-row.pool-id ,\r
707              address_family = $network-model.ipv6-ip-version ,\r
708              network_id = $tmp.network-id ; "\r
709     force='true'\r
710         pfx='pfx.eipam-v6subnet-row'>\r
711                                                             <outcome value='failure'>\r
712                                                                 <return status='failure'>\r
713                                                                     <parameter name='error-code' value='500' />\r
714                                                                     <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
715                                                                 </return>\r
716                                                             </outcome>\r
717                                                         </save>\r
718                                                     </outcome>\r
719                                                 </switch>\r
720                                                 <save\r
721         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
722         resource='SQL'\r
723         key="INSERT EIPAM_IP_SUBNET_KEYS\r
724              SET\r
725              entity_id = $eipam-ip-block.entity-id ,\r
726              key_name = $key-name ,\r
727              key_value = $key-value ,\r
728              level = $eipam-ip-block.level ; "\r
729     force='true'\r
730         pfx='pfx.eipam-v6subnet-key-row'>\r
731                                                     <outcome value='failure'>\r
732                                                         <return status='failure'>\r
733                                                             <parameter name='error-code' value='500' />\r
734                                                             <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS table.' />\r
735                                                         </return>\r
736                                                     </outcome>\r
737                                                     <outcome value='success'></outcome>\r
738                                                 </save>\r
739                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
740                                                     <parameter name="logger" value="message-log"/>\r
741                                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
742                                                     <parameter name="field2" value="network-topology-operation"/>\r
743                                                     <parameter name="field3" value="eipam-allocate-generic-subnet"/>\r
744                                                     <parameter name="field4" value="`$network-model.eipam-v6-address-plan`"/>\r
745                                                     <parameter name="field5" value="`$key-value`"/>\r
746                                                     <parameter name="field6" value="`$tmp.eipam-pool-row.pool-id`"/>\r
747                                                     <parameter name="field7" value="`$tmp.network_instance_group_id`"/>\r
748                                                     <parameter name="field8" value="`$eipam-ip-block.level`"/>\r
749                                                     <parameter name="field9" value="`$network-model.network-role`"/>\r
750                                                     <parameter name="field10" value="`$tmp.network-id`"/>\r
751                                                     <parameter name="field11" value="subnet info are saved to DB."/>\r
752                                                 </record>\r
753                                             </block>\r
754                                         </outcome>\r
755                                         <outcome value='N'>\r
756                                             <block atomic='true'>\r
757                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
758                                                 <set>\r
759                                                     <parameter name="eipam-ip-block.plan-name" value="`$network-model.eipam-v6-address-plan`"/>\r
760                                                     <parameter name="eipam-ip-block.activate-subnet-flag" value="`$tmp.activate-subnet-flag`"/>\r
761                                                     <parameter name="eipam-ip-block.leaf-level-indicator" value="`$tmp.leaf-level`"/>\r
762                                                     <parameter name="tmp.allocate-v6-subnet-flag" value="Y" />\r
763                                                     <!-- Number of Pool Levels -->\r
764                                                     <parameter name="eipam-ip-block.pools_length" value="`$eipam-ip-block.level`"/>\r
765                                                 </set>\r
766                                                 <for index="l6-idx" start="0" end="`$eipam-ip-block.level`">\r
767                                                     <block atomic='true'>\r
768                                                         <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
769                                                         <set>\r
770                                                             <parameter name="eipam-ip-block.pools[$l6-idx].key-name" value="`$v6FQPN-output.pools[$l6-idx].key-name`"/>\r
771                                                             <parameter name="eipam-ip-block.pools[$l6-idx].key-value" value="`$v6FQPN-output.pools[$l6-idx].key-value`"/>\r
772                                                         </set>\r
773                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
774                                                             <parameter name="logger" value="message-log"/>\r
775                                                             <parameter name="field1" value="__TIMESTAMP__"/>\r
776                                                             <parameter name="field2" value="network-topology-operation"/>\r
777                                                             <parameter name="field3" value="eipam-allocate-generic-subnet"/>\r
778                                                             <parameter name="field4" value="`$eipam-ip-block.plan-name`"/>\r
779                                                             <parameter name="field5" value="`$eipam-ip-block.pools[$l6-idx].key-name`"/>\r
780                                                             <parameter name="field6" value="`$eipam-ip-block.pools[$l6-idx].key-value`"/>\r
781                                                             <parameter name="field7" value="`$l6-idx`"/>\r
782                                                         </record>\r
783                                                     </block>\r
784                                                 </for>\r
785                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
786                                                 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="allocateSubnet">\r
787                                                     <outcome value='failure'>\r
788                                                         <return status="failure">\r
789                                                             <parameter name="tmp.eipam-error" value="true" />\r
790                                                             <parameter name="error-code" value="500"/>\r
791                                                             <parameter name="error-message" value="An error occured while allocating V6 subnet in EIPAM." />\r
792                                                         </return>\r
793                                                     </outcome>\r
794                                                 </execute>\r
795                                                 <get-resource\r
796         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
797         resource='SQL'\r
798         key="SELECT * from EIPAM_IP_POOLS WHERE plan_name = $network-model.eipam-v6-address-plan and level = $eipam-ip-block.level and key_value = $tmp.key-value ; "\r
799         pfx='pfx.eipam-pool-row'>\r
800                                                     <outcome value='failure'>\r
801                                                         <return status="failure">\r
802                                                             <parameter name="tmp.eipam-error" value="true" />\r
803                                                             <parameter name="error-code" value="500"/>\r
804                                                             <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V6 subnet in EIPAM." />\r
805                                                         </return>\r
806                                                     </outcome>\r
807                                                     <outcome value="not-found">\r
808                                                         <return status="failure">\r
809                                                             <parameter name="tmp.eipam-error" value="true" />\r
810                                                             <parameter name="error-code" value="500"/>\r
811                                                             <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V6 subnet in EIPAM." />\r
812                                                         </return>\r
813                                                     </outcome>\r
814                                                 </get-resource>\r
815                                                 <switch test="`$network-instance-group-data.subnet-assignment-policy.subnet-use`">\r
816                                                     <outcome value='shared'>\r
817                                                         <save\r
818         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
819         resource='SQL'\r
820         key="INSERT EIPAM_IP_SUBNETS\r
821              SET\r
822              entity_id = $eipam-ip-block.entity-id ,\r
823              service_type = $tmp.service-type ,\r
824              ip_address = $eipam-ip-block.ip-prefix ,\r
825              prefix_length = $eipam-ip-block.mask ,\r
826              plan_name = $network-model.eipam-v6-address-plan ,\r
827              status = 'ACTIVE' ,\r
828              pool_id = $pfx.eipam-pool-row.pool-id ,\r
829              address_family = $network-model.ipv6-ip-version ,\r
830              network_id = $tmp.network-id ,\r
831              network_instance_group_id = $tmp.network-instance-group-id ; "\r
832     force='true'\r
833         pfx='pfx.eipam-v6subnet-row'>\r
834                                                             <outcome value='failure'>\r
835                                                                 <return status='failure'>\r
836                                                                     <parameter name='error-code' value='500' />\r
837                                                                     <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
838                                                                 </return>\r
839                                                             </outcome>\r
840                                                         </save>\r
841                                                     </outcome>\r
842                                                     <outcome value='Other'>\r
843                                                         <save\r
844         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
845         resource='SQL'\r
846         key="INSERT EIPAM_IP_SUBNETS\r
847              SET\r
848              entity_id = $eipam-ip-block.entity-id ,\r
849              service_type = $tmp.service-type ,\r
850              ip_address = $eipam-ip-block.ip-prefix ,\r
851              prefix_length = $eipam-ip-block.mask ,\r
852              plan_name = $network-model.eipam-v6-address-plan ,\r
853              status = 'ACTIVE' ,\r
854              pool_id = $pfx.eipam-pool-row.pool-id ,\r
855              address_family = $network-model.ipv6-ip-version ,\r
856              network_id = $tmp.network-id ; "\r
857     force='true'\r
858         pfx='pfx.eipam-v6subnet-row'>\r
859                                                             <outcome value='failure'>\r
860                                                                 <return status='failure'>\r
861                                                                     <parameter name='error-code' value='500' />\r
862                                                                     <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
863                                                                 </return>\r
864                                                             </outcome>\r
865                                                         </save>\r
866                                                     </outcome>\r
867                                                     <outcome value=''>\r
868                                                         <save\r
869         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
870         resource='SQL'\r
871         key="INSERT EIPAM_IP_SUBNETS\r
872              SET\r
873              entity_id = $eipam-ip-block.entity-id ,\r
874              service_type = $tmp.service-type ,\r
875              ip_address = $eipam-ip-block.ip-prefix ,\r
876              prefix_length = $eipam-ip-block.mask ,\r
877              plan_name = $network-model.eipam-v6-address-plan ,\r
878              status = 'ACTIVE' ,\r
879              pool_id = $pfx.eipam-pool-row.pool-id ,\r
880              address_family = $network-model.ipv6-ip-version ,\r
881              network_id = $tmp.network-id ; "\r
882     force='true'\r
883         pfx='pfx.eipam-v6subnet-row'>\r
884                                                             <outcome value='failure'>\r
885                                                                 <return status='failure'>\r
886                                                                     <parameter name='error-code' value='500' />\r
887                                                                     <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
888                                                                 </return>\r
889                                                             </outcome>\r
890                                                         </save>\r
891                                                     </outcome>\r
892                                                 </switch>\r
893                                                 <save\r
894         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
895         resource='SQL'\r
896         key="INSERT EIPAM_IP_SUBNET_KEYS\r
897              SET\r
898              entity_id = $eipam-ip-block.entity-id ,\r
899              key_name = $key-name ,\r
900              key_value = $key-value ,\r
901              level = $eipam-ip-block.level ; "\r
902     force='true'\r
903         pfx='pfx.eipam-v6subnet-key-row'>\r
904                                                     <outcome value='failure'>\r
905                                                         <return status='failure'>\r
906                                                             <parameter name='error-code' value='500' />\r
907                                                             <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS table.' />\r
908                                                         </return>\r
909                                                     </outcome>\r
910                                                     <outcome value='success'></outcome>\r
911                                                 </save>\r
912                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
913                                                     <parameter name="logger" value="message-log"/>\r
914                                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
915                                                     <parameter name="field2" value="network-topology-operation"/>\r
916                                                     <parameter name="field3" value="eipam-allocate-generic-subnet"/>\r
917                                                     <parameter name="field4" value="`$network-model.eipam-v6-address-plan`"/>\r
918                                                     <parameter name="field5" value="`$key-value`"/>\r
919                                                     <parameter name="field6" value="`$tmp.eipam-pool-row.pool-id`"/>\r
920                                                     <parameter name="field7" value="`$tmp.network_instance_group_id`"/>\r
921                                                     <parameter name="field8" value="`$eipam-ip-block.level`"/>\r
922                                                     <parameter name="field9" value="`$network-model.network-role`"/>\r
923                                                     <parameter name="field10" value="`$tmp.network-id`"/>\r
924                                                     <parameter name="field11" value="subnet info are saved to DB."/>\r
925                                                 </record>\r
926                                             </block>\r
927                                         </outcome>\r
928                                     </switch>\r
929                                 </block>\r
930                             </outcome>\r
931                             <outcome value=''>\r
932                                 <return status="failure">\r
933                                     <parameter name="tmp.eipam-error" value="true" />\r
934                                     <parameter name="error-code" value="500"/>\r
935                                     <parameter name="error-message" value="Please set the eipam-ip-block.level for appropriate EIPAM request." />\r
936                                 </return>\r
937                             </outcome>\r
938                             <outcome value='Other'>\r
939                                 <block atomic='true'>\r
940                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
941                                     <set>\r
942                                         <parameter name="eipam-ip-block.plan-name" value="`$network-model.eipam-v6-address-plan`"/>\r
943                                         <parameter name="eipam-ip-block.activate-subnet-flag" value="`$tmp.activate-subnet-flag`"/>\r
944                                         <parameter name="eipam-ip-block.leaf-level-indicator" value="`$tmp.leaf-level`"/>\r
945                                         <parameter name="tmp.allocate-v6-subnet-flag" value="Y" />\r
946                                         <!-- Number of Pool Levels -->\r
947                                         <parameter name="eipam-ip-block.pools_length" value="`$eipam-ip-block.level`"/>\r
948                                     </set>\r
949                                     <for index="l6-idx" start="0" end="`$eipam-ip-block.level`">\r
950                                         <block atomic='true'>\r
951                                             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
952                                             <set>\r
953                                                 <parameter name="eipam-ip-block.pools[$l6-idx].key-name" value="`$v6FQPN-output.pools[$l6-idx].key-name`"/>\r
954                                                 <parameter name="eipam-ip-block.pools[$l6-idx].key-value" value="`$v6FQPN-output.pools[$l6-idx].key-value`"/>\r
955                                             </set>\r
956                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
957                                                 <parameter name="logger" value="message-log"/>\r
958                                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
959                                                 <parameter name="field2" value="network-topology-operation"/>\r
960                                                 <parameter name="field3" value="eipam-allocate-generic-subnet"/>\r
961                                                 <parameter name="field4" value="`$eipam-ip-block.plan-name`"/>\r
962                                                 <parameter name="field5" value="`$eipam-ip-block.pools[$l6-idx].key-name`"/>\r
963                                                 <parameter name="field6" value="`$eipam-ip-block.pools[$l6-idx].key-value`"/>\r
964                                                 <parameter name="field7" value="`$l6-idx`"/>\r
965                                             </record>\r
966                                         </block>\r
967                                     </for>\r
968                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
969                                     <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="allocateSubnet">\r
970                                         <outcome value='failure'>\r
971                                             <return status="failure">\r
972                                                 <parameter name="tmp.eipam-error" value="true" />\r
973                                                 <parameter name="error-code" value="500"/>\r
974                                                 <parameter name="error-message" value="An error occured while allocating V6 subnet in EIPAM." />\r
975                                             </return>\r
976                                         </outcome>\r
977                                     </execute>\r
978                                     <get-resource\r
979         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
980         resource='SQL'\r
981         key="SELECT * from EIPAM_IP_POOLS WHERE plan_name = $network-model.eipam-v6-address-plan and level = $eipam-ip-block.level and key_value = $tmp.key-value ; "\r
982         pfx='pfx.eipam-pool-row'>\r
983                                         <outcome value='failure'>\r
984                                             <return status="failure">\r
985                                                 <parameter name="tmp.eipam-error" value="true" />\r
986                                                 <parameter name="error-code" value="500"/>\r
987                                                 <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V6 subnet in EIPAM." />\r
988                                             </return>\r
989                                         </outcome>\r
990                                         <outcome value="not-found">\r
991                                             <return status="failure">\r
992                                                 <parameter name="tmp.eipam-error" value="true" />\r
993                                                 <parameter name="error-code" value="500"/>\r
994                                                 <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V6 subnet in EIPAM." />\r
995                                             </return>\r
996                                         </outcome>\r
997                                     </get-resource>\r
998                                     <switch test="`$network-instance-group-data.subnet-assignment-policy.subnet-use`">\r
999                                         <outcome value='shared'>\r
1000                                             <save\r
1001         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
1002         resource='SQL'\r
1003         key="INSERT EIPAM_IP_SUBNETS\r
1004              SET\r
1005              entity_id = $eipam-ip-block.entity-id ,\r
1006              service_type = $tmp.service-type ,\r
1007              ip_address = $eipam-ip-block.ip-prefix ,\r
1008              prefix_length = $eipam-ip-block.mask ,\r
1009              plan_name = $network-model.eipam-v6-address-plan ,\r
1010              status = 'ACTIVE' ,\r
1011              pool_id = $pfx.eipam-pool-row.pool-id ,\r
1012              address_family = $network-model.ipv6-ip-version ,\r
1013              network_id = $tmp.network-id ,\r
1014              network_instance_group_id = $tmp.network-instance-group-id ; "\r
1015     force='true'\r
1016         pfx='pfx.eipam-v6subnet-row'>\r
1017                                                 <outcome value='failure'>\r
1018                                                     <return status='failure'>\r
1019                                                         <parameter name='error-code' value='500' />\r
1020                                                         <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
1021                                                     </return>\r
1022                                                 </outcome>\r
1023                                             </save>\r
1024                                         </outcome>\r
1025                                         <outcome value='Other'>\r
1026                                             <save\r
1027         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
1028         resource='SQL'\r
1029         key="INSERT EIPAM_IP_SUBNETS\r
1030              SET\r
1031              entity_id = $eipam-ip-block.entity-id ,\r
1032              service_type = $tmp.service-type ,\r
1033              ip_address = $eipam-ip-block.ip-prefix ,\r
1034              prefix_length = $eipam-ip-block.mask ,\r
1035              plan_name = $network-model.eipam-v6-address-plan ,\r
1036              status = 'ACTIVE' ,\r
1037              pool_id = $pfx.eipam-pool-row.pool-id ,\r
1038              address_family = $network-model.ipv6-ip-version ,\r
1039              network_id = $tmp.network-id ; "\r
1040     force='true'\r
1041         pfx='pfx.eipam-v6subnet-row'>\r
1042                                                 <outcome value='failure'>\r
1043                                                     <return status='failure'>\r
1044                                                         <parameter name='error-code' value='500' />\r
1045                                                         <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
1046                                                     </return>\r
1047                                                 </outcome>\r
1048                                             </save>\r
1049                                         </outcome>\r
1050                                         <outcome value=''>\r
1051                                             <save\r
1052         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
1053         resource='SQL'\r
1054         key="INSERT EIPAM_IP_SUBNETS\r
1055              SET\r
1056              entity_id = $eipam-ip-block.entity-id ,\r
1057              service_type = $tmp.service-type ,\r
1058              ip_address = $eipam-ip-block.ip-prefix ,\r
1059              prefix_length = $eipam-ip-block.mask ,\r
1060              plan_name = $network-model.eipam-v6-address-plan ,\r
1061              status = 'ACTIVE' ,\r
1062              pool_id = $pfx.eipam-pool-row.pool-id ,\r
1063              address_family = $network-model.ipv6-ip-version ,\r
1064              network_id = $tmp.network-id ; "\r
1065     force='true'\r
1066         pfx='pfx.eipam-v6subnet-row'>\r
1067                                                 <outcome value='failure'>\r
1068                                                     <return status='failure'>\r
1069                                                         <parameter name='error-code' value='500' />\r
1070                                                         <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />\r
1071                                                     </return>\r
1072                                                 </outcome>\r
1073                                             </save>\r
1074                                         </outcome>\r
1075                                     </switch>\r
1076                                     <save\r
1077         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
1078         resource='SQL'\r
1079         key="INSERT EIPAM_IP_SUBNET_KEYS\r
1080              SET\r
1081              entity_id = $eipam-ip-block.entity-id ,\r
1082              key_name = $key-name ,\r
1083              key_value = $key-value ,\r
1084              level = $eipam-ip-block.level ; "\r
1085     force='true'\r
1086         pfx='pfx.eipam-v6subnet-key-row'>\r
1087                                         <outcome value='failure'>\r
1088                                             <return status='failure'>\r
1089                                                 <parameter name='error-code' value='500' />\r
1090                                                 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS table.' />\r
1091                                             </return>\r
1092                                         </outcome>\r
1093                                         <outcome value='success'></outcome>\r
1094                                     </save>\r
1095                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1096                                         <parameter name="logger" value="message-log"/>\r
1097                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
1098                                         <parameter name="field2" value="network-topology-operation"/>\r
1099                                         <parameter name="field3" value="eipam-allocate-generic-subnet"/>\r
1100                                         <parameter name="field4" value="`$network-model.eipam-v6-address-plan`"/>\r
1101                                         <parameter name="field5" value="`$key-value`"/>\r
1102                                         <parameter name="field6" value="`$tmp.eipam-pool-row.pool-id`"/>\r
1103                                         <parameter name="field7" value="`$tmp.network_instance_group_id`"/>\r
1104                                         <parameter name="field8" value="`$eipam-ip-block.level`"/>\r
1105                                         <parameter name="field9" value="`$network-model.network-role`"/>\r
1106                                         <parameter name="field10" value="`$tmp.network-id`"/>\r
1107                                         <parameter name="field11" value="subnet info are saved to DB."/>\r
1108                                     </record>\r
1109                                 </block>\r
1110                             </outcome>\r
1111                         </switch>\r
1112                     </block>\r
1113                 </outcome>\r
1114                 <outcome value=''>\r
1115                     <return status="failure">\r
1116                         <parameter name="tmp.eipam-error" value="true" />\r
1117                         <parameter name="error-code" value="500"/>\r
1118                         <parameter name="error-message" value="Please set the eipam-ip-block.allocate-version for appropriate EIPAM request." />\r
1119                     </return>\r
1120                 </outcome>\r
1121             </switch>\r
1122             <return status='success'>\r
1123                 <parameter name="error-code" value="200" />\r
1124             </return>\r
1125         </block>\r
1126     </method>\r
1127 </service-logic>