Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_process-eipam-pools.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="process-eipam-pools" mode="sync">\r
5         <switch test='`$tmp.process-eipam-action`'>\r
6             <outcome value='assign'>\r
7                 <block atomic="true">\r
8                     <set>\r
9                         <parameter name='eipam-ip-block.entity-id' value='' />\r
10                         <parameter name='eipam-ip-block.ip-prefix' value='' />\r
11                         <parameter name='eipam-ip-block.mask' value='' />\r
12                         <parameter name='tmp.location8' value='' />\r
13                         <parameter name='tmp.l3-network.level1.v4.entity-id' value='' />\r
14                         <parameter name='tmp.l3-network.level1.v4.ip-prefix' value='' />\r
15                         <parameter name='tmp.l3-network.level1.v4.mask' value='' />\r
16                         <parameter name='tmp.l3-network.level1.v4.pool.pre-existing' value='false' />\r
17                         <parameter name='tmp.l3-network.level1.v4.subnet.pre-existing' value='false' />\r
18                         <parameter name='tmp.l3-network.level1.v6.entity-id' value='' />\r
19                         <parameter name='tmp.l3-network.level1.v6.ip-prefix' value='' />\r
20                         <parameter name='tmp.l3-network.level1.v6.mask' value='' />\r
21                         <parameter name='tmp.l3-network.level1.v6.pool.pre-existing' value='false' />\r
22                         <parameter name='tmp.l3-network.level1.v6.subnet.pre-existing' value='false' />\r
23                         <parameter name='tmp.l3-network.level2.v4.entity-id' value='' />\r
24                         <parameter name='tmp.l3-network.level2.v4.ip-prefix' value='' />\r
25                         <parameter name='tmp.l3-network.level2.v4.mask' value='' />\r
26                         <parameter name='tmp.l3-network.level2.v4.pool.pre-existing' value='false' />\r
27                         <parameter name='tmp.l3-network.level2.v4.subnet.pre-existing' value='false' />\r
28                         <parameter name='tmp.l3-network.level2.v6.entity-id' value='' />\r
29                         <parameter name='tmp.l3-network.level2.v6.ip-prefix' value='' />\r
30                         <parameter name='tmp.l3-network.level2.v6.mask' value='' />\r
31                         <parameter name='tmp.l3-network.level2.v6.pool.pre-existing' value='false' />\r
32                         <parameter name='tmp.l3-network.level2.v6.subnet.pre-existing' value='false' />\r
33                     </set>\r
34                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>\r
35                         <parameter name="string" value="`$aai.complex.physical-location-id`" />\r
36                         <parameter name="result" value="tmp.location8"/>\r
37                         <parameter name="begin-index" value="0" />\r
38                         <parameter name="end-index" value="8" />\r
39                     </execute>\r
40                     <set>\r
41                         <parameter name='tmp.region' value='`$aai.complex.region`' />\r
42                         <parameter name='tmp.cloud-region-id' value="`$aai.cloud-region.cloud-region-id`" />\r
43                         <parameter name='tmp.physical-location-id' value="`$aai.complex.physical-location-id`" />\r
44                         <parameter name="tmp.clli" value="`$aai.complex.physical-location-id`" />\r
45                         <parameter name="tmp.zone" value="`$aai.cloud-region.cloud-zone`" />\r
46                         <parameter name="tmp.network-id" value="`$tmp.l3-network.network-id`" />\r
47                         <parameter name="tmp.service-type" value="`$network-topology-operation-input.service-information.subscription-service-type`" />\r
48                         <parameter name="eipam-ip-block.level" value='1' />\r
49                         <parameter name='eipam-ip-block.plans_length' value='0' />\r
50                         <parameter name='eipam-pool.v4.pre-existing' value='false' />\r
51                         <parameter name='eipam-pool.v6.pre-existing' value='false' />\r
52                         <parameter name="tmp.level1-key-value" value="`$tmp.location8 + ':' + $aai.cloud-region.cloud-region-id`" />\r
53                         <parameter name="tmp.level2-key-value" value="`$network-model.network-role + ':' + $tmp.l3-network.network-id`" />\r
54                         <parameter name="tmp.ipv4-cidr-mask" value="`$network-model.ipv4-cidr-mask`" />\r
55                         <parameter name="tmp.ipv6-cidr-mask" value="`$network-model.ipv6-cidr-mask`" />\r
56                     </set>\r
57                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
58                     <set>\r
59                         <parameter name="eipam-ip-block.subnet-size-override-v4" value="`$network-model.ipv4-cidr-mask`" />\r
60                         <parameter name="eipam-ip-block.subnet-size-override-v6" value="`$network-model.ipv6-cidr-mask`" />\r
61                     </set>\r
62                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`">\r
63                         <outcome value=''>\r
64                             <block></block>\r
65                         </outcome>\r
66                         <outcome value='Other'>\r
67                             <block>\r
68                                 <for index='pidx' start='0' end='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`' >\r
69                                     <block atomic="true">\r
70                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains'  emitsOutcome='true' >\r
71                                             <parameter name="source" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$pidx].name`" />\r
72                                             <parameter name="target" value="network_assignments_ipv4_subnet_default_assignment_cidr_mask"/>\r
73                                             <outcome value='true'>\r
74                                                 <set>\r
75                                                     <parameter name='eipam-ip-block.subnet-size-override-v4' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$pidx].value`' />\r
76                                                 </set>\r
77                                             </outcome>\r
78                                         </execute>\r
79                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains'  emitsOutcome='true' >\r
80                                             <parameter name="source" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$pidx].name`" />\r
81                                             <parameter name="target" value="network_assignments_ipv6_subnet_default_assignment_cidr_mask"/>\r
82                                             <outcome value='true'>\r
83                                                 <set>\r
84                                                     <parameter name='eipam-ip-block.subnet-size-override-v6' value='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$pidx].value`' />\r
85                                                 </set>\r
86                                             </outcome>\r
87                                         </execute>\r
88                                     </block>\r
89                                 </for>\r
90                             </block>\r
91                         </outcome>\r
92                     </switch>\r
93                     <!--tmp.level should be set to 1-->\r
94                     <call module='GENERIC-RESOURCE-API' rpc='eipam-create-network-role-pool' mode='sync' >\r
95                         <outcome value='failure'>\r
96                             <return status="failure">\r
97                                 <parameter name="tmp.eipam-error" value="true" />\r
98                                 <parameter name="error-code" value="500"/>\r
99                                 <parameter name="error-message" value="`'An error occured while allocating subnet in EIPAM.  Error creating level 1 pool. ' + $error-message`" />\r
100                             </return>\r
101                         </outcome>\r
102                         <outcome value='success'>\r
103                             <block atomic="true">\r
104                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
105                                     <parameter name="logger" value="message-log"/>\r
106                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
107                                     <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
108                                     <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
109                                     <parameter name="field4" value="eipam-pool.v4.pre-existing"/>\r
110                                     <parameter name="field5" value="`$eipam-pool.v4.pre-existing`"/>\r
111                                     <parameter name="field6" value="eipam-pool.v4.pre-existing"/>\r
112                                     <parameter name="field7" value="`$eipam-pool.v6.pre-existing`"/>\r
113                                     <parameter name="field8" value="tmp.create-v4-pool-flag" />\r
114                                     <parameter name="field9" value="`$tmp.create-v4-pool-flag`" />\r
115                                     <parameter name="field10" value="tmp.create-v6-pool-flag" />\r
116                                     <parameter name="field11" value="`$tmp.create-v6-pool-flag`" />\r
117                                 </record>\r
118                                 <set>\r
119                                     <parameter name='tmp.l3-network.level1.v4.pool.pre-existing' value='`$eipam-pool.v4.pre-existing`'/>\r
120                                     <parameter name='tmp.l3-network.level1.v6.pool.pre-existing' value='`$eipam-pool.v6.pre-existing`'/>\r
121                                 </set>\r
122                             </block>\r
123                         </outcome>\r
124                     </call>\r
125                     <switch test="`$network-model.use-ipv4`">\r
126                         <outcome value='Y'>\r
127                             <block atomic='true'>\r
128                                 <get-resource\r
129         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
130         resource='SQL'\r
131         key="SELECT * from EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k WHERE s.plan_name = $network-model.eipam-v4-address-plan and s.entity_id = k.entity_id and k.level = 1 and k.key_value = $tmp.level1-key-value ; "\r
132         pfx='tmp.eipam-subnet-row'>\r
133                                     <outcome value='success'>\r
134                                         <block atomic="true">\r
135                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
136                                                 <parameter name="logger" value="message-log"/>\r
137                                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
138                                                 <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
139                                                 <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
140                                                 <parameter name="field4" value="Existing eipam-ip-block.ip-prefix for level1"/>\r
141                                                 <parameter name="field5" value="`$tmp.eipam-subnet-row.ip-address`"/>\r
142                                                 <parameter name="field6" value="Existing eipam-ip-block.mask for level1"/>\r
143                                                 <parameter name="field7" value="`$tmp.eipam-subnet-row.prefix-length`"/>\r
144                                                 <parameter name="field8" value="ipv4"/>\r
145                                             </record>\r
146                                             <set>\r
147                                                 <parameter name='tmp.l3-network.level1.v4.subnet.pre-existing' value='true' />\r
148                                                 <parameter name='tmp.l3-network.level1.v4.entity-id' value='`$tmp.eipam-row.entity-id`' />\r
149                                                 <parameter name='tmp.l3-network.level1.v4.ip-prefix' value='`$tmp.eipam-row.ip-address`' />\r
150                                                 <parameter name='tmp.l3-network.level1.v4.mask' value='`$tmp.eipam-row.prefix-length`' />\r
151                                             </set>\r
152                                         </block>\r
153                                     </outcome>\r
154                                     <outcome value="not-found">\r
155                                         <block atomic='true'>\r
156                                             <set>\r
157                                                 <parameter name='eipam-ip-block.entity-id' value='' />\r
158                                                 <parameter name='eipam-ip-block.ip-prefix' value='' />\r
159                                                 <parameter name='eipam-ip-block.mask' value='' />\r
160                                                 <parameter name="eipam-ip-block.allocate-version" value='ipv4' />\r
161                                                 <parameter name="eipam-ip-block.level" value='1' />\r
162                                                 <parameter name='eipam-ip-block.plans_length' value='0' />\r
163                                             </set>\r
164                                             <call module='GENERIC-RESOURCE-API' rpc='eipam-allocate-network-role-subnet' mode='sync' >\r
165                                                 <outcome value='success'>\r
166                                                     <block atomic="true">\r
167                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
168                                                             <parameter name="logger" value="message-log"/>\r
169                                                             <parameter name="field1" value="__TIMESTAMP__"/>\r
170                                                             <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
171                                                             <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
172                                                             <parameter name="field4" value="eipam-ip-block.ip-prefix for level1"/>\r
173                                                             <parameter name="field5" value="`$eipam-ip-block.ip-prefix`"/>\r
174                                                             <parameter name="field6" value="eipam-ip-block.mask for level1"/>\r
175                                                             <parameter name="field7" value="`$eipam-ip-block.mask`"/>\r
176                                                             <parameter name="field8" value="ipv4"/>\r
177                                                         </record>\r
178                                                         <set>\r
179                                                             <parameter name='tmp.l3-network.level1.v4.subnet.pre-existing' value='' />\r
180                                                             <parameter name='tmp.l3-network.level1.v4.entity-id' value='`$eipam-ip-block.entity-id`' />\r
181                                                             <parameter name='tmp.l3-network.level1.v4.ip-prefix' value='`$eipam-ip-block.ip-prefix`' />\r
182                                                             <parameter name='tmp.l3-network.level1.v4.mask' value='`$eipam-ip-block.mask`' />\r
183                                                         </set>\r
184                                                     </block>\r
185                                                 </outcome>\r
186                                                 <outcome value='failure'>\r
187                                                     <block atomic="true">\r
188                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
189                                                             <parameter name="logger" value="message-log"/>\r
190                                                             <parameter name="field1" value="__TIMESTAMP__"/>\r
191                                                             <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
192                                                             <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
193                                                             <parameter name="field4" value="Failed to allocate level1 ipv4 subnet - failure from eipam-allocate-network-role-subnet"/>\r
194                                                         </record>\r
195                                                         <switch test="`$tmp.l3-network.level1.v4.pool.pre-existing`">\r
196                                                             <outcome value='true'>\r
197                                                                 <return status="failure">\r
198                                                                     <parameter name="tmp.eipam-error" value="true" />\r
199                                                                     <parameter name="error-code" value="500"/>\r
200                                                                     <parameter name="error-message" value="An error occured while allocating subnet in EIPAM. Pre-existing pool, no rollback." />\r
201                                                                 </return>\r
202                                                             </outcome>\r
203                                                             <outcome value='false'>\r
204                                                                 <block atomic="true">\r
205                                                                     <set>\r
206                                                                         <parameter name="eipam-ip-block.network-id" value="`$tmp.l3-network.network-id`" />\r
207                                                                         <parameter name="eipam-ip-block.level" value='1' />\r
208                                                                     </set>\r
209                                                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
210                                                                     <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByNetworkLevel">\r
211                                                                         <outcome value='failure'>\r
212                                                                             <return status="failure">\r
213                                                                                 <parameter name="tmp.eipam-error" value="true" />\r
214                                                                                 <parameter name="error-code" value="500"/>\r
215                                                                                 <parameter name="error-message" value="An error occured while allocating subnet in EIPAM.  Error rolling back EIPAM level 1 pool." />\r
216                                                                             </return>\r
217                                                                         </outcome>\r
218                                                                         <outcome value='Other'>\r
219                                                                             <return status="failure">\r
220                                                                                 <parameter name="tmp.eipam-error" value="true" />\r
221                                                                                 <parameter name="error-code" value="500"/>\r
222                                                                                 <parameter name="error-message" value="An error occured while allocating subnet in EIPAM. Rollback complete." />\r
223                                                                             </return>\r
224                                                                         </outcome>\r
225                                                                     </execute>\r
226                                                                 </block>\r
227                                                             </outcome>\r
228                                                             <outcome value=''>\r
229                                                                 <block atomic="true">\r
230                                                                     <set>\r
231                                                                         <parameter name="eipam-ip-block.network-id" value="`$tmp.l3-network.network-id`" />\r
232                                                                         <parameter name="eipam-ip-block.level" value='1' />\r
233                                                                     </set>\r
234                                                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
235                                                                     <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByNetworkLevel">\r
236                                                                         <outcome value='failure'>\r
237                                                                             <return status="failure">\r
238                                                                                 <parameter name="tmp.eipam-error" value="true" />\r
239                                                                                 <parameter name="error-code" value="500"/>\r
240                                                                                 <parameter name="error-message" value="An error occured while allocating subnet in EIPAM.  Error rolling back EIPAM level 1 pool." />\r
241                                                                             </return>\r
242                                                                         </outcome>\r
243                                                                         <outcome value='Other'>\r
244                                                                             <return status="failure">\r
245                                                                                 <parameter name="tmp.eipam-error" value="true" />\r
246                                                                                 <parameter name="error-code" value="500"/>\r
247                                                                                 <parameter name="error-message" value="An error occured while allocating subnet in EIPAM. Rollback complete." />\r
248                                                                             </return>\r
249                                                                         </outcome>\r
250                                                                     </execute>\r
251                                                                 </block>\r
252                                                             </outcome>\r
253                                                         </switch>\r
254                                                     </block>\r
255                                                 </outcome>\r
256                                             </call>\r
257                                         </block>\r
258                                     </outcome>\r
259                                 </get-resource>\r
260                             </block>\r
261                         </outcome>\r
262                     </switch>\r
263                     <switch test="`$network-model.use-ipv6`">\r
264                         <outcome value='Y'>\r
265                             <block atomic='true'>\r
266                                 <get-resource\r
267         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
268         resource='SQL'\r
269         key="SELECT * from EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k WHERE s.plan_name = $network-model.eipam-v6-address-plan and s.entity_id = k.entity_id and k.level = 1 and k.key_value = $tmp.level1-key-value ; "\r
270         pfx='tmp.eipam-subnet-row'>\r
271                                     <outcome value='success'>\r
272                                         <block atomic="true">\r
273                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
274                                                 <parameter name="logger" value="message-log"/>\r
275                                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
276                                                 <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
277                                                 <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
278                                                 <parameter name="field4" value="Existing eipam-ip-block.ip-prefix for level1"/>\r
279                                                 <parameter name="field5" value="`$tmp.eipam-subnet-row.ip-address`"/>\r
280                                                 <parameter name="field6" value="Existing eipam-ip-block.mask for level1"/>\r
281                                                 <parameter name="field7" value="`$tmp.eipam-subnet-row.prefix-length`"/>\r
282                                                 <parameter name="field8" value="ipv6"/>\r
283                                             </record>\r
284                                             <set>\r
285                                                 <parameter name='tmp.l3-network.level1.v6.subnet.pre-existing' value='true' />\r
286                                                 <parameter name='tmp.l3-network.level1.v6.entity-id' value='`$tmp.eipam-row.entity-id`' />\r
287                                                 <parameter name='tmp.l3-network.level1.v6.ip-prefix' value='`$tmp.eipam-row.ip-address`' />\r
288                                                 <parameter name='tmp.l3-network.level1.v6.mask' value='`$tmp.eipam-row.prefix-length`' />\r
289                                             </set>\r
290                                         </block>\r
291                                     </outcome>\r
292                                     <outcome value="not-found">\r
293                                         <block atomic='true'>\r
294                                             <set>\r
295                                                 <parameter name='eipam-ip-block.entity-id' value='' />\r
296                                                 <parameter name='eipam-ip-block.ip-prefix' value='' />\r
297                                                 <parameter name='eipam-ip-block.mask' value='' />\r
298                                                 <parameter name="eipam-ip-block.allocate-version" value='ipv6' />\r
299                                                 <parameter name="eipam-ip-block.level" value='1' />\r
300                                                 <parameter name='eipam-ip-block.plans_length' value='0' />\r
301                                             </set>\r
302                                             <call module='GENERIC-RESOURCE-API' rpc='eipam-allocate-network-role-subnet' mode='sync' >\r
303                                                 <outcome value='success'>\r
304                                                     <block atomic="true">\r
305                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
306                                                             <parameter name="logger" value="message-log"/>\r
307                                                             <parameter name="field1" value="__TIMESTAMP__"/>\r
308                                                             <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
309                                                             <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
310                                                             <parameter name="field4" value="eipam-ip-block.ip-prefix for level1"/>\r
311                                                             <parameter name="field5" value="`$eipam-ip-block.ip-prefix`"/>\r
312                                                             <parameter name="field6" value="eipam-ip-block.mask for level1"/>\r
313                                                             <parameter name="field7" value="`$eipam-ip-block.mask`"/>\r
314                                                             <parameter name="field8" value="ipv6"/>\r
315                                                         </record>\r
316                                                         <set>\r
317                                                             <parameter name='tmp.l3-network.level1.v6.subnet.pre-existing' value='' />\r
318                                                             <parameter name='tmp.l3-network.level1.v6.entity-id' value='`$eipam-ip-block.entity-id`' />\r
319                                                             <parameter name='tmp.l3-network.level1.v6.ip-prefix' value='`$eipam-ip-block.ip-prefix`' />\r
320                                                             <parameter name='tmp.l3-network.level1.v6.mask' value='`$eipam-ip-block.mask`' />\r
321                                                         </set>\r
322                                                     </block>\r
323                                                 </outcome>\r
324                                                 <outcome value='failure'>\r
325                                                     <block atomic="true">\r
326                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
327                                                             <parameter name="logger" value="message-log"/>\r
328                                                             <parameter name="field1" value="__TIMESTAMP__"/>\r
329                                                             <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
330                                                             <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
331                                                             <parameter name="field4" value="Failed to allocate level1 ipv6 subnet - failure from eipam-allocate-network-role-subnet"/>\r
332                                                         </record>\r
333                                                         <switch test="`$tmp.l3-network.level1.v6.pool.pre-existing`">\r
334                                                             <outcome value='true'>\r
335                                                                 <return status="failure">\r
336                                                                     <parameter name="tmp.eipam-error" value="true" />\r
337                                                                     <parameter name="error-code" value="500"/>\r
338                                                                     <parameter name="error-message" value="An error occured while allocating subnet in EIPAM. Pre-existing pool, no rollback." />\r
339                                                                 </return>\r
340                                                             </outcome>\r
341                                                             <outcome value='false'>\r
342                                                                 <block atomic="true">\r
343                                                                     <set>\r
344                                                                         <parameter name="eipam-ip-block.network-id" value="`$tmp.l3-network.network-id`" />\r
345                                                                         <parameter name="eipam-ip-block.level" value='1' />\r
346                                                                     </set>\r
347                                                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
348                                                                     <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByNetworkLevel">\r
349                                                                         <outcome value='Other'>\r
350                                                                             <return status="failure">\r
351                                                                                 <parameter name="tmp.eipam-error" value="true" />\r
352                                                                                 <parameter name="error-code" value="500"/>\r
353                                                                                 <parameter name="error-message" value="An error occured while allocating subnet in EIPAM. Rollback complete." />\r
354                                                                             </return>\r
355                                                                         </outcome>\r
356                                                                         <outcome value='failure'>\r
357                                                                             <return status="failure">\r
358                                                                                 <parameter name="tmp.eipam-error" value="true" />\r
359                                                                                 <parameter name="error-code" value="500"/>\r
360                                                                                 <parameter name="error-message" value="An error occured while allocating subnet in EIPAM.  Error rolling back EIPAM level 1 pool." />\r
361                                                                             </return>\r
362                                                                         </outcome>\r
363                                                                     </execute>\r
364                                                                 </block>\r
365                                                             </outcome>\r
366                                                             <outcome value=''>\r
367                                                                 <block atomic="true">\r
368                                                                     <set>\r
369                                                                         <parameter name="eipam-ip-block.network-id" value="`$tmp.l3-network.network-id`" />\r
370                                                                         <parameter name="eipam-ip-block.level" value='1' />\r
371                                                                     </set>\r
372                                                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
373                                                                     <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByNetworkLevel">\r
374                                                                         <outcome value='Other'>\r
375                                                                             <return status="failure">\r
376                                                                                 <parameter name="tmp.eipam-error" value="true" />\r
377                                                                                 <parameter name="error-code" value="500"/>\r
378                                                                                 <parameter name="error-message" value="An error occured while allocating subnet in EIPAM. Rollback complete." />\r
379                                                                             </return>\r
380                                                                         </outcome>\r
381                                                                         <outcome value='failure'>\r
382                                                                             <return status="failure">\r
383                                                                                 <parameter name="tmp.eipam-error" value="true" />\r
384                                                                                 <parameter name="error-code" value="500"/>\r
385                                                                                 <parameter name="error-message" value="An error occured while allocating subnet in EIPAM.  Error rolling back EIPAM level 1 pool." />\r
386                                                                             </return>\r
387                                                                         </outcome>\r
388                                                                     </execute>\r
389                                                                 </block>\r
390                                                             </outcome>\r
391                                                         </switch>\r
392                                                     </block>\r
393                                                 </outcome>\r
394                                             </call>\r
395                                         </block>\r
396                                     </outcome>\r
397                                 </get-resource>\r
398                             </block>\r
399                         </outcome>\r
400                     </switch>\r
401                     <set>\r
402                         <parameter name='eipam-ip-block.entity-id' value='' />\r
403                         <parameter name='eipam-ip-block.ip-prefix' value='' />\r
404                         <parameter name='eipam-ip-block.mask' value='' />\r
405                         <parameter name="eipam-ip-block.level" value='2' />\r
406                         <parameter name='eipam-ip-block.plans_length' value='0' />\r
407                         <parameter name='eipam-pool.v4.pre-existing' value='false' />\r
408                         <parameter name='eipam-pool.v6.pre-existing' value='false' />\r
409                     </set>\r
410                     <!--tmp.level should be set to 1-->\r
411                     <call module='GENERIC-RESOURCE-API' rpc='eipam-create-network-role-pool' mode='sync' >\r
412                         <outcome value='failure'>\r
413                             <block atomic="true">\r
414                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
415                                     <parameter name="logger" value="message-log"/>\r
416                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
417                                     <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
418                                     <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
419                                     <parameter name="field4" value="Error creating level 2 pool, need to attempt rollback"/>\r
420                                 </record>\r
421                                 <return status="failure">\r
422                                     <parameter name="tmp.eipam-error" value="true" />\r
423                                     <parameter name="error-code" value="500"/>\r
424                                     <parameter name="error-message" value="An error occured while allocating subnet in EIPAM.  Error creating level 2 pool" />\r
425                                 </return>\r
426                             </block>\r
427                         </outcome>\r
428                         <outcome value='success'>\r
429                             <block atomic="true">\r
430                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
431                                     <parameter name="logger" value="message-log"/>\r
432                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
433                                     <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
434                                     <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
435                                     <parameter name="field4" value="eipam-pool.v4.pre-existing"/>\r
436                                     <parameter name="field5" value="`$eipam-pool.v4.pre-existing`"/>\r
437                                     <parameter name="field6" value="eipam-pool.v4.pre-existing"/>\r
438                                     <parameter name="field7" value="`$eipam-pool.v6.pre-existing`"/>\r
439                                     <parameter name="field8" value="tmp.create-v4-pool-flag" />\r
440                                     <parameter name="field9" value="`$tmp.create-v4-pool-flag`" />\r
441                                     <parameter name="field10" value="tmp.create-v6-pool-flag" />\r
442                                     <parameter name="field11" value="`$tmp.create-v6-pool-flag`" />\r
443                                 </record>\r
444                                 <set>\r
445                                     <parameter name='tmp.l3-network.level2.v4.pre-existing' value='`$eipam-pool.v4.pre-existing`'/>\r
446                                     <parameter name='tmp.l3-network.level2.v6.pre-existing' value='`$eipam-pool.v6.pre-existing`'/>\r
447                                 </set>\r
448                             </block>\r
449                         </outcome>\r
450                     </call>\r
451                     <switch test="`$network-model.use-ipv4`">\r
452                         <outcome value='Y'>\r
453                             <block atomic='true'>\r
454                                 <get-resource\r
455         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
456         resource='SQL'\r
457         key="SELECT * from EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k WHERE s.plan_name = $network-model.eipam-v4-address-plan and s.entity_id = k.entity_id and k.level = 2 and k.key_value = $tmp.level2-key-value ; "\r
458         pfx='tmp.eipam-subnet-row'>\r
459                                     <outcome value='success'>\r
460                                         <block atomic="true">\r
461                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
462                                                 <parameter name="logger" value="message-log"/>\r
463                                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
464                                                 <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
465                                                 <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
466                                                 <parameter name="field4" value="Existing eipam-ip-block.ip-prefix for level2"/>\r
467                                                 <parameter name="field5" value="`$tmp.eipam-subnet-row.ip-address`"/>\r
468                                                 <parameter name="field6" value="Existing eipam-ip-block.mask for level2"/>\r
469                                                 <parameter name="field7" value="`$tmp.eipam-subnet-row.prefix-length`"/>\r
470                                                 <parameter name="field8" value="ipv4"/>\r
471                                             </record>\r
472                                             <set>\r
473                                                 <parameter name='tmp.l3-network.level2.v4.subnet.pre-existing' value='true' />\r
474                                                 <parameter name='tmp.l3-network.level2.v4.entity-id' value='`$tmp.eipam-row.entity-id`' />\r
475                                                 <parameter name='tmp.l3-network.level2.v4.ip-prefix' value='`$tmp.eipam-row.ip-address`' />\r
476                                                 <parameter name='tmp.l3-network.level2.v4.mask' value='`$tmp.eipam-row.prefix-length`' />\r
477                                             </set>\r
478                                         </block>\r
479                                     </outcome>\r
480                                     <outcome value="not-found">\r
481                                         <block atomic='true'>\r
482                                             <set>\r
483                                                 <parameter name='eipam-ip-block.entity-id' value='' />\r
484                                                 <parameter name='eipam-ip-block.ip-prefix' value='' />\r
485                                                 <parameter name='eipam-ip-block.mask' value='' />\r
486                                                 <parameter name="eipam-ip-block.allocate-version" value='ipv4' />\r
487                                                 <parameter name="eipam-ip-block.level" value='2' />\r
488                                                 <parameter name='eipam-ip-block.plans_length' value='0' />\r
489                                                 <parameter name="eipam-ip-block.subnet-size-override" value="`$eipam-ip-block.subnet-size-override-v4`" />\r
490                                             </set>\r
491                                             <call module='GENERIC-RESOURCE-API' rpc='eipam-allocate-network-role-subnet' mode='sync' >\r
492                                                 <outcome value='success'>\r
493                                                     <block atomic="true">\r
494                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
495                                                             <parameter name="logger" value="message-log"/>\r
496                                                             <parameter name="field1" value="__TIMESTAMP__"/>\r
497                                                             <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
498                                                             <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
499                                                             <parameter name="field4" value="eipam-ip-block.ip-prefix for level2"/>\r
500                                                             <parameter name="field5" value="`$eipam-ip-block.ip-prefix`"/>\r
501                                                             <parameter name="field6" value="eipam-ip-block.mask for level2"/>\r
502                                                             <parameter name="field7" value="`$eipam-ip-block.mask`"/>\r
503                                                             <parameter name="field8" value="ipv4"/>\r
504                                                         </record>\r
505                                                         <set>\r
506                                                             <parameter name='tmp.l3-network.level2.v4.subnet.pre-existing' value='' />\r
507                                                             <parameter name='tmp.l3-network.level2.v4.entity-id' value='`$eipam-ip-block.entity-id`' />\r
508                                                             <parameter name='tmp.l3-network.level2.v4.ip-prefix' value='`$eipam-ip-block.ip-prefix`' />\r
509                                                             <parameter name='tmp.l3-network.level2.v4.mask' value='`$eipam-ip-block.mask`' />\r
510                                                         </set>\r
511                                                     </block>\r
512                                                 </outcome>\r
513                                                 <outcome value='failure'>\r
514                                                     <block atomic="true">\r
515                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
516                                                             <parameter name="logger" value="message-log"/>\r
517                                                             <parameter name="field1" value="__TIMESTAMP__"/>\r
518                                                             <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
519                                                             <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
520                                                             <parameter name="field4" value="Failed to allocate level2 ipv4 subnet - failure from eipam-allocate-network-role-subnet"/>\r
521                                                         </record>\r
522                                                         <switch test="`$tmp.l3-network.level2.v4.pool.pre-existing`">\r
523                                                             <outcome value='true'>\r
524                                                                 <return status="failure">\r
525                                                                     <parameter name="tmp.eipam-error" value="true" />\r
526                                                                     <parameter name="error-code" value="500"/>\r
527                                                                     <parameter name="error-message" value="An error occured while allocating subnet in EIPAM. Pre-existing pool, no rollback." />\r
528                                                                 </return>\r
529                                                             </outcome>\r
530                                                             <outcome value='false'>\r
531                                                                 <block atomic="true">\r
532                                                                     <set>\r
533                                                                         <parameter name="eipam-ip-block.network-id" value="`$tmp.l3-network.network-id`" />\r
534                                                                         <parameter name="eipam-ip-block.level" value='2' />\r
535                                                                     </set>\r
536                                                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
537                                                                     <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByNetworkLevel">\r
538                                                                         <outcome value='failure'></outcome>\r
539                                                                         <outcome value='Other'></outcome>\r
540                                                                     </execute>\r
541                                                                     <switch test="`$tmp.l3-network.level1.v4.pool.pre-existing == true or $tmp.l3-network.level1.v4.pool.pre-existing == true`">\r
542                                                                         <outcome value='true'>\r
543                                                                             <return status="failure">\r
544                                                                                 <parameter name="tmp.eipam-error" value="true" />\r
545                                                                                 <parameter name="error-code" value="500"/>\r
546                                                                                 <parameter name="error-message" value="An error occured while allocating subnet in EIPAM. Pre-existing pool, no rollback." />\r
547                                                                             </return>\r
548                                                                         </outcome>\r
549                                                                         <outcome value='false'>\r
550                                                                             <block atomic="true">\r
551                                                                                 <set>\r
552                                                                                     <parameter name="eipam-ip-block.network-id" value="`$tmp.l3-network.network-id`" />\r
553                                                                                     <parameter name="eipam-ip-block.level" value='1' />\r
554                                                                                 </set>\r
555                                                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
556                                                                                 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByNetworkLevel">\r
557                                                                                     <outcome value='Other'>\r
558                                                                                         <return status="failure">\r
559                                                                                             <parameter name="tmp.eipam-error" value="true" />\r
560                                                                                             <parameter name="error-code" value="500"/>\r
561                                                                                             <parameter name="error-message" value="An error occured while allocating level 2 ipv4 subnet in EIPAM. Rollback complete." />\r
562                                                                                         </return>\r
563                                                                                     </outcome>\r
564                                                                                     <outcome value='failure'>\r
565                                                                                         <return status="failure">\r
566                                                                                             <parameter name="tmp.eipam-error" value="true" />\r
567                                                                                             <parameter name="error-code" value="500"/>\r
568                                                                                             <parameter name="error-message" value="An error occured while allocating level 2 ipv4 subnet in EIPAM.  Error rolling back EIPAM level 1 pool." />\r
569                                                                                         </return>\r
570                                                                                     </outcome>\r
571                                                                                 </execute>\r
572                                                                             </block>\r
573                                                                         </outcome>\r
574                                                                         <outcome value=''>\r
575                                                                             <block atomic="true">\r
576                                                                                 <set>\r
577                                                                                     <parameter name="eipam-ip-block.network-id" value="`$tmp.l3-network.network-id`" />\r
578                                                                                     <parameter name="eipam-ip-block.level" value='1' />\r
579                                                                                 </set>\r
580                                                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
581                                                                                 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByNetworkLevel">\r
582                                                                                     <outcome value='Other'>\r
583                                                                                         <return status="failure">\r
584                                                                                             <parameter name="tmp.eipam-error" value="true" />\r
585                                                                                             <parameter name="error-code" value="500"/>\r
586                                                                                             <parameter name="error-message" value="An error occured while allocating level 2 ipv4 subnet in EIPAM. Rollback complete." />\r
587                                                                                         </return>\r
588                                                                                     </outcome>\r
589                                                                                     <outcome value='failure'>\r
590                                                                                         <return status="failure">\r
591                                                                                             <parameter name="tmp.eipam-error" value="true" />\r
592                                                                                             <parameter name="error-code" value="500"/>\r
593                                                                                             <parameter name="error-message" value="An error occured while allocating level 2 ipv4 subnet in EIPAM.  Error rolling back EIPAM level 1 pool." />\r
594                                                                                         </return>\r
595                                                                                     </outcome>\r
596                                                                                 </execute>\r
597                                                                             </block>\r
598                                                                         </outcome>\r
599                                                                     </switch>\r
600                                                                 </block>\r
601                                                             </outcome>\r
602                                                             <outcome value=''>\r
603                                                                 <block atomic="true">\r
604                                                                     <set>\r
605                                                                         <parameter name="eipam-ip-block.network-id" value="`$tmp.l3-network.network-id`" />\r
606                                                                         <parameter name="eipam-ip-block.level" value='2' />\r
607                                                                     </set>\r
608                                                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
609                                                                     <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByNetworkLevel">\r
610                                                                         <outcome value='failure'></outcome>\r
611                                                                         <outcome value='Other'></outcome>\r
612                                                                     </execute>\r
613                                                                     <switch test="`$tmp.l3-network.level1.v4.pool.pre-existing == true or $tmp.l3-network.level1.v4.pool.pre-existing == true`">\r
614                                                                         <outcome value='true'>\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 subnet in EIPAM. Pre-existing pool, no rollback." />\r
619                                                                             </return>\r
620                                                                         </outcome>\r
621                                                                         <outcome value='false'>\r
622                                                                             <block atomic="true">\r
623                                                                                 <set>\r
624                                                                                     <parameter name="eipam-ip-block.network-id" value="`$tmp.l3-network.network-id`" />\r
625                                                                                     <parameter name="eipam-ip-block.level" value='1' />\r
626                                                                                 </set>\r
627                                                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
628                                                                                 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByNetworkLevel">\r
629                                                                                     <outcome value='Other'>\r
630                                                                                         <return status="failure">\r
631                                                                                             <parameter name="tmp.eipam-error" value="true" />\r
632                                                                                             <parameter name="error-code" value="500"/>\r
633                                                                                             <parameter name="error-message" value="An error occured while allocating level 2 ipv4 subnet in EIPAM. Rollback complete." />\r
634                                                                                         </return>\r
635                                                                                     </outcome>\r
636                                                                                     <outcome value='failure'>\r
637                                                                                         <return status="failure">\r
638                                                                                             <parameter name="tmp.eipam-error" value="true" />\r
639                                                                                             <parameter name="error-code" value="500"/>\r
640                                                                                             <parameter name="error-message" value="An error occured while allocating level 2 ipv4 subnet in EIPAM.  Error rolling back EIPAM level 1 pool." />\r
641                                                                                         </return>\r
642                                                                                     </outcome>\r
643                                                                                 </execute>\r
644                                                                             </block>\r
645                                                                         </outcome>\r
646                                                                         <outcome value=''>\r
647                                                                             <block atomic="true">\r
648                                                                                 <set>\r
649                                                                                     <parameter name="eipam-ip-block.network-id" value="`$tmp.l3-network.network-id`" />\r
650                                                                                     <parameter name="eipam-ip-block.level" value='1' />\r
651                                                                                 </set>\r
652                                                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
653                                                                                 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByNetworkLevel">\r
654                                                                                     <outcome value='Other'>\r
655                                                                                         <return status="failure">\r
656                                                                                             <parameter name="tmp.eipam-error" value="true" />\r
657                                                                                             <parameter name="error-code" value="500"/>\r
658                                                                                             <parameter name="error-message" value="An error occured while allocating level 2 ipv4 subnet in EIPAM. Rollback complete." />\r
659                                                                                         </return>\r
660                                                                                     </outcome>\r
661                                                                                     <outcome value='failure'>\r
662                                                                                         <return status="failure">\r
663                                                                                             <parameter name="tmp.eipam-error" value="true" />\r
664                                                                                             <parameter name="error-code" value="500"/>\r
665                                                                                             <parameter name="error-message" value="An error occured while allocating level 2 ipv4 subnet in EIPAM.  Error rolling back EIPAM level 1 pool." />\r
666                                                                                         </return>\r
667                                                                                     </outcome>\r
668                                                                                 </execute>\r
669                                                                             </block>\r
670                                                                         </outcome>\r
671                                                                     </switch>\r
672                                                                 </block>\r
673                                                             </outcome>\r
674                                                         </switch>\r
675                                                     </block>\r
676                                                 </outcome>\r
677                                             </call>\r
678                                         </block>\r
679                                     </outcome>\r
680                                 </get-resource>\r
681                             </block>\r
682                         </outcome>\r
683                     </switch>\r
684                     <switch test="`$network-model.use-ipv6`">\r
685                         <outcome value='Y'>\r
686                             <block atomic='true'>\r
687                                 <get-resource\r
688         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
689         resource='SQL'\r
690         key="SELECT * from EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k WHERE s.plan_name = $network-model.eipam-v6-address-plan and s.entity_id = k.entity_id and k.level = 2 and k.key_value = $tmp.level2-key-value ; "\r
691         pfx='tmp.eipam-subnet-row'>\r
692                                     <outcome value='success'>\r
693                                         <block atomic="true">\r
694                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
695                                                 <parameter name="logger" value="message-log"/>\r
696                                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
697                                                 <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
698                                                 <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
699                                                 <parameter name="field4" value="Existing eipam-ip-block.ip-prefix for level1"/>\r
700                                                 <parameter name="field5" value="`$tmp.eipam-subnet-row.ip-address`"/>\r
701                                                 <parameter name="field6" value="Existing eipam-ip-block.mask for level1"/>\r
702                                                 <parameter name="field7" value="`$tmp.eipam-subnet-row.prefix-length`"/>\r
703                                                 <parameter name="field8" value="ipv6"/>\r
704                                             </record>\r
705                                             <set>\r
706                                                 <parameter name='tmp.l3-network.level2.v6.subnet.pre-existing' value='true' />\r
707                                                 <parameter name='tmp.l3-network.level2.v6.entity-id' value='`$tmp.eipam-row.entity-id`' />\r
708                                                 <parameter name='tmp.l3-network.level2.v6.ip-prefix' value='`$tmp.eipam-row.ip-address`' />\r
709                                                 <parameter name='tmp.l3-network.level2.v6.mask' value='`$tmp.eipam-row.prefix-length`' />\r
710                                             </set>\r
711                                         </block>\r
712                                     </outcome>\r
713                                     <outcome value="not-found">\r
714                                         <block atomic='true'>\r
715                                             <set>\r
716                                                 <parameter name='eipam-ip-block.entity-id' value='' />\r
717                                                 <parameter name='eipam-ip-block.ip-prefix' value='' />\r
718                                                 <parameter name='eipam-ip-block.mask' value='' />\r
719                                                 <parameter name="eipam-ip-block.allocate-version" value='ipv6' />\r
720                                                 <parameter name="eipam-ip-block.level" value='2' />\r
721                                                 <parameter name='eipam-ip-block.plans_length' value='0' />\r
722                                                 <parameter name="eipam-ip-block.subnet-size-override" value="`$eipam-ip-block.subnet-size-override-v6`" />\r
723                                             </set>\r
724                                             <call module='GENERIC-RESOURCE-API' rpc='eipam-allocate-network-role-subnet' mode='sync' >\r
725                                                 <outcome value='success'>\r
726                                                     <block atomic="true">\r
727                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
728                                                             <parameter name="logger" value="message-log"/>\r
729                                                             <parameter name="field1" value="__TIMESTAMP__"/>\r
730                                                             <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
731                                                             <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
732                                                             <parameter name="field4" value="eipam-ip-block.ip-prefix for level1"/>\r
733                                                             <parameter name="field5" value="`$eipam-ip-block.ip-prefix`"/>\r
734                                                             <parameter name="field6" value="eipam-ip-block.mask for level1"/>\r
735                                                             <parameter name="field7" value="`$eipam-ip-block.mask`"/>\r
736                                                             <parameter name="field8" value="ipv6"/>\r
737                                                         </record>\r
738                                                         <set>\r
739                                                             <parameter name='tmp.l3-network.level2.v6.subnet.pre-existing' value='' />\r
740                                                             <parameter name='tmp.l3-network.level2.v6.entity-id' value='`$eipam-ip-block.entity-id`' />\r
741                                                             <parameter name='tmp.l3-network.level2.v6.ip-prefix' value='`$eipam-ip-block.ip-prefix`' />\r
742                                                             <parameter name='tmp.l3-network.level2.v6.mask' value='`$eipam-ip-block.mask`' />\r
743                                                         </set>\r
744                                                     </block>\r
745                                                 </outcome>\r
746                                                 <outcome value='failure'>\r
747                                                     <block atomic="true">\r
748                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
749                                                             <parameter name="logger" value="message-log"/>\r
750                                                             <parameter name="field1" value="__TIMESTAMP__"/>\r
751                                                             <parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>\r
752                                                             <parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
753                                                             <parameter name="field4" value="Failed to allocate level2 ipv6 subnet - failure from eipam-allocate-network-role-subnet"/>\r
754                                                         </record>\r
755                                                         <switch test="`$tmp.l3-network.level2.v6.pool.pre-existing`">\r
756                                                             <outcome value='true'>\r
757                                                                 <return status="failure">\r
758                                                                     <parameter name="tmp.eipam-error" value="true" />\r
759                                                                     <parameter name="error-code" value="500"/>\r
760                                                                     <parameter name="error-message" value="An error occured while allocating subnet in EIPAM. Pre-existing pool, no rollback." />\r
761                                                                 </return>\r
762                                                             </outcome>\r
763                                                             <outcome value='false'>\r
764                                                                 <block atomic="true">\r
765                                                                     <set>\r
766                                                                         <parameter name="eipam-ip-block.network-id" value="`$tmp.l3-network.network-id`" />\r
767                                                                         <parameter name="eipam-ip-block.level" value='2' />\r
768                                                                     </set>\r
769                                                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
770                                                                     <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByNetworkLevel">\r
771                                                                         <outcome value='failure'></outcome>\r
772                                                                         <outcome value='Other'></outcome>\r
773                                                                     </execute>\r
774                                                                     <switch test="`$tmp.l3-network.level1.v4.pool.pre-existing == true or $tmp.l3-network.level1.v4.pool.pre-existing == true`">\r
775                                                                         <outcome value='true'>\r
776                                                                             <return status="failure">\r
777                                                                                 <parameter name="tmp.eipam-error" value="true" />\r
778                                                                                 <parameter name="error-code" value="500"/>\r
779                                                                                 <parameter name="error-message" value="An error occured while allocating subnet in EIPAM. Pre-existing pool, no rollback." />\r
780                                                                             </return>\r
781                                                                         </outcome>\r
782                                                                         <outcome value='false'>\r
783                                                                             <block atomic="true">\r
784                                                                                 <set>\r
785                                                                                     <parameter name="eipam-ip-block.network-id" value="`$tmp.l3-network.network-id`" />\r
786                                                                                     <parameter name="eipam-ip-block.level" value='1' />\r
787                                                                                 </set>\r
788                                                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
789                                                                                 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByNetworkLevel">\r
790                                                                                     <outcome value='Other'>\r
791                                                                                         <return status="failure">\r
792                                                                                             <parameter name="tmp.eipam-error" value="true" />\r
793                                                                                             <parameter name="error-code" value="500"/>\r
794                                                                                             <parameter name="error-message" value="An error occured while allocating level 2 ipv6 subnet in EIPAM. Rollback complete." />\r
795                                                                                         </return>\r
796                                                                                     </outcome>\r
797                                                                                     <outcome value='failure'>\r
798                                                                                         <return status="failure">\r
799                                                                                             <parameter name="tmp.eipam-error" value="true" />\r
800                                                                                             <parameter name="error-code" value="500"/>\r
801                                                                                             <parameter name="error-message" value="An error occured while allocating level 2 ipv6 subnet in EIPAM.  Error rolling back EIPAM level 1 pool." />\r
802                                                                                         </return>\r
803                                                                                     </outcome>\r
804                                                                                 </execute>\r
805                                                                             </block>\r
806                                                                         </outcome>\r
807                                                                         <outcome value=''>\r
808                                                                             <block atomic="true">\r
809                                                                                 <set>\r
810                                                                                     <parameter name="eipam-ip-block.network-id" value="`$tmp.l3-network.network-id`" />\r
811                                                                                     <parameter name="eipam-ip-block.level" value='1' />\r
812                                                                                 </set>\r
813                                                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
814                                                                                 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByNetworkLevel">\r
815                                                                                     <outcome value='Other'>\r
816                                                                                         <return status="failure">\r
817                                                                                             <parameter name="tmp.eipam-error" value="true" />\r
818                                                                                             <parameter name="error-code" value="500"/>\r
819                                                                                             <parameter name="error-message" value="An error occured while allocating level 2 ipv6 subnet in EIPAM. Rollback complete." />\r
820                                                                                         </return>\r
821                                                                                     </outcome>\r
822                                                                                     <outcome value='failure'>\r
823                                                                                         <return status="failure">\r
824                                                                                             <parameter name="tmp.eipam-error" value="true" />\r
825                                                                                             <parameter name="error-code" value="500"/>\r
826                                                                                             <parameter name="error-message" value="An error occured while allocating level 2 ipv6 subnet in EIPAM.  Error rolling back EIPAM level 1 pool." />\r
827                                                                                         </return>\r
828                                                                                     </outcome>\r
829                                                                                 </execute>\r
830                                                                             </block>\r
831                                                                         </outcome>\r
832                                                                     </switch>\r
833                                                                 </block>\r
834                                                             </outcome>\r
835                                                             <outcome value=''>\r
836                                                                 <block atomic="true">\r
837                                                                     <set>\r
838                                                                         <parameter name="eipam-ip-block.network-id" value="`$tmp.l3-network.network-id`" />\r
839                                                                         <parameter name="eipam-ip-block.level" value='2' />\r
840                                                                     </set>\r
841                                                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
842                                                                     <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByNetworkLevel">\r
843                                                                         <outcome value='failure'></outcome>\r
844                                                                         <outcome value='Other'></outcome>\r
845                                                                     </execute>\r
846                                                                     <switch test="`$tmp.l3-network.level1.v4.pool.pre-existing == true or $tmp.l3-network.level1.v4.pool.pre-existing == true`">\r
847                                                                         <outcome value='true'>\r
848                                                                             <return status="failure">\r
849                                                                                 <parameter name="tmp.eipam-error" value="true" />\r
850                                                                                 <parameter name="error-code" value="500"/>\r
851                                                                                 <parameter name="error-message" value="An error occured while allocating subnet in EIPAM. Pre-existing pool, no rollback." />\r
852                                                                             </return>\r
853                                                                         </outcome>\r
854                                                                         <outcome value='false'>\r
855                                                                             <block atomic="true">\r
856                                                                                 <set>\r
857                                                                                     <parameter name="eipam-ip-block.network-id" value="`$tmp.l3-network.network-id`" />\r
858                                                                                     <parameter name="eipam-ip-block.level" value='1' />\r
859                                                                                 </set>\r
860                                                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
861                                                                                 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByNetworkLevel">\r
862                                                                                     <outcome value='Other'>\r
863                                                                                         <return status="failure">\r
864                                                                                             <parameter name="tmp.eipam-error" value="true" />\r
865                                                                                             <parameter name="error-code" value="500"/>\r
866                                                                                             <parameter name="error-message" value="An error occured while allocating level 2 ipv6 subnet in EIPAM. Rollback complete." />\r
867                                                                                         </return>\r
868                                                                                     </outcome>\r
869                                                                                     <outcome value='failure'>\r
870                                                                                         <return status="failure">\r
871                                                                                             <parameter name="tmp.eipam-error" value="true" />\r
872                                                                                             <parameter name="error-code" value="500"/>\r
873                                                                                             <parameter name="error-message" value="An error occured while allocating level 2 ipv6 subnet in EIPAM.  Error rolling back EIPAM level 1 pool." />\r
874                                                                                         </return>\r
875                                                                                     </outcome>\r
876                                                                                 </execute>\r
877                                                                             </block>\r
878                                                                         </outcome>\r
879                                                                         <outcome value=''>\r
880                                                                             <block atomic="true">\r
881                                                                                 <set>\r
882                                                                                     <parameter name="eipam-ip-block.network-id" value="`$tmp.l3-network.network-id`" />\r
883                                                                                     <parameter name="eipam-ip-block.level" value='1' />\r
884                                                                                 </set>\r
885                                                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
886                                                                                 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByNetworkLevel">\r
887                                                                                     <outcome value='Other'>\r
888                                                                                         <return status="failure">\r
889                                                                                             <parameter name="tmp.eipam-error" value="true" />\r
890                                                                                             <parameter name="error-code" value="500"/>\r
891                                                                                             <parameter name="error-message" value="An error occured while allocating level 2 ipv6 subnet in EIPAM. Rollback complete." />\r
892                                                                                         </return>\r
893                                                                                     </outcome>\r
894                                                                                     <outcome value='failure'>\r
895                                                                                         <return status="failure">\r
896                                                                                             <parameter name="tmp.eipam-error" value="true" />\r
897                                                                                             <parameter name="error-code" value="500"/>\r
898                                                                                             <parameter name="error-message" value="An error occured while allocating level 2 ipv6 subnet in EIPAM.  Error rolling back EIPAM level 1 pool." />\r
899                                                                                         </return>\r
900                                                                                     </outcome>\r
901                                                                                 </execute>\r
902                                                                             </block>\r
903                                                                         </outcome>\r
904                                                                     </switch>\r
905                                                                 </block>\r
906                                                             </outcome>\r
907                                                         </switch>\r
908                                                     </block>\r
909                                                 </outcome>\r
910                                             </call>\r
911                                         </block>\r
912                                     </outcome>\r
913                                 </get-resource>\r
914                             </block>\r
915                         </outcome>\r
916                     </switch>\r
917                 </block>\r
918             </outcome>\r
919             <outcome value='delete'>\r
920                 <return status="failure">\r
921                     <parameter name="tmp.eipam-error" value="true" />\r
922                     <parameter name="error-code" value="500"/>\r
923                     <parameter name="error-message" value="Invalid option to process-eipam" />\r
924                 </return>\r
925             </outcome>\r
926             <outcome value='Other'>\r
927                 <return status="failure">\r
928                     <parameter name="tmp.eipam-error" value="true" />\r
929                     <parameter name="error-code" value="500"/>\r
930                     <parameter name="error-message" value="Invalid option to process-eipam" />\r
931                 </return>\r
932             </outcome>\r
933         </switch>\r
934     </method>\r
935 </service-logic>