Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / csit / plans / sdnc / testdata / GENERIC-RESOURCE-API_network-topology-operation-unassign.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='aai-disabled'>\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'></outcome>\r
8                 <outcome value='Other'>\r
9                     <switch test='`$network-data.network-topology.network-topology-identifier-structure.network-instance-group-id`'>\r
10                         <outcome value=''>\r
11                             <block atomic="true">\r
12                                 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
13   key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $service-data.networks.network[$nidx].network-data.network-information.onap-model-information.model-customization-uuid\r
14   and service_uuid = $service-data.networks.network[$nidx].network-data.service-information.onap-model-information.model-uuid'\r
15   pfx='network-model'></get-resource>\r
16                                 <set>\r
17                                     <parameter name="tmp.level1-key-value" value=""/>\r
18                                     <parameter name="tmp.level1inuse" value="false" />\r
19                                     <parameter name="pidx" value="0" />\r
20                                     <parameter name="pidx-len" value="0" />\r
21                                 </set>\r
22                                 <get-resource\r
23         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
24         resource='SQL'\r
25         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
26         pfx='tmp.eipam-subnet-row[]'>\r
27                                     <outcome value='failure'>\r
28                                         <return status="failure">\r
29                                             <parameter name="tmp.eipam-error" value="true" />\r
30                                             <parameter name="error-code" value="500"/>\r
31                                             <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNET_KEYS and EIPAM_IP_SUBNETS failed." />\r
32                                         </return>\r
33                                     </outcome>\r
34                                     <outcome value='success'>\r
35                                         <block atomic='true'>\r
36                                             <for silentFailure='true' index='esidx' start='0' end='`$tmp.eipam-subnet-row_length`' >\r
37                                                 <block atomic="true">\r
38                                                     <switch test='`$tmp.eipam-subnet-row[$esidx].level`'>\r
39                                                         <outcome value='1'>\r
40                                                             <block atomic="true">\r
41                                                                 <set>\r
42                                                                     <parameter name="tmp.level1-key-value[$pidx]" value="`$tmp.eipam-subnet-row[$esidx].key-value`"/>\r
43                                                                 </set>\r
44                                                                 <set>\r
45                                                                     <parameter name="tmp.plan-name[$pidx]" value="`$tmp.eipam-subnet-row[$esidx].plan-name`"/>\r
46                                                                 </set>\r
47                                                                 <set>\r
48                                                                     <parameter name="pidx" value="`$pidx + 1`"/>\r
49                                                                 </set>\r
50                                                                 <set>\r
51                                                                     <parameter name="pidx-len" value="`$pidx`"/>\r
52                                                                 </set>\r
53                                                             </block>\r
54                                                         </outcome>\r
55                                                         <outcome value='Other'>\r
56                                                             <block atomic="true"></block>\r
57                                                         </outcome>\r
58                                                     </switch>\r
59                                                 </block>\r
60                                             </for>\r
61                                         </block>\r
62                                     </outcome>\r
63                                     <outcome value="not-found">\r
64                                         <block atomic='true'></block>\r
65                                     </outcome>\r
66                                 </get-resource>\r
67                                 <set>\r
68                                     <parameter name="eipam-ip-block.network-id" value="`$network-topology-operation-input.network-information.network-id`" />\r
69                                     <parameter name="eipam-ip-block.level" value='2' />\r
70                                     <parameter name="eipam-ip-block.entity-id" value='' />\r
71                                 </set>\r
72                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
73                                 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deallocateAllSubnets">\r
74                                     <outcome value='failure'>\r
75                                         <return status="failure">\r
76                                             <parameter name="tmp.eipam-error" value="true" />\r
77                                             <parameter name="error-code" value="500"/>\r
78                                             <parameter name="error-message" value="An error occured while deallocating subnets in EIPAM." />\r
79                                         </return>\r
80                                     </outcome>\r
81                                 </execute>\r
82                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
83                                 <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByNetworkLevel">\r
84                                     <outcome value='failure'>\r
85                                         <return status="failure">\r
86                                             <parameter name="tmp.eipam-error" value="true" />\r
87                                             <parameter name="error-code" value="500"/>\r
88                                             <parameter name="error-message" value="An error occured while deleting level 2 plans in EIPAM." />\r
89                                         </return>\r
90                                     </outcome>\r
91                                 </execute>\r
92                                 <for silentFailure='true' index='npidx' start='0' end='`$pidx-len`' >\r
93                                     <block atomic="true">\r
94                                         <set>\r
95                                             <parameter name="tmp.level1-key-value" value="`$tmp.level1-key-value[$npidx]`" />\r
96                                             <parameter name="tmp.plan-name" value="`$tmp.plan-name[$npidx]`" />\r
97                                         </set>\r
98                                         <switch test='`$tmp.level1-key-value`'>\r
99                                             <outcome value=''>\r
100                                                 <block atomic='true'></block>\r
101                                             </outcome>\r
102                                             <outcome value='Other'>\r
103                                                 <block atomic='true'>\r
104                                                     <switch test='`$network-model`'>\r
105                                                         <outcome value=''></outcome>\r
106                                                         <outcome value='Other'>\r
107                                                             <block atomic='true'>\r
108                                                                 <switch test="`$network-model.use-ipv4`">\r
109                                                                     <outcome value='Y'>\r
110                                                                         <block atomic="true">\r
111                                                                             <set>\r
112                                                                                 <parameter name='tmp.plan-name' value='`$network-model.eipam-v4-address-plan`' />\r
113                                                                             </set>\r
114                                                                             <get-resource\r
115         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
116         resource='SQL'\r
117         key="SELECT * from EIPAM_IP_POOLS p, EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k \r
118         WHERE p.level = 2 \r
119         and p.plan_name = $tmp.plan-name\r
120         and k.level = 1 \r
121         and p.pool_id = s.pool_id and s.entity_id = k.entity_id \r
122         and k.key_value = $tmp.level1-key-value  ; "\r
123         pfx='tmp.level2pool[]'>\r
124                                                                                 <outcome value='failure'>\r
125                                                                                     <return status="failure">\r
126                                                                                         <parameter name="tmp.eipam-error" value="true" />\r
127                                                                                         <parameter name="error-code" value="500"/>\r
128                                                                                         <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNET_KEYS and EIPAM_IP_SUBNETS failed." />\r
129                                                                                     </return>\r
130                                                                                 </outcome>\r
131                                                                                 <outcome value='success'>\r
132                                                                                     <block atomic='true'>\r
133                                                                                         <set>\r
134                                                                                             <parameter name="tmp.level1inuse" value="true" />\r
135                                                                                         </set>\r
136                                                                                     </block>\r
137                                                                                 </outcome>\r
138                                                                                 <outcome value="not-found">\r
139                                                                                     <block atomic='true'>\r
140                                                                                         <get-resource\r
141         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
142         resource='SQL'\r
143         key="SELECT * from EIPAM_IP_POOLS p, EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k \r
144         WHERE p.level = 1 \r
145         and p.plan_name = $tmp.plan-name\r
146         and k.level = 1 \r
147         and p.pool_id = s.pool_id and s.entity_id = k.entity_id \r
148         and k.key_value = $tmp.level1-key-value  ; "\r
149         pfx='tmp.level1pool[]'>\r
150                                                                                             <outcome value='failure'>\r
151                                                                                                 <return status="failure">\r
152                                                                                                     <parameter name="tmp.eipam-error" value="true" />\r
153                                                                                                     <parameter name="error-code" value="500"/>\r
154                                                                                                     <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNET_KEYS and EIPAM_IP_SUBNETS failed." />\r
155                                                                                                 </return>\r
156                                                                                             </outcome>\r
157                                                                                             <outcome value='success'>\r
158                                                                                                 <block atomic='true'>\r
159                                                                                                     <for silentFailure='true' index='lidx' start='0' end='`$tmp.level1pool_length`' >\r
160                                                                                                         <block atomic='true'>\r
161                                                                                                             <set>\r
162                                                                                                                 <parameter name='eipam-ip-block.entity-id' value='`$tmp.level1pool[$lidx].entity-id`' />\r
163                                                                                                                 <parameter name='eipam-ip-block.ip-address' value='`$tmp.level1pool[$lidx].ip-address`' />\r
164                                                                                                                 <parameter name='eipam-ip-block.mask' value='`$tmp.level1pool[$lidx].prefix-length`' />\r
165                                                                                                                 <parameter name="eipam-ip-block.network-id" value="`$tmp.level1pool[$lidx].network-id`" />\r
166                                                                                                                 <parameter name="eipam-ip-block.pool-id" value="`$tmp.level1pool[$lidx].pool-id`" />\r
167                                                                                                                 <parameter name="eipam-ip-block.level" value='1' />\r
168                                                                                                             </set>\r
169                                                                                                             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
170                                                                                                             <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deallocateSubnet">\r
171                                                                                                                 <outcome value='failure'>\r
172                                                                                                                     <return status="failure">\r
173                                                                                                                         <parameter name="tmp.eipam-error" value="true" />\r
174                                                                                                                         <parameter name="error-code" value="500"/>\r
175                                                                                                                         <parameter name="error-message" value="An error occured while deallocating subnet in EIPAM." />\r
176                                                                                                                     </return>\r
177                                                                                                                 </outcome>\r
178                                                                                                             </execute>\r
179                                                                                                             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
180                                                                                                             <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByPoolId">\r
181                                                                                                                 <outcome value='failure'>\r
182                                                                                                                     <return status="failure">\r
183                                                                                                                         <parameter name="tmp.eipam-error" value="true" />\r
184                                                                                                                         <parameter name="error-code" value="500"/>\r
185                                                                                                                         <parameter name="error-message" value="An error occured while deleting pool in EIPAM." />\r
186                                                                                                                     </return>\r
187                                                                                                                 </outcome>\r
188                                                                                                             </execute>\r
189                                                                                                         </block>\r
190                                                                                                     </for>\r
191                                                                                                 </block>\r
192                                                                                             </outcome>\r
193                                                                                             <outcome value="not-found">\r
194                                                                                                 <block atomic='true'></block>\r
195                                                                                             </outcome>\r
196                                                                                         </get-resource>\r
197                                                                                     </block>\r
198                                                                                 </outcome>\r
199                                                                             </get-resource>\r
200                                                                         </block>\r
201                                                                     </outcome>\r
202                                                                 </switch>\r
203                                                                 <switch test="`$network-model.use-ipv6`">\r
204                                                                     <outcome value='Y'>\r
205                                                                         <block atomic="true">\r
206                                                                             <set>\r
207                                                                                 <parameter name='tmp.plan-name' value='`$network-model.eipam-v6-address-plan`' />\r
208                                                                             </set>\r
209                                                                             <get-resource\r
210         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
211         resource='SQL'\r
212         key="SELECT * from EIPAM_IP_POOLS p, EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k \r
213         WHERE p.level = 2 \r
214         and p.plan_name = $tmp.plan-name\r
215         and k.level = 1 \r
216         and p.pool_id = s.pool_id and s.entity_id = k.entity_id \r
217         and k.key_value = $tmp.level1-key-value  ; "\r
218         pfx='tmp.level2pool[]'>\r
219                                                                                 <outcome value='failure'>\r
220                                                                                     <return status="failure">\r
221                                                                                         <parameter name="tmp.eipam-error" value="true" />\r
222                                                                                         <parameter name="error-code" value="500"/>\r
223                                                                                         <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNET_KEYS and EIPAM_IP_SUBNETS failed." />\r
224                                                                                     </return>\r
225                                                                                 </outcome>\r
226                                                                                 <outcome value='success'>\r
227                                                                                     <block atomic='true'>\r
228                                                                                         <set>\r
229                                                                                             <parameter name="tmp.level1inuse" value="true" />\r
230                                                                                         </set>\r
231                                                                                     </block>\r
232                                                                                 </outcome>\r
233                                                                                 <outcome value="not-found">\r
234                                                                                     <block atomic='true'>\r
235                                                                                         <get-resource\r
236         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
237         resource='SQL'\r
238         key="SELECT * from EIPAM_IP_POOLS p, EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k \r
239         WHERE p.level = 1 \r
240         and p.plan_name = $tmp.plan-name\r
241         and k.level = 1 \r
242         and p.pool_id = s.pool_id and s.entity_id = k.entity_id \r
243         and k.key_value = $tmp.level1-key-value  ; "\r
244         pfx='tmp.level1pool[]'>\r
245                                                                                             <outcome value='failure'>\r
246                                                                                                 <return status="failure">\r
247                                                                                                     <parameter name="tmp.eipam-error" value="true" />\r
248                                                                                                     <parameter name="error-code" value="500"/>\r
249                                                                                                     <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNET_KEYS and EIPAM_IP_SUBNETS failed." />\r
250                                                                                                 </return>\r
251                                                                                             </outcome>\r
252                                                                                             <outcome value='success'>\r
253                                                                                                 <block atomic='true'>\r
254                                                                                                     <for silentFailure='true' index='lidx' start='0' end='`$tmp.level1pool_length`' >\r
255                                                                                                         <block atomic='true'>\r
256                                                                                                             <set>\r
257                                                                                                                 <parameter name='eipam-ip-block.entity-id' value='`$tmp.level1pool[$lidx].entity-id`' />\r
258                                                                                                                 <parameter name='eipam-ip-block.ip-address' value='`$tmp.level1pool[$lidx].ip-address`' />\r
259                                                                                                                 <parameter name='eipam-ip-block.mask' value='`$tmp.level1pool[$lidx].prefix-length`' />\r
260                                                                                                                 <parameter name="eipam-ip-block.network-id" value="`$tmp.level1pool[$lidx].network-id`" />\r
261                                                                                                                 <parameter name="eipam-ip-block.pool-id" value="`$tmp.level1pool[$lidx].pool-id`" />\r
262                                                                                                                 <parameter name="eipam-ip-block.level" value='1' />\r
263                                                                                                             </set>\r
264                                                                                                             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
265                                                                                                             <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deallocateSubnet">\r
266                                                                                                                 <outcome value='failure'>\r
267                                                                                                                     <return status="failure">\r
268                                                                                                                         <parameter name="tmp.eipam-error" value="true" />\r
269                                                                                                                         <parameter name="error-code" value="500"/>\r
270                                                                                                                         <parameter name="error-message" value="An error occured while deallocating subnet in EIPAM." />\r
271                                                                                                                     </return>\r
272                                                                                                                 </outcome>\r
273                                                                                                             </execute>\r
274                                                                                                             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
275                                                                                                             <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByPoolId">\r
276                                                                                                                 <outcome value='failure'>\r
277                                                                                                                     <return status="failure">\r
278                                                                                                                         <parameter name="tmp.eipam-error" value="true" />\r
279                                                                                                                         <parameter name="error-code" value="500"/>\r
280                                                                                                                         <parameter name="error-message" value="An error occured while deleting pool in EIPAM." />\r
281                                                                                                                     </return>\r
282                                                                                                                 </outcome>\r
283                                                                                                             </execute>\r
284                                                                                                         </block>\r
285                                                                                                     </for>\r
286                                                                                                 </block>\r
287                                                                                             </outcome>\r
288                                                                                             <outcome value="not-found">\r
289                                                                                                 <block atomic='true'></block>\r
290                                                                                             </outcome>\r
291                                                                                         </get-resource>\r
292                                                                                     </block>\r
293                                                                                 </outcome>\r
294                                                                             </get-resource>\r
295                                                                         </block>\r
296                                                                     </outcome>\r
297                                                                 </switch>\r
298                                                             </block>\r
299                                                         </outcome>\r
300                                                     </switch>\r
301                                                 </block>\r
302                                             </outcome>\r
303                                         </switch>\r
304                                     </block>\r
305                                 </for>\r
306                                 <switch test='`$service-data.networks.network_length`'>\r
307                                     <outcome value='1'>\r
308                                         <block atomic="true">\r
309                                             <set>\r
310                                                 <parameter name="service-data.networks." value=""/>\r
311                                             </set>\r
312                                             <set>\r
313                                                 <parameter name="service-data.networks.network_length" value="0"/>\r
314                                             </set>\r
315                                         </block>\r
316                                     </outcome>\r
317                                     <outcome value='Other'>\r
318                                         <block atomic="true">\r
319                                             <set>\r
320                                                 <parameter name="tmp.new_length" value="`$service-data.networks.network_length - 1`"/>\r
321                                             </set>\r
322                                             <for silentFailure='true' index='snidx' start='`$tmp.nidx + 1`' end='`$service-data.networks.network_length`' >\r
323                                                 <block atomic="true">\r
324                                                     <set>\r
325                                                         <parameter name="tmp.newidx" value="`$snidx - 1`"/>\r
326                                                     </set>\r
327                                                     <set>\r
328                                                         <parameter name="service-data.networks.network[$tmp.newidx]." value="$service-data.networks.network[$snidx]." />\r
329                                                     </set>\r
330                                                 </block>\r
331                                             </for>\r
332                                             <set>\r
333                                                 <parameter name="service-data.networks.network_length" value="`$service-data.networks.network_length - 1`"/>\r
334                                             </set>\r
335                                             <set>\r
336                                                 <parameter name="service-data.networks.network[$tmp.new_length]." value=""/>\r
337                                             </set>\r
338                                         </block>\r
339                                     </outcome>\r
340                                 </switch>\r
341                                 <set>\r
342                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$network-topology-operation-input.network-information.network-id`' />\r
343                                     <parameter name='naming-policy-generate-name-input.naming-type' value='NETWORK' />\r
344                                     <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
345                                 </set>\r
346                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
347                             </block>\r
348                         </outcome>\r
349                         <outcome value='Other'>\r
350                             <block atomic="true">\r
351                                 <return status='failure'>\r
352                                     <parameter name='ack-final' value='Y'/>\r
353                                     <parameter name="error-code" value="500" />\r
354                                     <parameter name="error-message" value="network collection activate failed" />\r
355                                 </return>\r
356                             </block>\r
357                         </outcome>\r
358                     </switch>\r
359                 </outcome>\r
360             </switch>\r
361             <switch test='`$service-data.networks.network_length`'>\r
362                 <outcome value='1'>\r
363                     <block atomic="true">\r
364                         <set>\r
365                             <parameter name="service-data.networks." value=""/>\r
366                         </set>\r
367                         <set>\r
368                             <parameter name="service-data.networks.network_length" value="0"/>\r
369                         </set>\r
370                     </block>\r
371                 </outcome>\r
372                 <outcome value='Other'>\r
373                     <block atomic="true">\r
374                         <set>\r
375                             <parameter name="tmp.new_length" value="`$service-data.networks.network_length - 1`"/>\r
376                         </set>\r
377                         <for silentFailure='true' index='snidx' start='`$tmp.nidx + 1`' end='`$service-data.networks.network_length`' >\r
378                             <block atomic="true">\r
379                                 <set>\r
380                                     <parameter name="tmp.newidx" value="`$snidx - 1`"/>\r
381                                 </set>\r
382                                 <set>\r
383                                     <parameter name="service-data.networks.network[$tmp.newidx]." value="$service-data.networks.network[$snidx]." />\r
384                                 </set>\r
385                             </block>\r
386                         </for>\r
387                         <set>\r
388                             <parameter name="service-data.networks.network_length" value="`$service-data.networks.network_length - 1`"/>\r
389                         </set>\r
390                         <set>\r
391                             <parameter name="service-data.networks.network[$tmp.new_length]." value=""/>\r
392                         </set>\r
393                     </block>\r
394                 </outcome>\r
395             </switch>\r
396             <return status='success'>\r
397                 <parameter name="ack-final-indicator" value="Y" />\r
398                 <parameter name="error-code" value="200" />\r
399                 <parameter name="error-message" value="`$error-message`" />\r
400             </return>\r
401         </block>\r
402     </method>\r
403 </service-logic>