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-deactivate-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='tmp.configuration-sub-type' value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.probe-type`' />
84 <parameter name='pm.configuration-data.configuration-operation-information.sdnc-request-header.'
85 value='`$port-mirror-topology-operation-input.sdnc-request-header.`' />
87 <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`' >
89 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
90 <parameter name='api-name' value='port-mirroring' />
91 <parameter name='api-action' value='disable' />
92 <parameter name='resp-prefix' value='contrailResp' />
93 <parameter name='display-name'
94 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`' />
95 <parameter name='contrail-virtual-machine-interface-name'
96 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`' />
97 <parameter name='contrail-virtual-machine-interface-id'
98 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`' />
99 <parameter name='policy-name'
100 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`' />
101 <parameter name='default-domain' value='default-domain' />
102 <parameter name='default-project'
103 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant`' />
104 <parameter name='cloud-region-id'
105 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id`' />
106 <parameter name='cloud-owner'
107 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner`' />
108 <outcome value='success'>
110 <parameter name='contrail-set[$src-idx]' value='true' />
113 <outcome value='failure'>
114 <block atomic="true">
116 <parameter name="error-message" value="`'Failed to update policy in Contrail. '+ $contrailResp.resp-code + ':' +$contrailResp.resp-message `" />
118 <block atomic="true">
119 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
120 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
121 <parameter name="input.ack-final-indicator" value="Y" />
122 <parameter name="input.response-code" value="500" />
123 <parameter name="input.response-message" value="`$error-message`" />
124 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
125 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
126 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
128 <return status='failure'>
129 <parameter name='ack-final' value='Y'/>
130 <parameter name="error-code" value="500" />
131 <parameter name="error-message" value="`'$error-message'`" />
137 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
138 resource="l-interface"
139 key="cloud-region.cloud-region-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id
140 AND cloud-region.cloud-owner = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner
141 AND tenant.tenant-id = $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant-id
142 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
143 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"
144 force="true" pfx="tmp.AnAI-data">
145 <parameter name="is-port-mirrored" value="false" />
146 <outcome value='not-found'>
147 <block atomic="true">
149 <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`" />
151 <block atomic="true">
152 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
153 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
154 <parameter name="input.ack-final-indicator" value="Y" />
155 <parameter name="input.response-code" value="500" />
156 <parameter name="input.response-message" value="`$error-message`" />
157 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
158 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
159 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
161 <return status='failure'>
162 <parameter name='ack-final' value='Y'/>
163 <parameter name="error-code" value="500" />
164 <parameter name="error-message" value="`'$error-message'`" />
169 <outcome value='failure'>
170 <block atomic="true">
172 <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`" />
174 <block atomic="true">
175 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
176 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
177 <parameter name="input.ack-final-indicator" value="Y" />
178 <parameter name="input.response-code" value="500" />
179 <parameter name="input.response-message" value="`$error-message`" />
180 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
181 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
182 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
184 <return status='failure'>
185 <parameter name='ack-final' value='Y'/>
186 <parameter name="error-code" value="500" />
187 <parameter name="error-message" value="`'$error-message'`" />
192 <outcome value='success'>
194 <parameter name='l-interface-set[$src-idx]' value='true' />
200 <switch test='`$tmp.configuration-sub-type`'>
201 <outcome value='vprobe'>
202 <block atomic="true">
204 <parameter name='cto-api.default-domain' value='default-domain' />
205 <parameter name='cto-api.default-project'
206 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant`' />
207 <parameter name='cto-api.cloud-region-id'
208 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id`' />
209 <parameter name='cto-api.contrail-route-allotted-resource-id'
210 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.route-allotted-resource-id`' />
211 <parameter name='cto-api.src-contrail-network-fqdn'
212 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-network-fqdn`' />
213 <parameter name='cto-api.collector-contrail-network-fqdn'
214 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.dest-network-fqdn`' />
215 <parameter name='cto-api.rollback-flag' value='false' />
216 <parameter name='cto-api.owning-entity'
217 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.owning-entity`' />
219 <call module='GENERIC-RESOURCE-API' rpc='api-contrail-route-topology-operation-deactivate' mode='sync' >
220 <outcome value='failure'>
221 <block atomic="true">
222 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
223 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
224 <parameter name="input.ack-final-indicator" value="Y" />
225 <parameter name="input.response-code" value="500" />
226 <parameter name="input.response-message" value="`$error-message`" />
227 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
228 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
229 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
231 <return status='failure'>
232 <parameter name='ack-final' value='Y'/>
233 <parameter name="error-code" value="500" />
234 <parameter name="error-message" value="`'$error-message'`" />
242 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
243 resource="configuration"
244 key="configuration.configuration-id = $tmp.configuration-id"
245 force="true" pfx="tmp.AnAI-data">
246 <parameter name="operational-status" value="out-of-service-path" />
247 <outcome value='not-found'>
248 <block atomic="true">
250 <parameter name="error-message" value="Unable to find configuration object in AAI" />
252 <block atomic="true">
253 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
254 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
255 <parameter name="input.ack-final-indicator" value="Y" />
256 <parameter name="input.response-code" value="500" />
257 <parameter name="input.response-message" value="`$error-message`" />
258 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
259 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
260 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
262 <return status='failure'>
263 <parameter name='ack-final' value='Y'/>
264 <parameter name="error-code" value="500" />
265 <parameter name="error-message" value="`'$error-message'`" />
270 <outcome value='failure'>
271 <block atomic="true">
273 <parameter name="error-message" value="Failure updating configuration object in AAI" />
275 <block atomic="true">
276 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
277 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
278 <parameter name="input.ack-final-indicator" value="Y" />
279 <parameter name="input.response-code" value="500" />
280 <parameter name="input.response-message" value="`$error-message`" />
281 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
282 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
283 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
285 <return status='failure'>
286 <parameter name='ack-final' value='Y'/>
287 <parameter name="error-code" value="500" />
288 <parameter name="error-message" value="`'$error-message'`" />
295 <parameter name='pm.configuration-data.configuration-oper-status.order-status'
297 <parameter name='pm.configuration-data.configuration-oper-status.last-action'
298 value='`$port-mirror-topology-operation-input.request-information.request-action`' />
299 <parameter name='pm.configuration-data.configuration-oper-status.last-rpc-action'
300 value='`$port-mirror-topology-operation-input.sdnc-request-header.svc-action`' />
302 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
303 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.portmirrorconfig.templatefile`" />
304 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.pmc-url`' />
305 <parameter name='restapiUser' value='`$prop.controller.user`' />
306 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
307 <parameter name='format' value='json' />
308 <parameter name='httpMethod' value='PUT' />
309 <parameter name="responsePrefix" value="mdsal-pmc" />
310 <outcome value='success'>
313 <outcome value='failure'>
314 <block atomic="true">
316 <parameter name="error-message" value="Error updating md-sal for port-mirror-configuration" />
318 <block atomic="true">
319 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
320 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
321 <parameter name="input.ack-final-indicator" value="Y" />
322 <parameter name="input.response-code" value="500" />
323 <parameter name="input.response-message" value="`$error-message`" />
324 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
325 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
326 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
328 <return status='failure'>
329 <parameter name='ack-final' value='Y'/>
330 <parameter name="error-code" value="500" />
331 <parameter name="error-message" value="`'$error-message'`" />
336 <outcome value='not-found'>
337 <block atomic="true">
339 <parameter name="error-message" value="Error updating md-sal for port-mirror-configuration" />
341 <block atomic="true">
342 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
343 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
344 <parameter name="input.ack-final-indicator" value="Y" />
345 <parameter name="input.response-code" value="500" />
346 <parameter name="input.response-message" value="`$error-message`" />
347 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
348 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
349 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
351 <return status='failure'>
352 <parameter name='ack-final' value='Y'/>
353 <parameter name="error-code" value="500" />
354 <parameter name="error-message" value="`'$error-message'`" />
360 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">
361 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />
362 <parameter name="input.ack-final-indicator" value="Y" />
363 <parameter name="input.response-code" value="200" />
364 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />
365 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />
366 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />
368 <return status='success'>
369 <parameter name='error-code' value='200' />