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-activate-async' mode='sync'>
7 <parameter name='tmp.configuration-id' value='`$port-mirror-topology-operation-input.configuration-information.configuration-id`' />
9 <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
10 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
11 <parameter name='contextPrefix' value='prop' />
13 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
14 <parameter name="source" value="`$prop.restapi.pm-configuration`"/>
15 <parameter name="outputPath" value="tmp.pmc-url"/>
16 <parameter name="target" value="{configuration-id}"/>
17 <parameter name="replacement" value="`$tmp.configuration-id`"/>
19 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
20 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.pmc-url`' />
21 <parameter name='restapiUser' value='`$prop.controller.user`' />
22 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
23 <parameter name='format' value='json' />
24 <parameter name='httpMethod' value='GET' />
25 <parameter name="responsePrefix" value="pm-mdsal" />
26 <outcome value='success'>
29 <outcome value='failure'>
32 <parameter name="error-message" value="Failed to read port-mirror-configuration from MD-SAL" />
35 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
36 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
37 <parameter name="input.ack-final-indicator" value="Y" />
38 <parameter name="input.response-code" value="500" />
39 <parameter name="input.response-message" value="`$error-message`" />
40 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
41 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
42 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
44 <return status='failure'>
45 <parameter name='ack-final' value='Y'/>
46 <parameter name="error-code" value="500" />
47 <parameter name="error-message" value="`'$error-message'`" />
52 <outcome value='not-found'>
55 <parameter name="error-message" value="Cannot find port-mirror-configuration in MD-SAL" />
58 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
59 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
60 <parameter name="input.ack-final-indicator" value="Y" />
61 <parameter name="input.response-code" value="500" />
62 <parameter name="input.response-message" value="`$error-message`" />
63 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
64 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
65 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
67 <return status='failure'>
68 <parameter name='ack-final' value='Y'/>
69 <parameter name="error-code" value="500" />
70 <parameter name="error-message" value="`'$error-message'`" />
77 <parameter name='pm.configuration-id' value='`$tmp.configuration-id`' />
78 <parameter name='pm.configuration-data.' value='`$pm-mdsal.port-mirror-configuration[0].configuration-data.`' />
81 <parameter name='pm.configuration-data.configuration-operation-information.sdnc-request-header.'
82 value='`$port-mirror-topology-operation-input.sdnc-request-header.`' />
85 <parameter name='tmp.configuration-sub-type' value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.probe-type`' />
87 <switch test='`$tmp.configuration-sub-type`'>
88 <outcome value='vprobe'>
91 <parameter name='cto-api.default-domain' value='default-domain' />
92 <parameter name='cto-api.default-project'
93 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant`' />
94 <parameter name='cto-api.cloud-region-id'
95 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id`' />
96 <parameter name='cto-api.contrail-route-allotted-resource-id'
97 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.route-allotted-resource-id`' />
98 <parameter name='cto-api.src-contrail-network-fqdn'
99 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-network-fqdn`' />
100 <parameter name='cto-api.collector-contrail-network-fqdn'
101 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.dest-network-fqdn`' />
102 <parameter name='cto-api.owning-entity'
103 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.owning-entity`' />
105 <call module='GENERIC-RESOURCE-API' rpc='api-contrail-route-topology-operation-activate' mode='sync' >
106 <outcome value='failure'>
107 <block atomic="true">
108 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
109 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
110 <parameter name="input.ack-final-indicator" value="Y" />
111 <parameter name="input.response-code" value="500" />
112 <parameter name="input.response-message" value="`$error-message`" />
113 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
114 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
115 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
117 <return status='failure'>
118 <parameter name='ack-final' value='Y'/>
119 <parameter name="error-code" value="500" />
120 <parameter name="error-message" value="`'$error-message'`" />
128 <for silentFailure='true' index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >
129 <block atomic="true">
130 <switch test='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-ip-addresses.ip-addresses.ipv4-address`'>
131 <outcome value='Other'>
133 <parameter name='tmp.analyzer.ip-address'
134 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-ip-addresses.ip-addresses.ipv4-address`' />
138 <switch test='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-ip-addresses.ip-addresses.ipv6-address`'>
139 <outcome value='Other'>
141 <parameter name='tmp.analyzer.ip-address'
142 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-ip-addresses.ip-addresses.ipv6-address`' />
146 <switch test='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-ip-addresses.ip-addresses.vipv4-address`'>
147 <outcome value='Other'>
149 <parameter name='tmp.analyzer.ip-address'
150 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-ip-addresses.ip-addresses.vipv4-address`' />
154 <switch test='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-ip-addresses.ip-addresses.vipv6-address`'>
155 <outcome value='Other'>
157 <parameter name='tmp.analyzer.ip-address'
158 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-ip-addresses.ip-addresses.vipv6-address`' />
162 <block atomic="true">
164 <parameter name="error-message" value="`'No dest addresses stored for source port ' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name`" />
166 <block atomic="true">
167 <for index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >
168 <block atomic="true">
169 <switch test="`$contrail-set[$src-idx] == 'true'`">
170 <outcome value='true'>
171 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
172 <parameter name='api-name' value='port-mirroring' />
173 <parameter name='api-action' value='disable' />
174 <parameter name='resp-prefix' value='contrailResp' />
175 <parameter name='display-name'
176 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-id`' />
177 <parameter name='default-domain' value='default-domain' />
178 <parameter name='default-project'
179 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant`' />
180 <parameter name='cloud-region-id'
181 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id`' />
182 <parameter name='cloud-owner'
183 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner`' />
187 <switch test="`$l-interface-set[$src-idx] == 'true'`">
188 <outcome value='true'>
189 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
190 resource="l-interface"
191 key="cloud-region.cloud-region-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id
192 AND cloud-region.cloud-owner = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner
193 AND tenant.tenant-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant-id
194 AND vserver.vserver-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-vserver-id
195 AND l-interface.interface-name = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name"
196 force="true" pfx="tmp.AnAI-data">
197 <parameter name="is-port-mirrored" value="false" />
203 <block atomic="true">
204 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
205 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
206 <parameter name="input.ack-final-indicator" value="Y" />
207 <parameter name="input.response-code" value="500" />
208 <parameter name="input.response-message" value="`$error-message`" />
209 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
210 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
211 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
213 <return status='failure'>
214 <parameter name='ack-final' value='Y'/>
215 <parameter name="error-code" value="500" />
216 <parameter name="error-message" value="`'$error-message'`" />
229 <switch test='`$tmp.configuration-sub-type`'>
230 <outcome value='vprobe'>
231 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
232 <parameter name='api-name' value='port-mirroring' />
233 <parameter name='api-action' value='enable' />
234 <parameter name='resp-prefix' value='contrailResp' />
235 <parameter name='display-name'
236 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name`' />
237 <parameter name='contrail-virtual-machine-interface-name'
238 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name`' />
239 <parameter name='contrail-virtual-machine-interface-id'
240 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-id`' />
241 <parameter name='default-domain' value='default-domain' />
242 <parameter name='default-project'
243 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant`' />
244 <parameter name='traffic-direction' value='both' />
245 <parameter name='analyzer-ip-address'
246 value='`$tmp.analyzer.ip-address`' />
247 <parameter name='udp-port' value='8099' />
248 <parameter name='routing-instance'
249 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.dest-network-fqdn`' />
250 <parameter name='local-preference' value='1' />
251 <parameter name='cloud-region-id'
252 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id`' />
253 <parameter name='cloud-owner'
254 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner`' />
255 <outcome value='success'>
257 <parameter name='contrail-set[$src-idx]' value='true' />
260 <outcome value='failure'>
261 <block atomic="true">
263 <parameter name="error-message" value="`'Failed to update policy in Contrail. '+ $contrailResp.resp-code + ':' +$contrailResp.resp-message `" />
265 <block atomic="true">
266 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
267 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
268 <parameter name="input.ack-final-indicator" value="Y" />
269 <parameter name="input.response-code" value="500" />
270 <parameter name="input.response-message" value="`$error-message`" />
271 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
272 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
273 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
275 <return status='failure'>
276 <parameter name='ack-final' value='Y'/>
277 <parameter name="error-code" value="500" />
278 <parameter name="error-message" value="`'$error-message'`" />
285 <outcome value='pprobe'>
286 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
287 <parameter name='api-name' value='port-mirroring' />
288 <parameter name='api-action' value='enable' />
289 <parameter name='resp-prefix' value='contrailResp' />
290 <parameter name='display-name'
291 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name`' />
292 <parameter name='contrail-virtual-machine-interface-name'
293 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name`' />
294 <parameter name='contrail-virtual-machine-interface-id'
295 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-id`' />
296 <parameter name='default-domain' value='default-domain' />
297 <parameter name='default-project'
298 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant`' />
299 <parameter name='traffic-direction' value='both' />
300 <parameter name='analyzer-ip-address'
301 value='`$tmp.analyzer.ip-address`' />
302 <parameter name='vni' value='1000' />
303 <parameter name='udp-port' value='8099' />
304 <parameter name='routing-instance'
305 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.dest-network-fqdn`' />
306 <parameter name='local-preference' value='1' />
307 <parameter name='juniper-header' value='false' />
308 <parameter name='cloud-region-id'
309 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id`' />
310 <parameter name='cloud-owner'
311 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner`' />
312 <outcome value='success'>
314 <parameter name='contrail-set[$src-idx]' value='true' />
317 <outcome value='failure'>
318 <block atomic="true">
320 <parameter name="error-message" value="`'Failed to update policy in Contrail. '+ $contrailResp.resp-code + ':' +$contrailResp.resp-message `" />
322 <block atomic="true">
323 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
324 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
325 <parameter name="input.ack-final-indicator" value="Y" />
326 <parameter name="input.response-code" value="500" />
327 <parameter name="input.response-message" value="`$error-message`" />
328 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
329 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
330 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
332 <return status='failure'>
333 <parameter name='ack-final' value='Y'/>
334 <parameter name="error-code" value="500" />
335 <parameter name="error-message" value="`'$error-message'`" />
343 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
344 resource="l-interface"
345 key="cloud-region.cloud-region-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id
346 AND cloud-region.cloud-owner = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner
347 AND tenant.tenant-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant-id
348 AND vserver.vserver-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-vserver-id
349 AND l-interface.interface-name = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name"
350 force="true" pfx="tmp.AnAI-data">
351 <parameter name="is-port-mirrored" value="true" />
352 <outcome value='not-found'>
353 <block atomic="true">
355 <parameter name="error-message" value="`'Failed to update l-interface object in AAI for interface ' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name`" />
357 <block atomic="true">
358 <for index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >
359 <block atomic="true">
360 <switch test="`$contrail-set[$src-idx] == 'true'`">
361 <outcome value='true'>
362 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
363 <parameter name='api-name' value='port-mirroring' />
364 <parameter name='api-action' value='disable' />
365 <parameter name='resp-prefix' value='contrailResp' />
366 <parameter name='display-name'
367 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-id`' />
368 <parameter name='default-domain' value='default-domain' />
369 <parameter name='default-project'
370 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant`' />
371 <parameter name='cloud-region-id'
372 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id`' />
373 <parameter name='cloud-owner'
374 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner`' />
378 <switch test="`$l-interface-set[$src-idx] == 'true'`">
379 <outcome value='true'>
380 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
381 resource="l-interface"
382 key="cloud-region.cloud-region-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id
383 AND cloud-region.cloud-owner = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner
384 AND tenant.tenant-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant-id
385 AND vserver.vserver-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-vserver-id
386 AND l-interface.interface-name = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name"
387 force="true" pfx="tmp.AnAI-data">
388 <parameter name="is-port-mirrored" value="false" />
394 <block atomic="true">
395 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
396 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
397 <parameter name="input.ack-final-indicator" value="Y" />
398 <parameter name="input.response-code" value="500" />
399 <parameter name="input.response-message" value="`$error-message`" />
400 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
401 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
402 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
404 <return status='failure'>
405 <parameter name='ack-final' value='Y'/>
406 <parameter name="error-code" value="500" />
407 <parameter name="error-message" value="`'$error-message'`" />
413 <outcome value='failure'>
414 <block atomic="true">
416 <parameter name="error-message" value="`'Failed to update l-interface object in AAI for interface ' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name`" />
418 <block atomic="true">
419 <for index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >
420 <block atomic="true">
421 <switch test="`$contrail-set[$src-idx] == 'true'`">
422 <outcome value='true'>
423 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
424 <parameter name='api-name' value='port-mirroring' />
425 <parameter name='api-action' value='disable' />
426 <parameter name='resp-prefix' value='contrailResp' />
427 <parameter name='display-name'
428 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-id`' />
429 <parameter name='default-domain' value='default-domain' />
430 <parameter name='default-project'
431 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant`' />
432 <parameter name='cloud-region-id'
433 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id`' />
434 <parameter name='cloud-owner'
435 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner`' />
439 <switch test="`$l-interface-set[$src-idx] == 'true'`">
440 <outcome value='true'>
441 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
442 resource="l-interface"
443 key="cloud-region.cloud-region-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id
444 AND cloud-region.cloud-owner = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner
445 AND tenant.tenant-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant-id
446 AND vserver.vserver-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-vserver-id
447 AND l-interface.interface-name = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name"
448 force="true" pfx="tmp.AnAI-data">
449 <parameter name="is-port-mirrored" value="false" />
455 <block atomic="true">
456 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
457 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
458 <parameter name="input.ack-final-indicator" value="Y" />
459 <parameter name="input.response-code" value="500" />
460 <parameter name="input.response-message" value="`$error-message`" />
461 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
462 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
463 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
465 <return status='failure'>
466 <parameter name='ack-final' value='Y'/>
467 <parameter name="error-code" value="500" />
468 <parameter name="error-message" value="`'$error-message'`" />
474 <outcome value='success'>
476 <parameter name='l-interface-set[$src-idx]' value='true' />
482 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
483 resource="configuration"
484 key="configuration.configuration-id = $tmp.configuration-id"
485 force="true" pfx="tmp.AnAI-data">
486 <parameter name="operational-status" value="in-service-path" />
487 <outcome value='not-found'>
488 <block atomic="true">
490 <parameter name="error-message" value="Unable to find configuration object in AAI" />
492 <block atomic="true">
493 <for index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >
494 <block atomic="true">
495 <switch test="`$contrail-set[$src-idx] == 'true'`">
496 <outcome value='true'>
497 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
498 <parameter name='api-name' value='port-mirroring' />
499 <parameter name='api-action' value='disable' />
500 <parameter name='resp-prefix' value='contrailResp' />
501 <parameter name='display-name'
502 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-id`' />
503 <parameter name='default-domain' value='default-domain' />
504 <parameter name='default-project'
505 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant`' />
506 <parameter name='cloud-region-id'
507 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id`' />
508 <parameter name='cloud-owner'
509 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner`' />
513 <switch test="`$l-interface-set[$src-idx] == 'true'`">
514 <outcome value='true'>
515 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
516 resource="l-interface"
517 key="cloud-region.cloud-region-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id
518 AND cloud-region.cloud-owner = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner
519 AND tenant.tenant-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant-id
520 AND vserver.vserver-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-vserver-id
521 AND l-interface.interface-name = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name"
522 force="true" pfx="tmp.AnAI-data">
523 <parameter name="is-port-mirrored" value="false" />
529 <block atomic="true">
530 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
531 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
532 <parameter name="input.ack-final-indicator" value="Y" />
533 <parameter name="input.response-code" value="500" />
534 <parameter name="input.response-message" value="`$error-message`" />
535 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
536 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
537 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
539 <return status='failure'>
540 <parameter name='ack-final' value='Y'/>
541 <parameter name="error-code" value="500" />
542 <parameter name="error-message" value="`'$error-message'`" />
548 <outcome value='failure'>
549 <block atomic="true">
551 <parameter name="error-message" value="Failure updating configuration object in AAI" />
553 <block atomic="true">
554 <for index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >
555 <block atomic="true">
556 <switch test="`$contrail-set[$src-idx] == 'true'`">
557 <outcome value='true'>
558 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
559 <parameter name='api-name' value='port-mirroring' />
560 <parameter name='api-action' value='disable' />
561 <parameter name='resp-prefix' value='contrailResp' />
562 <parameter name='display-name'
563 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-id`' />
564 <parameter name='default-domain' value='default-domain' />
565 <parameter name='default-project'
566 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant`' />
567 <parameter name='cloud-region-id'
568 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id`' />
569 <parameter name='cloud-owner'
570 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner`' />
574 <switch test="`$l-interface-set[$src-idx] == 'true'`">
575 <outcome value='true'>
576 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
577 resource="l-interface"
578 key="cloud-region.cloud-region-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id
579 AND cloud-region.cloud-owner = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner
580 AND tenant.tenant-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant-id
581 AND vserver.vserver-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-vserver-id
582 AND l-interface.interface-name = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name"
583 force="true" pfx="tmp.AnAI-data">
584 <parameter name="is-port-mirrored" value="false" />
590 <block atomic="true">
591 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
592 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
593 <parameter name="input.ack-final-indicator" value="Y" />
594 <parameter name="input.response-code" value="500" />
595 <parameter name="input.response-message" value="`$error-message`" />
596 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
597 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
598 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
600 <return status='failure'>
601 <parameter name='ack-final' value='Y'/>
602 <parameter name="error-code" value="500" />
603 <parameter name="error-message" value="`'$error-message'`" />
611 <parameter name='pm.configuration-data.configuration-oper-status.order-status'
613 <parameter name='pm.configuration-data.configuration-oper-status.last-action'
614 value='`$port-mirror-topology-operation-input.request-information.request-action`' />
615 <parameter name='pm.configuration-data.configuration-oper-status.last-rpc-action'
616 value='`$port-mirror-topology-operation-input.sdnc-request-header.svc-action`' />
618 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
619 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.portmirrorconfig.templatefile`" />
620 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.pmc-url`' />
621 <parameter name='restapiUser' value='`$prop.controller.user`' />
622 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
623 <parameter name='format' value='json' />
624 <parameter name='httpMethod' value='PUT' />
625 <parameter name="responsePrefix" value="mdsal-pmc" />
626 <outcome value='success'>
629 <outcome value='failure'>
630 <block atomic="true">
632 <parameter name="error-message" value="Error updating md-sal for port-mirror-configuration" />
634 <block atomic="true">
635 <for index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >
636 <block atomic="true">
637 <switch test="`$contrail-set[$src-idx] == 'true'`">
638 <outcome value='true'>
639 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
640 <parameter name='api-name' value='port-mirroring' />
641 <parameter name='api-action' value='disable' />
642 <parameter name='resp-prefix' value='contrailResp' />
643 <parameter name='display-name'
644 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-id`' />
645 <parameter name='default-domain' value='default-domain' />
646 <parameter name='default-project'
647 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant`' />
648 <parameter name='cloud-region-id'
649 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id`' />
650 <parameter name='cloud-owner'
651 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner`' />
655 <switch test="`$l-interface-set[$src-idx] == 'true'`">
656 <outcome value='true'>
657 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
658 resource="l-interface"
659 key="cloud-region.cloud-region-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id
660 AND cloud-region.cloud-owner = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner
661 AND tenant.tenant-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant-id
662 AND vserver.vserver-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-vserver-id
663 AND l-interface.interface-name = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name"
664 force="true" pfx="tmp.AnAI-data">
665 <parameter name="is-port-mirrored" value="false" />
671 <block atomic="true">
672 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
673 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
674 <parameter name="input.ack-final-indicator" value="Y" />
675 <parameter name="input.response-code" value="500" />
676 <parameter name="input.response-message" value="`$error-message`" />
677 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
678 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
679 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
681 <return status='failure'>
682 <parameter name='ack-final' value='Y'/>
683 <parameter name="error-code" value="500" />
684 <parameter name="error-message" value="`'$error-message'`" />
690 <outcome value='not-found'>
691 <block atomic="true">
693 <parameter name="error-message" value="Error updating md-sal for port-mirror-configuration" />
695 <block atomic="true">
696 <for index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >
697 <block atomic="true">
698 <switch test="`$contrail-set[$src-idx] == 'true'`">
699 <outcome value='true'>
700 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
701 <parameter name='api-name' value='port-mirroring' />
702 <parameter name='api-action' value='disable' />
703 <parameter name='resp-prefix' value='contrailResp' />
704 <parameter name='display-name'
705 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-id`' />
706 <parameter name='default-domain' value='default-domain' />
707 <parameter name='default-project'
708 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant`' />
709 <parameter name='cloud-region-id'
710 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id`' />
711 <parameter name='cloud-owner'
712 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner`' />
716 <switch test="`$l-interface-set[$src-idx] == 'true'`">
717 <outcome value='true'>
718 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
719 resource="l-interface"
720 key="cloud-region.cloud-region-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id
721 AND cloud-region.cloud-owner = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner
722 AND tenant.tenant-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant-id
723 AND vserver.vserver-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-vserver-id
724 AND l-interface.interface-name = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name"
725 force="true" pfx="tmp.AnAI-data">
726 <parameter name="is-port-mirrored" value="false" />
732 <block atomic="true">
733 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
734 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
735 <parameter name="input.ack-final-indicator" value="Y" />
736 <parameter name="input.response-code" value="500" />
737 <parameter name="input.response-message" value="`$error-message`" />
738 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
739 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
740 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
742 <return status='failure'>
743 <parameter name='ack-final' value='Y'/>
744 <parameter name="error-code" value="500" />
745 <parameter name="error-message" value="`'$error-message'`" />
752 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
753 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
754 <parameter name="input.ack-final-indicator" value="Y" />
755 <parameter name="input.response-code" value="200" />
756 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
757 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
758 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
760 <return status='success'>
761 <parameter name='error-code' value='200' />