2 xmlns='http://www.onap.org/sdnc/svclogic'
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}'>
4 <method rpc='port-mirror-topology-operation-mapping-vprobe' mode='sync'>
6 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
7 key='select vnics_group_id
8 from VNICS_CAPACITY_GROUP
9 where service_instance_id = $tmp.service-instance-id
10 and nfc_naming_code = $tmp.dest-nfc-naming-code
11 and vnf_id = $tmp.dest-vnf-id'
13 <outcome value='failure'>
14 <return status='failure'>
15 <parameter name='error-code' value='500' />
16 <parameter name='error-message' value="Failure reading VNICS_CAPACITY_GROUP table" />
19 <outcome value='not-found'>
20 <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
21 key="insert into VNICS_CAPACITY_GROUP
22 (service_instance_id, nfc_naming_code, vnf_id)
23 VALUES ( $tmp.service-instance-id , $tmp.dest-nfc-naming-code , $tmp.dest-vnf-id )"
25 <outcome value='failure'>
26 <return status='failure'>
27 <parameter name='error-code' value='500' />
28 <parameter name='error-message' value="Failure to insert record into VNICS_CAPACITY_GROUP table" />
31 <outcome value='success'>
32 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
33 key='select vnics_group_id
34 from VNICS_CAPACITY_GROUP
35 where service_instance_id = $tmp.service-instance-id
36 and nfc_naming_code = $tmp.dest-nfc-naming-code
37 and vnf_id = $tmp.dest-vnf-id'
39 <outcome value='failure'>
40 <return status='failure'>
41 <parameter name='error-code' value='500' />
42 <parameter name='error-message' value="Failure reading VNICS_CAPACITY_GROUP table" />
51 <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.vnics-group-id'
52 value='`$db.vnics-group-id`' />
54 <for silentFailure='true' index='vnfc-do-idx' start='0' end='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object_length`' >
55 <for silentFailure='true' index='vnic-d-idx' start='0' end='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-do-idx].vnics.vnic_length`' >
56 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
57 key='select available_capacity, vnic_capacity
59 where vnics_group_id = $db.vnics-group-id
60 and vnic_port_name = $service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-do-idx].vnics.vnic[$vnic-d-idx].vnic-port-name'
61 pfx='db.vnics-capacity'>
62 <outcome value='failure'>
63 <return status='failure'>
64 <parameter name='error-code' value='500' />
65 <parameter name='error-message' value="Failure reading VNICS_CAPACITY_GROUP table" />
68 <outcome value='not-found'>
69 <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
70 key="insert into VNICS_CAPACITY
71 (vnics_group_id, vnic_port_name, available_capacity, vnic_capacity)
72 VALUES ( $db.vnics-group-id ,
73 $service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-do-idx].vnics.vnic[$vnic-d-idx].vnic-port-name ,
74 $service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-do-idx].vnics.vnic[$vnic-d-idx].capacity.vnic-capacity ,
75 $service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-do-idx].vnics.vnic[$vnic-d-idx].capacity.vnic-capacity
78 <outcome value='failure'>
79 <return status='failure'>
80 <parameter name='error-code' value='500' />
81 <parameter name='error-message' value="Failure to insert record into VNICS_CAPACITY table" />
86 <outcome value='success'>
88 <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-do-idx].vnics.vnic[$vnic-d-idx].capacity.vnic-capacity'
89 value='`$db.vnics-capacity.available-capacity`' />
96 <parameter name='map-idx' value='0' />
98 <for silentFailure='true' index='vnfc-so-idx' start='0' end='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object_length`' >
99 <for silentFailure='true' index='vnic-s-idx' start='0' end='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-so-idx].vnics.vnic_length`' >
100 <block atomic="true">
102 <parameter name='tmp.found-capacity' value='N' />
103 <parameter name='tmp.save-rem-cap' value='0' />
105 <for silentFailure='true' index='vnfc-do-idx' start='0' end='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object_length`' >
106 <for silentFailure='true' index='vnic-d-idx' start='0' end='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-do-idx].vnics.vnic_length`' >
107 <block atomic="true">
109 <parameter name='tmp.rem-cap' value='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-do-idx].vnics.vnic[$vnic-d-idx].capacity.vnic-capacity
110 - $service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-do-idx].vnics.vnic[$vnic-d-idx].capacity.used-capacity`' />
112 <switch test='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-so-idx].vnics.vnic[$vnic-s-idx].capacity.vnic-capacity
113 <= $tmp.rem-cap`'>
114 <outcome value='true'>
115 <switch test='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-do-idx].vnics.vnic[$vnic-d-idx].vnic-ip-addresses.ip-addresses.ipv4-address`'>
117 <switch test='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-do-idx].vnics.vnic[$vnic-d-idx].vnic-ip-addresses.ip-addresses.ipv6-address`'>
119 <block atomic="true"></block>
121 <outcome value='Other'>
122 <switch test='`$tmp.rem-cap > $tmp.save-rem-cap`'>
123 <outcome value='true'>
125 <parameter name='tmp.found-capacity' value='Y' />
126 <parameter name='tmp.save-vnfc-do-idx' value='`$vnfc-do-idx`' />
127 <parameter name='tmp.save-vnic-d-idx' value='`$vnic-d-idx`' />
128 <parameter name='tmp.save-rem-cap' value='`$tmp.rem-cap`' />
135 <outcome value='Other'>
136 <switch test='`$tmp.rem-cap > $tmp.save-rem-cap`'>
137 <outcome value='true'>
139 <parameter name='tmp.found-capacity' value='Y' />
140 <parameter name='tmp.save-vnfc-do-idx' value='`$vnfc-do-idx`' />
141 <parameter name='tmp.save-vnic-d-idx' value='`$vnic-d-idx`' />
142 <parameter name='tmp.save-rem-cap' value='`$tmp.rem-cap`' />
153 <switch test="`$tmp.found-capacity == 'N'`">
154 <outcome value='true'>
155 <return status='failure'>
156 <parameter name='error-code' value='500' />
157 <parameter name='error-message' value="`'No capacity for source interface '
158 + $service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-so-idx].vnics.vnic[$vnic-s-idx].vnic-port-id`" />
163 <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$tmp.save-vnfc-do-idx].vnics.vnic[$tmp.save-vnic-d-idx].capacity.used-capacity'
164 value='`$tmp.src-pps + $service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$tmp.save-vnfc-do-idx].vnics.vnic[$tmp.save-vnic-d-idx].capacity.used-capacity`' />
167 <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$map-idx].source-port-id'
168 value='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-so-idx].vnics.vnic[$vnic-s-idx].vnic-port-id`' />
169 <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$map-idx].source-port-name'
170 value='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-so-idx].vnics.vnic[$vnic-s-idx].vnic-port-name`' />
171 <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$map-idx].source-vserver-id'
172 value='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-so-idx].vserver-id`' />
173 <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$map-idx].dest-port-id'
174 value='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$tmp.save-vnfc-do-idx].vnics.vnic[$tmp.save-vnic-d-idx].vnic-port-id`' />
175 <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$map-idx].dest-port-name'
176 value='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$tmp.save-vnfc-do-idx].vnics.vnic[$tmp.save-vnic-d-idx].vnic-port-name`' />
177 <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$map-idx].dest-vserver-id'
178 value='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$tmp.save-vnfc-do-idx].vserver-id`' />
179 <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$map-idx].dest-ip-addresses.ip-addresses.ipv4-address'
180 value='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$tmp.save-vnfc-do-idx].vnics.vnic[$tmp.save-vnic-d-idx].vnic-ip-addresses.ip-addresses.ipv4-address`' />
181 <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$map-idx].dest-ip-addresses.ip-addresses.ipv6-address'
182 value='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$tmp.save-vnfc-do-idx].vnics.vnic[$tmp.save-vnic-d-idx].vnic-ip-addresses.ip-addresses.ipv6-address`' />
185 <parameter name='map-idx' value='`$map-idx + 1`' />
191 <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length'
192 value='`$map-idx`' />
194 <for silentFailure='true' index='vnfc-do-idx' start='0' end='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object_length`' >
195 <for silentFailure='true' index='vnic-d-idx' start='0' end='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-do-idx].vnics.vnic_length`' >
196 <block atomic="true">
197 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
198 key='select available_capacity
200 where vnics_group_id = $db.vnics-group-id
201 and vnic_port_name = $service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-do-idx].vnics.vnic[$vnic-d-idx].vnic-port-name'
202 pfx='db.vnics-capacity'>
203 <outcome value='failure'>
204 <return status='failure'>
205 <parameter name='ack-final' value='Y'/>
206 <parameter name="error-code" value="500" />
207 <parameter name="error-message" value="Failure reading VNICS_CAPACITY table" />
212 <parameter name='tmp.original-avail-capacity' value='`$db.vnics-capacity.available-capacity`' />
213 <parameter name='tmp.original-used-capacity' value='`$service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-do-idx].vnics.vnic[$vnic-d-idx].capacity.used-capacity`' />
214 <parameter name='tmp.avail-capacity' value='`$db.vnics-capacity.available-capacity - $service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-do-idx].vnics.vnic[$vnic-d-idx].capacity.used-capacity`' />
216 <update plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
217 key="update VNICS_CAPACITY
218 set available_capacity = $tmp.avail-capacity
219 where vnics_group_id = $db.vnics-group-id
220 and vnic_port_name = $service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$vnfc-do-idx].vnics.vnic[$vnic-d-idx].vnic-port-name
222 <outcome value='failure'>
223 <return status='failure'>
224 <parameter name='ack-final' value='Y'/>
225 <parameter name="error-code" value="500" />
226 <parameter name="error-message" value="Failure updating VNICS_CAPACITY table" />
233 <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
234 key="insert into VNICS_CONFIGURATION_ID
235 (configuration_id, vnics_group_id)
236 values ( $tmp.configuration-id , $db.vnics-group-id )"
238 <return status='success'>
239 <parameter name='' value='' />