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&nodesOnly=true'"
\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
18 <parameter name="error-message" value="Failed call to AAI custom query: cloud-region-fromVnf" />
\r
22 <outcome value='not-found'>
\r
23 <block atomic="true">
\r
25 <parameter name="error-message" value="No cloud region returned from AAI: cloud-region-fromVnf" />
\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
36 <outcome value='Other'>
\r
38 <parameter name='tmp.cloud-region-id' value='`$tmp.aai.vnf.results[$result-idx].cloud-region.cloud-region-id`' />
\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
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
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
61 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-sub-interface-groups.vnf-sub-interface-group_length'
\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
75 <parameter name='vsig-index' value='-1' />
\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
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
83 <outcome value='true'>
\r
86 <parameter name='vsig-index' value='`$idx`' />
\r
93 <switch test='`$vsig-index`'>
\r
94 <outcome value='-1'>
\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
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
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
115 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
116 resource="custom-query"
\r
117 key="format = 'resource'"
\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
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
140 <parameter name='network-name' value='`$tmp.aai.network.results[0].l3-network.network-name`' />
\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
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
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
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
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
161 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
162 resource="custom-query"
\r
163 key="format = 'resource'"
\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
176 + $tmp.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$src-vnfc-index].vnfc-name`" />
\r
179 <outcome value='not-found'>
\r
182 <outcome value='success'>
\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
189 <outcome value='Other'>
\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
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
201 <for silentFailure='true' index='int-index' start='0'
\r
202 end='`$tmp.aai.interfaces.results[$idx1].vserver.l-interfaces.l-interface_length`' >
\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
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
215 <switch test='`$tmp.aai.interfaces.results[$idx2].l-interface.l-interfaces.l-interface_length`'>
\r
219 <outcome value='Other'>
\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
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
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
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
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
249 <switch test='`$tmp.aai.interfaces.results[$idx4].vlan.vlan-id-outer`'>
\r
253 <outcome value='Other'>
\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
260 <switch test='`$tmp.aai.interfaces.results[$idx4].vlan.vlan-id-inner`'>
\r
264 <outcome value='Other'>
\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
293 <parameter name='dest-vnfc-index' value='`$dest-vnfc-index + 1`' />
\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
308 <return status='success'>
\r
309 <parameter name='' value='' />
\r