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='network-topology-operation-unassign' mode='sync'>
\r
5 <block atomic="true">
\r
6 <switch test='`$service-data.networks.network[$nidx].network-data.network-information.from-preload`'>
\r
7 <outcome value='true'>
\r
8 <block atomic="true">
\r
9 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
10 resource="l3-network"
\r
11 key="l3-network.network-id = $network-topology-operation-input.network-information.network-id"
\r
13 pfx="aai.l3-network">
\r
14 <outcome value='success'>
\r
15 <block atomic="true">
\r
16 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
17 resource="l3-network"
\r
18 key="l3-network.network-id = $network-topology-operation-input.network-information.network-id">
\r
19 <outcome value='failure'>
\r
20 <return status="failure">
\r
21 <parameter name="error-code" value="500"/>
\r
22 <parameter name="error-message" value="An error occured while deleting network from AAI" />
\r
28 <outcome value='not-found'></outcome>
\r
29 <outcome value='failure'>
\r
30 <return status='failure'>
\r
31 <parameter name="error-code" value="500" />
\r
32 <parameter name="error-message" value="'Error retrieving l3-network with network-id=' + $network-topology-operation-input.network-request-information.network-id + 'from AnAI'" />
\r
38 <outcome value='Other'>
\r
39 <switch test='`$network-data.network-topology.network-topology-identifier-structure.network-instance-group-id`'>
\r
41 <block atomic="true">
\r
42 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
43 key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $service-data.networks.network[$nidx].network-data.network-information.onap-model-information.model-customization-uuid
\r
44 and service_uuid = $service-data.networks.network[$nidx].network-data.service-information.onap-model-information.model-uuid'
\r
45 pfx='network-model'></get-resource>
\r
47 <parameter name="tmp.level1-key-value" value=""/>
\r
48 <parameter name="tmp.level1inuse" value="false" />
\r
49 <parameter name="pidx" value="0" />
\r
50 <parameter name="pidx-len" value="0" />
\r
53 plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'
\r
55 key="SELECT * from EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k WHERE s.network_id = $network-topology-operation-input.network-information.network-id and s.entity_id = k.entity_id ; "
\r
56 pfx='tmp.eipam-subnet-row[]'>
\r
57 <outcome value='failure'>
\r
58 <return status="failure">
\r
59 <parameter name="tmp.eipam-error" value="true" />
\r
60 <parameter name="error-code" value="500"/>
\r
61 <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNET_KEYS and EIPAM_IP_SUBNETS failed." />
\r
64 <outcome value='success'>
\r
65 <block atomic='true'>
\r
66 <for silentFailure='true' index='esidx' start='0' end='`$tmp.eipam-subnet-row_length`' >
\r
67 <block atomic="true">
\r
68 <switch test='`$tmp.eipam-subnet-row[$esidx].level`'>
\r
70 <block atomic="true">
\r
72 <parameter name="tmp.level1-key-value[$pidx]" value="`$tmp.eipam-subnet-row[$esidx].key-value`"/>
\r
75 <parameter name="tmp.plan-name[$pidx]" value="`$tmp.eipam-subnet-row[$esidx].plan-name`"/>
\r
78 <parameter name="pidx" value="`$pidx + 1`"/>
\r
81 <parameter name="pidx-len" value="`$pidx`"/>
\r
85 <outcome value='Other'>
\r
86 <block atomic="true"></block>
\r
93 <outcome value="not-found">
\r
94 <block atomic='true'></block>
\r
98 <parameter name="eipam-ip-block.network-id" value="`$network-topology-operation-input.network-information.network-id`" />
\r
99 <parameter name="eipam-ip-block.level" value='2' />
\r
100 <parameter name="eipam-ip-block.entity-id" value='' />
\r
102 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->
\r
103 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deallocateAllSubnets">
\r
104 <outcome value='failure'>
\r
105 <return status="failure">
\r
106 <parameter name="tmp.eipam-error" value="true" />
\r
107 <parameter name="error-code" value="500"/>
\r
108 <parameter name="error-message" value="An error occured while deallocating subnets in EIPAM." />
\r
112 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->
\r
113 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByNetworkLevel">
\r
114 <outcome value='failure'>
\r
115 <return status="failure">
\r
116 <parameter name="tmp.eipam-error" value="true" />
\r
117 <parameter name="error-code" value="500"/>
\r
118 <parameter name="error-message" value="An error occured while deleting level 2 plans in EIPAM." />
\r
122 <for silentFailure='true' index='npidx' start='0' end='`$pidx-len`' >
\r
123 <block atomic="true">
\r
125 <parameter name="tmp.level1-key-value" value="`$tmp.level1-key-value[$npidx]`" />
\r
126 <parameter name="tmp.plan-name" value="`$tmp.plan-name[$npidx]`" />
\r
128 <switch test='`$tmp.level1-key-value`'>
\r
130 <block atomic='true'></block>
\r
132 <outcome value='Other'>
\r
133 <block atomic='true'>
\r
134 <switch test='`$network-model`'>
\r
135 <outcome value=''></outcome>
\r
136 <outcome value='Other'>
\r
137 <block atomic='true'>
\r
138 <switch test="`$network-model.use-ipv4`">
\r
139 <outcome value='Y'>
\r
140 <block atomic="true">
\r
142 <parameter name='tmp.plan-name' value='`$network-model.eipam-v4-address-plan`' />
\r
145 plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'
\r
147 key="SELECT * from EIPAM_IP_POOLS p, EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k
\r
149 and p.plan_name = $tmp.plan-name
\r
151 and p.pool_id = s.pool_id and s.entity_id = k.entity_id
\r
152 and k.key_value = $tmp.level1-key-value ; "
\r
153 pfx='tmp.level2pool[]'>
\r
154 <outcome value='failure'>
\r
155 <return status="failure">
\r
156 <parameter name="tmp.eipam-error" value="true" />
\r
157 <parameter name="error-code" value="500"/>
\r
158 <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNET_KEYS and EIPAM_IP_SUBNETS failed." />
\r
161 <outcome value='success'>
\r
162 <block atomic='true'>
\r
164 <parameter name="tmp.level1inuse" value="true" />
\r
168 <outcome value="not-found">
\r
169 <block atomic='true'>
\r
171 plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'
\r
173 key="SELECT * from EIPAM_IP_POOLS p, EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k
\r
175 and p.plan_name = $tmp.plan-name
\r
177 and p.pool_id = s.pool_id and s.entity_id = k.entity_id
\r
178 and k.key_value = $tmp.level1-key-value ; "
\r
179 pfx='tmp.level1pool[]'>
\r
180 <outcome value='failure'>
\r
181 <return status="failure">
\r
182 <parameter name="tmp.eipam-error" value="true" />
\r
183 <parameter name="error-code" value="500"/>
\r
184 <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNET_KEYS and EIPAM_IP_SUBNETS failed." />
\r
187 <outcome value='success'>
\r
188 <block atomic='true'>
\r
189 <for silentFailure='true' index='lidx' start='0' end='`$tmp.level1pool_length`' >
\r
190 <block atomic='true'>
\r
192 <parameter name='eipam-ip-block.entity-id' value='`$tmp.level1pool[$lidx].entity-id`' />
\r
193 <parameter name='eipam-ip-block.ip-address' value='`$tmp.level1pool[$lidx].ip-address`' />
\r
194 <parameter name='eipam-ip-block.mask' value='`$tmp.level1pool[$lidx].prefix-length`' />
\r
195 <parameter name="eipam-ip-block.network-id" value="`$tmp.level1pool[$lidx].network-id`" />
\r
196 <parameter name="eipam-ip-block.pool-id" value="`$tmp.level1pool[$lidx].pool-id`" />
\r
197 <parameter name="eipam-ip-block.level" value='1' />
\r
199 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->
\r
200 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deallocateSubnet">
\r
201 <outcome value='failure'>
\r
202 <return status="failure">
\r
203 <parameter name="tmp.eipam-error" value="true" />
\r
204 <parameter name="error-code" value="500"/>
\r
205 <parameter name="error-message" value="An error occured while deallocating subnet in EIPAM." />
\r
209 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->
\r
210 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByPoolId">
\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 deleting pool in EIPAM." />
\r
223 <outcome value="not-found">
\r
224 <block atomic='true'></block>
\r
233 <switch test="`$network-model.use-ipv6`">
\r
234 <outcome value='Y'>
\r
235 <block atomic="true">
\r
237 <parameter name='tmp.plan-name' value='`$network-model.eipam-v6-address-plan`' />
\r
240 plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'
\r
242 key="SELECT * from EIPAM_IP_POOLS p, EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k
\r
244 and p.plan_name = $tmp.plan-name
\r
246 and p.pool_id = s.pool_id and s.entity_id = k.entity_id
\r
247 and k.key_value = $tmp.level1-key-value ; "
\r
248 pfx='tmp.level2pool[]'>
\r
249 <outcome value='failure'>
\r
250 <return status="failure">
\r
251 <parameter name="tmp.eipam-error" value="true" />
\r
252 <parameter name="error-code" value="500"/>
\r
253 <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNET_KEYS and EIPAM_IP_SUBNETS failed." />
\r
256 <outcome value='success'>
\r
257 <block atomic='true'>
\r
259 <parameter name="tmp.level1inuse" value="true" />
\r
263 <outcome value="not-found">
\r
264 <block atomic='true'>
\r
266 plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'
\r
268 key="SELECT * from EIPAM_IP_POOLS p, EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k
\r
270 and p.plan_name = $tmp.plan-name
\r
272 and p.pool_id = s.pool_id and s.entity_id = k.entity_id
\r
273 and k.key_value = $tmp.level1-key-value ; "
\r
274 pfx='tmp.level1pool[]'>
\r
275 <outcome value='failure'>
\r
276 <return status="failure">
\r
277 <parameter name="tmp.eipam-error" value="true" />
\r
278 <parameter name="error-code" value="500"/>
\r
279 <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNET_KEYS and EIPAM_IP_SUBNETS failed." />
\r
282 <outcome value='success'>
\r
283 <block atomic='true'>
\r
284 <for silentFailure='true' index='lidx' start='0' end='`$tmp.level1pool_length`' >
\r
285 <block atomic='true'>
\r
287 <parameter name='eipam-ip-block.entity-id' value='`$tmp.level1pool[$lidx].entity-id`' />
\r
288 <parameter name='eipam-ip-block.ip-address' value='`$tmp.level1pool[$lidx].ip-address`' />
\r
289 <parameter name='eipam-ip-block.mask' value='`$tmp.level1pool[$lidx].prefix-length`' />
\r
290 <parameter name="eipam-ip-block.network-id" value="`$tmp.level1pool[$lidx].network-id`" />
\r
291 <parameter name="eipam-ip-block.pool-id" value="`$tmp.level1pool[$lidx].pool-id`" />
\r
292 <parameter name="eipam-ip-block.level" value='1' />
\r
294 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->
\r
295 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deallocateSubnet">
\r
296 <outcome value='failure'>
\r
297 <return status="failure">
\r
298 <parameter name="tmp.eipam-error" value="true" />
\r
299 <parameter name="error-code" value="500"/>
\r
300 <parameter name="error-message" value="An error occured while deallocating subnet in EIPAM." />
\r
304 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->
\r
305 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByPoolId">
\r
306 <outcome value='failure'>
\r
307 <return status="failure">
\r
308 <parameter name="tmp.eipam-error" value="true" />
\r
309 <parameter name="error-code" value="500"/>
\r
310 <parameter name="error-message" value="An error occured while deleting pool in EIPAM." />
\r
318 <outcome value="not-found">
\r
319 <block atomic='true'></block>
\r
336 <switch test='`$service-data.networks.network_length`'>
\r
337 <outcome value='1'>
\r
338 <block atomic="true">
\r
340 <parameter name="service-data.networks." value=""/>
\r
343 <parameter name="service-data.networks.network_length" value="0"/>
\r
347 <outcome value='Other'>
\r
348 <block atomic="true">
\r
350 <parameter name="tmp.new_length" value="`$service-data.networks.network_length - 1`"/>
\r
352 <for silentFailure='true' index='snidx' start='`$tmp.nidx + 1`' end='`$service-data.networks.network_length`' >
\r
353 <block atomic="true">
\r
355 <parameter name="tmp.newidx" value="`$snidx - 1`"/>
\r
358 <parameter name="service-data.networks.network[$tmp.newidx]." value="$service-data.networks.network[$snidx]." />
\r
363 <parameter name="service-data.networks.network_length" value="`$service-data.networks.network_length - 1`"/>
\r
366 <parameter name="service-data.networks.network[$tmp.new_length]." value=""/>
\r
371 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
372 resource="l3-network"
\r
373 key="l3-network.network-id = $network-topology-operation-input.network-information.network-id">
\r
374 <outcome value='failure'>
\r
375 <return status="failure">
\r
376 <parameter name="error-code" value="500"/>
\r
377 <parameter name="error-message" value="An error occured while deleting network from AAI" />
\r
382 <parameter name='naming-policy-generate-name-input.context-id' value='`$network-topology-operation-input.network-information.network-id`' />
\r
383 <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />
\r
384 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
\r
386 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
\r
389 <outcome value='Other'>
\r
390 <block atomic="true">
\r
391 <return status='failure'>
\r
392 <parameter name='ack-final' value='Y'/>
\r
393 <parameter name="error-code" value="500" />
\r
394 <parameter name="error-message" value="network collection activate failed" />
\r
401 <switch test='`$service-data.networks.network_length`'>
\r
402 <outcome value='1'>
\r
403 <block atomic="true">
\r
405 <parameter name="service-data.networks." value=""/>
\r
408 <parameter name="service-data.networks.network_length" value="0"/>
\r
412 <outcome value='Other'>
\r
413 <block atomic="true">
\r
415 <parameter name="tmp.new_length" value="`$service-data.networks.network_length - 1`"/>
\r
417 <for silentFailure='true' index='snidx' start='`$tmp.nidx + 1`' end='`$service-data.networks.network_length`' >
\r
418 <block atomic="true">
\r
420 <parameter name="tmp.newidx" value="`$snidx - 1`"/>
\r
423 <parameter name="service-data.networks.network[$tmp.newidx]." value="$service-data.networks.network[$snidx]." />
\r
428 <parameter name="service-data.networks.network_length" value="`$service-data.networks.network_length - 1`"/>
\r
431 <parameter name="service-data.networks.network[$tmp.new_length]." value=""/>
\r
436 <return status='success'>
\r
437 <parameter name="ack-final-indicator" value="Y" />
\r
438 <parameter name="error-code" value="200" />
\r
439 <parameter name="error-message" value="`$error-message`" />
\r