Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_port-mirror-topology-operation-deactivate-async.xml
1 <service-logic
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'>
5         <block atomic="true">
6             <set>
7                 <parameter name='tmp.configuration-id' value='`$port-mirror-topology-operation-input.configuration-information.configuration-id`' />
8             </set>
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' />
12             </execute>
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`"/>
18             </execute>
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'>
27                     <block></block>
28                 </outcome>
29                 <outcome value='failure'>
30                     <block atomic="true">
31                         <set>
32                             <parameter name="error-message" value="Failed to read port-mirror-configuration from MD-SAL" />
33                         </set>
34                         <block atomic="true">
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`" />
43                             </configure>
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'`" />
48                             </return>
49                         </block>
50                     </block>
51                 </outcome>
52                 <outcome value='not-found'>
53                     <block atomic="true">
54                         <set>
55                             <parameter name="error-message" value="Cannot find port-mirror-configuration in MD-SAL" />
56                         </set>
57                         <block atomic="true">
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`" />
66                             </configure>
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'`" />
71                             </return>
72                         </block>
73                     </block>
74                 </outcome>
75             </execute>
76             <set>
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.`' />
79             </set>
80             <set>
81                 <parameter name='tmp.configuration-sub-type' value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.probe-type`' />
82             </set>
83             <set>
84                 <parameter name='pm.configuration-data.configuration-operation-information.sdnc-request-header.'
85   value='`$port-mirror-topology-operation-input.sdnc-request-header.`' />
86             </set>
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`' >
88                 <block atomic="true">
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'>
109                             <set>
110                                 <parameter name='contrail-set[$src-idx]' value='true' />
111                             </set>
112                         </outcome>
113                         <outcome value='failure'>
114                             <block atomic="true">
115                                 <set>
116                                     <parameter name="error-message" value="`'Failed to update policy in Contrail. '+ $contrailResp.resp-code + ':' +$contrailResp.resp-message `" />
117                                 </set>
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`" />
127                                     </configure>
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'`" />
132                                     </return>
133                                 </block>
134                             </block>
135                         </outcome>
136                     </execute>
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">
148                                 <set>
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`" />
150                                 </set>
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`" />
160                                     </configure>
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'`" />
165                                     </return>
166                                 </block>
167                             </block>
168                         </outcome>
169                         <outcome value='failure'>
170                             <block atomic="true">
171                                 <set>
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`" />
173                                 </set>
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`" />
183                                     </configure>
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'`" />
188                                     </return>
189                                 </block>
190                             </block>
191                         </outcome>
192                         <outcome value='success'>
193                             <set>
194                                 <parameter name='l-interface-set[$src-idx]' value='true' />
195                             </set>
196                         </outcome>
197                     </update>
198                 </block>
199             </for>
200             <switch test='`$tmp.configuration-sub-type`'>
201                 <outcome value='vprobe'>
202                     <block atomic="true">
203                         <set>
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`' />
218                         </set>
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`" />
230                                     </configure>
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'`" />
235                                     </return>
236                                 </block>
237                             </outcome>
238                         </call>
239                     </block>
240                 </outcome>
241             </switch>
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">
249                         <set>
250                             <parameter name="error-message" value="Unable to find configuration object in AAI" />
251                         </set>
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`" />
261                             </configure>
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'`" />
266                             </return>
267                         </block>
268                     </block>
269                 </outcome>
270                 <outcome value='failure'>
271                     <block atomic="true">
272                         <set>
273                             <parameter name="error-message" value="Failure updating configuration object in AAI" />
274                         </set>
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`" />
284                             </configure>
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'`" />
289                             </return>
290                         </block>
291                     </block>
292                 </outcome>
293             </update>
294             <set>
295                 <parameter name='pm.configuration-data.configuration-oper-status.order-status'
296   value='Created' />
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`' />
301             </set>
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'>
311                     <block></block>
312                 </outcome>
313                 <outcome value='failure'>
314                     <block atomic="true">
315                         <set>
316                             <parameter name="error-message" value="Error updating md-sal for port-mirror-configuration" />
317                         </set>
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`" />
327                             </configure>
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'`" />
332                             </return>
333                         </block>
334                     </block>
335                 </outcome>
336                 <outcome value='not-found'>
337                     <block atomic="true">
338                         <set>
339                             <parameter name="error-message" value="Error updating md-sal for port-mirror-configuration" />
340                         </set>
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`" />
350                             </configure>
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'`" />
355                             </return>
356                         </block>
357                     </block>
358                 </outcome>
359             </execute>
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`" />
367             </configure>
368             <return status='success'>
369                 <parameter name='error-code' value='200' />
370             </return>
371         </block>
372     </method>
373 </service-logic>