Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_vf-module-topology-vlan-tagging-activate.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='vf-module-topology-vlan-tagging-activate' mode='sync'>\r
5         <block atomic="true">\r
6             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
7       resource="custom-query"\r
8       key="format = 'resource&amp;nodesOnly=true'"\r
9       force="true"\r
10       local-only="false"\r
11       pfx="tmp.aai.vnf">\r
12                 <parameter name="start[0]" value="`'/network/generic-vnfs/generic-vnf/' + $vf-module-topology-operation-input.vnf-information.vnf-id `" />\r
13                 <parameter name="start_length" value="1" />\r
14                 <parameter name="query" value="query/cloud-region-fromVnf" />\r
15                 <outcome value='failure'>\r
16                     <block atomic="true">\r
17                         <set>\r
18                             <parameter name="error-message" value="Failed call to AAI custom query: cloud-region-fromVnf" />\r
19                         </set>\r
20                     </block>\r
21                 </outcome>\r
22                 <outcome value='not-found'>\r
23                     <block atomic="true">\r
24                         <set>\r
25                             <parameter name="error-message" value="No cloud region returned from AAI: cloud-region-fromVnf" />\r
26                         </set>\r
27                     </block>\r
28                 </outcome>\r
29             </save>\r
30             <for index='result-idx' start='0' end='`$tmp.aai.vnf.results_length`' >\r
31                 <block atomic="true">\r
32                     <switch test='`$tmp.aai.vnf.results[$result-idx].cloud-region.cloud-region-id`'>\r
33                         <outcome value=''>\r
34                             <block></block>\r
35                         </outcome>\r
36                         <outcome value='Other'>\r
37                             <set>\r
38                                 <parameter name='tmp.cloud-region-id' value='`$tmp.aai.vnf.results[$result-idx].cloud-region.cloud-region-id`' />\r
39                             </set>\r
40                         </outcome>\r
41                     </switch>\r
42                 </block>\r
43             </for>\r
44             <set>\r
45                 <parameter name='tmp.vlan-vnfc-instance-groups.'\r
46   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.`' />\r
47             </set>\r
48             <for index='vvig-index' start='0' end='`$tmp.vlan-vnfc-instance-groups.vlan-vnfc-instance-group_length`' >\r
49                 <switch test='`$tmp.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc_length`'>\r
50                     <outcome value=''>\r
51                         <block></block>\r
52                     </outcome>\r
53                     <outcome value='0'>\r
54                         <block></block>\r
55                     </outcome>\r
56                     <outcome value='Other'>\r
57                         <block atomic="true">\r
58                             <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group_length`'>\r
59                                 <outcome value=''>\r
60                                     <set>\r
61                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group_length'\r
62   value='0' />\r
63                                     </set>\r
64                                 </outcome>\r
65                             </switch>\r
66                             <set>\r
67                                 <parameter name='parent-port-role'\r
68   value='`$tmp.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[0].vnic-groups.vnic-group[0].vnic-interface-role`' />\r
69                                 <parameter name='vnfc-instance-group-function'\r
70   value='`$tmp.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].instance-group-function`' />\r
71                                 <parameter name='network-instance-group-function'\r
72   value='`$tmp.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[0].vnic-groups.vnic-group[0].network-instance-group-function`' />\r
73                             </set>\r
74                             <set>\r
75                                 <parameter name='vsig-index' value='-1' />\r
76                             </set>\r
77                             <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group_length`' >\r
78                                 <switch test='`\r
79   $parent-port-role == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$idx].parent-port-role\r
80   and $vnfc-instance-group-function == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$idx].vnfc-instance-group-function\r
81   and $network-instance-group-function == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$idx].network-instance-group-function\r
82 `'>\r
83                                     <outcome value='true'>\r
84                                         <block>\r
85                                             <set>\r
86                                                 <parameter name='vsig-index' value='`$idx`' />\r
87                                             </set>\r
88                                             <break/>\r
89                                         </block>\r
90                                     </outcome>\r
91                                 </switch>\r
92                             </for>\r
93                             <switch test='`$vsig-index`'>\r
94                                 <outcome value='-1'>\r
95                                     <block>\r
96                                         <set>\r
97                                             <parameter name='vsig-index'\r
98   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group_length`' />\r
99                                         </set>\r
100                                         <set>\r
101                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].parent-port-role'\r
102   value='`$parent-port-role`' />\r
103                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].vnfc-instance-group-function'\r
104   value='`$vnfc-instance-group-function`' />\r
105                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].network-instance-group-function'\r
106   value='`$network-instance-group-function`' />\r
107                                         </set>\r
108                                         <set>\r
109                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group_length'\r
110   value='`$vsig-index + 1`' />\r
111                                         </set>\r
112                                     </block>\r
113                                 </outcome>\r
114                             </switch>\r
115                             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
116       resource="custom-query"\r
117       key="format = 'resource'"\r
118       force="true"\r
119       local-only="false"\r
120       pfx="tmp.aai.network">\r
121                                 <parameter name="start[0]" value="`'/cloud-infrastructure/cloud-regions/cloud-region/' + $prop.cloud-region.cloud-owner + '/' + $tmp.cloud-region-id`" />\r
122                                 <parameter name="start_length" value="1" />\r
123                                 <parameter name="query" value="`'/query/network-name-fromNetwork-role?networkRole='  + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].parent-port-role`" />\r
124                                 <outcome value='failure'>\r
125                                     <return status='failure'>\r
126                                         <parameter name='error-code' value='500' />\r
127                                         <parameter name='error-message' value="`'Failed to get network data for network role '\r
128   + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].parent-port-role`" />\r
129                                     </return>\r
130                                 </outcome>\r
131                                 <outcome value='not-found'>\r
132                                     <return status='failure'>\r
133                                         <parameter name='error-code' value='500' />\r
134                                         <parameter name='error-message' value="`'Failed to get network data for network role '\r
135   + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].parent-port-role`" />\r
136                                     </return>\r
137                                 </outcome>\r
138                             </save>\r
139                             <set>\r
140                                 <parameter name='network-name' value='`$tmp.aai.network.results[0].l3-network.network-name`' />\r
141                             </set>\r
142                             <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].vnfcs.vnfc_length`'>\r
143                                 <outcome value=''>\r
144                                     <set>\r
145                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].vnfcs.vnfc_length'\r
146   value='0' />\r
147                                     </set>\r
148                                 </outcome>\r
149                             </switch>\r
150                             <set>\r
151                                 <parameter name='dest-vnfc-index'\r
152   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].vnfcs.vnfc_length`' />\r
153                             </set>\r
154                             <for index='src-vnfc-index' start='0'\r
155   end='`$tmp.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc_length`' >\r
156                                 <block atomic="true">\r
157                                     <set>\r
158                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].vnfcs.vnfc[$dest-vnfc-index].vnfc-name'\r
159   value='`$tmp.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$src-vnfc-index].vnfc-name`' />\r
160                                     </set>\r
161                                     <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
162       resource="custom-query"\r
163       key="format = 'resource'"\r
164       force="true"\r
165       local-only="false"\r
166       pfx="tmp.aai.interfaces">\r
167                                         <parameter name="start[0]" value="`'/network/vnfcs/vnfc/' + $tmp.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$src-vnfc-index].vnfc-name`" />\r
168                                         <parameter name="start_length" value="1" />\r
169                                         <parameter name="query" value="`'/query/vserver-l-interfaces-fromVnfc?networkName=' + $network-name`" />\r
170                                         <outcome value='failure'>\r
171                                             <return status='failure'>\r
172                                                 <parameter name='error-code' value='500' />\r
173                                                 <parameter name='error-message' value="`'Failed to get interface data for network name '\r
174   + $network-name\r
175   + ' and vnfc '\r
176   + $tmp.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$src-vnfc-index].vnfc-name`" />\r
177                                             </return>\r
178                                         </outcome>\r
179                                         <outcome value='not-found'>\r
180                                             <block></block>\r
181                                         </outcome>\r
182                                         <outcome value='success'>\r
183                                             <block>\r
184                                                 <for silentFailure='true' index='idx1' start='0' end='`$tmp.aai.interfaces.results_length`' >\r
185                                                     <switch test='`$tmp.aai.interfaces.results[$idx1].vserver.vserver-id`'>\r
186                                                         <outcome value=''>\r
187                                                             <block></block>\r
188                                                         </outcome>\r
189                                                         <outcome value='Other'>\r
190                                                             <block>\r
191                                                                 <set>\r
192                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].vnfcs.vnfc[$dest-vnfc-index].vserver-id'\r
193   value='`$tmp.aai.interfaces.results[$idx1].vserver.vserver-id`' />\r
194                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].vnfcs.vnfc[$dest-vnfc-index].vserver-name'\r
195   value='`$tmp.aai.interfaces.results[$idx1].vserver.vserver-name`' />\r
196                                                                 </set>\r
197                                                                 <set>\r
198                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].vnfcs.vnfc[$dest-vnfc-index].vnics.vnic_length'\r
199   value='`$tmp.aai.interfaces.results[$idx1].vserver.l-interfaces.l-interface_length`' />\r
200                                                                 </set>\r
201                                                                 <for silentFailure='true' index='int-index' start='0'\r
202   end='`$tmp.aai.interfaces.results[$idx1].vserver.l-interfaces.l-interface_length`' >\r
203                                                                     <block>\r
204                                                                         <set>\r
205                                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].vnfcs.vnfc[$dest-vnfc-index].vnics.vnic[$int-index].vnic-port-id'\r
206   value='`$tmp.aai.interfaces.results[$idx1].vserver.l-interfaces.l-interface[$int-index].interface-id`' />\r
207                                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].vnfcs.vnfc[$dest-vnfc-index].vnics.vnic[$int-index].vnic-port-name'\r
208   value='`$tmp.aai.interfaces.results[$idx1].vserver.l-interfaces.l-interface[$int-index].interface-name`' />\r
209                                                                         </set>\r
210                                                                         <for silentFailure='true' index='idx2' start='0' end='`$tmp.aai.interfaces.results_length`' >\r
211                                                                             <switch test='`$tmp.aai.interfaces.results[$idx2].l-interface.interface-id\r
212   == $tmp.aai.interfaces.results[$idx1].vserver.l-interfaces.l-interface[$int-index].interface-id`'>\r
213                                                                                 <outcome value='true'>\r
214                                                                                     <block>\r
215                                                                                         <switch test='`$tmp.aai.interfaces.results[$idx2].l-interface.l-interfaces.l-interface_length`'>\r
216                                                                                             <outcome value=''>\r
217                                                                                                 <block></block>\r
218                                                                                             </outcome>\r
219                                                                                             <outcome value='Other'>\r
220                                                                                                 <set>\r
221                                                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].vnfcs.vnfc[$dest-vnfc-index].vnics.vnic[$int-index].sub-interfaces.sub-interface_length'\r
222   value='`$tmp.aai.interfaces.results[$idx2].l-interface.l-interfaces.l-interface_length`' />\r
223                                                                                                 </set>\r
224                                                                                             </outcome>\r
225                                                                                         </switch>\r
226                                                                                         <for silentFailure='true' index='sub-int-index' start='0'\r
227   end='`$tmp.aai.interfaces.results[$idx2].l-interface.l-interfaces.l-interface_length`' >\r
228                                                                                             <block>\r
229                                                                                                 <set>\r
230                                                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].vnfcs.vnfc[$dest-vnfc-index].vnics.vnic[$int-index].sub-interfaces.sub-interface[$sub-int-index].sub-interface-port-id'\r
231   value='`$tmp.aai.interfaces.results[$idx2].l-interface.l-interfaces.l-interface[$sub-int-index].interface-id`' />\r
232                                                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].vnfcs.vnfc[$dest-vnfc-index].vnics.vnic[$int-index].sub-interfaces.sub-interface[$sub-int-index].sub-interface-port-name'\r
233   value='`$tmp.aai.interfaces.results[$idx2].l-interface.l-interfaces.l-interface[$sub-int-index].interface-name`' />\r
234                                                                                                 </set>\r
235                                                                                                 <for silentFailure='true' index='idx3' start='0' end='`$tmp.aai.interfaces.results_length`' >\r
236                                                                                                     <switch test='`$tmp.aai.interfaces.results[$idx3].l-interface.interface-id\r
237   == $tmp.aai.interfaces.results[$idx2].l-interface.l-interfaces.l-interface[$sub-int-index].interface-id`'>\r
238                                                                                                         <outcome value='true'>\r
239                                                                                                             <switch test='`$tmp.aai.interfaces.results[$idx3].l-interface.vlans.vlan[0].vlan-interface`'>\r
240                                                                                                                 <outcome value=''>\r
241                                                                                                                     <block></block>\r
242                                                                                                                 </outcome>\r
243                                                                                                                 <outcome value='Other'>\r
244                                                                                                                     <for silentFailure='true' index='idx4' start='0' end='`$tmp.aai.interfaces.results_length`' >\r
245                                                                                                                         <switch test='`$tmp.aai.interfaces.results[$idx4].vlan.vlan-interface\r
246   == $tmp.aai.interfaces.results[$idx3].l-interface.vlans.vlan[0].vlan-interface`'>\r
247                                                                                                                             <outcome value='true'>\r
248                                                                                                                                 <block>\r
249                                                                                                                                     <switch test='`$tmp.aai.interfaces.results[$idx4].vlan.vlan-id-outer`'>\r
250                                                                                                                                         <outcome value=''>\r
251                                                                                                                                             <block></block>\r
252                                                                                                                                         </outcome>\r
253                                                                                                                                         <outcome value='Other'>\r
254                                                                                                                                             <set>\r
255                                                                                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].vnfcs.vnfc[$dest-vnfc-index].vnics.vnic[$int-index].sub-interfaces.sub-interface[$sub-int-index].vlan-tags.upper-tag-id'\r
256   value='`$tmp.aai.interfaces.results[$idx4].vlan.vlan-id-outer`' />\r
257                                                                                                                                             </set>\r
258                                                                                                                                         </outcome>\r
259                                                                                                                                     </switch>\r
260                                                                                                                                     <switch test='`$tmp.aai.interfaces.results[$idx4].vlan.vlan-id-inner`'>\r
261                                                                                                                                         <outcome value=''>\r
262                                                                                                                                             <block></block>\r
263                                                                                                                                         </outcome>\r
264                                                                                                                                         <outcome value='Other'>\r
265                                                                                                                                             <set>\r
266                                                                                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].vnfcs.vnfc[$dest-vnfc-index].vnics.vnic[$int-index].sub-interfaces.sub-interface[$sub-int-index].vlan-tags.lower-tag-id'\r
267   value='`$tmp.aai.interfaces.results[$idx4].vlan.vlan-id-inner`' />\r
268                                                                                                                                             </set>\r
269                                                                                                                                         </outcome>\r
270                                                                                                                                     </switch>\r
271                                                                                                                                 </block>\r
272                                                                                                                             </outcome>\r
273                                                                                                                         </switch>\r
274                                                                                                                     </for>\r
275                                                                                                                 </outcome>\r
276                                                                                                             </switch>\r
277                                                                                                         </outcome>\r
278                                                                                                     </switch>\r
279                                                                                                 </for>\r
280                                                                                             </block>\r
281                                                                                         </for>\r
282                                                                                     </block>\r
283                                                                                 </outcome>\r
284                                                                             </switch>\r
285                                                                         </for>\r
286                                                                     </block>\r
287                                                                 </for>\r
288                                                             </block>\r
289                                                         </outcome>\r
290                                                     </switch>\r
291                                                 </for>\r
292                                                 <set>\r
293                                                     <parameter name='dest-vnfc-index' value='`$dest-vnfc-index + 1`' />\r
294                                                 </set>\r
295                                             </block>\r
296                                         </outcome>\r
297                                     </save>\r
298                                 </block>\r
299                             </for>\r
300                             <set>\r
301                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group[$vsig-index].vnfcs.vnfc_length'\r
302   value='`$dest-vnfc-index`' />\r
303                             </set>\r
304                         </block>\r
305                     </outcome>\r
306                 </switch>\r
307             </for>\r
308             <return status='success'>\r
309                 <parameter name='' value='' />\r
310             </return>\r
311         </block>\r
312     </method>\r
313 </service-logic>