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-unassign.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-unassign' 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                 <parameter name='tmp.service-instance-id' value='`$port-mirror-topology-operation-input.service-information.service-instance-id`' />
9             </set>
10             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
11                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
12                 <parameter name='contextPrefix' value='prop' />
13             </execute>
14             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
15                 <parameter name="source" value="`$prop.restapi.pm-configuration`"/>
16                 <parameter name="outputPath" value="tmp.pmc-url"/>
17                 <parameter name="target" value="{configuration-id}"/>
18                 <parameter name="replacement" value="`$tmp.configuration-id`"/>
19             </execute>
20             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
21                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.pmc-url`' />
22                 <parameter name='restapiUser' value='`$prop.controller.user`' />
23                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
24                 <parameter name='format' value='json' />
25                 <parameter name='httpMethod' value='GET' />
26                 <parameter name="responsePrefix" value="pm-mdsal" />
27                 <outcome value='success'>
28                     <switch test='`$pm-mdsal.port-mirror-configuration_length == 1`'>
29                         <outcome value='false'>
30                             <return status='failure'>
31                                 <parameter name='error-code' value='500' />
32                                 <parameter name='error-message' value="`'Cannot find port-mirror-configuration ' + $tmp.configuration-id`" />
33                             </return>
34                         </outcome>
35                     </switch>
36                 </outcome>
37                 <outcome value='Other'>
38                     <return status='failure'>
39                         <parameter name='error-code' value='500' />
40                         <parameter name='error-message' value="`'Cannot find port-mirror-configuration ' + $tmp.configuration-id`" />
41                     </return>
42                 </outcome>
43             </execute>
44             <switch test="`$pm-mdsal.port-mirror-configuration[0].configuration-data.configuration-oper-status.order-status == 'Created'`">
45                 <outcome value='false'>
46                     <return status='failure'>
47                         <parameter name='error-code' value='500' />
48                         <parameter name='error-message' value="`'Order status is ' + $mdsal-pmc.port-mirror-configuration[0].configuration-data.configuration-oper-status.order-status + ' but must be Created'`" />
49                     </return>
50                 </outcome>
51             </switch>
52             <set>
53                 <parameter name='pm.configuration-id' value='`$tmp.configuration-id`' />
54                 <parameter name='pm.configuration-data.' value='`$pm-mdsal.port-mirror-configuration[0].configuration-data.`' />
55             </set>
56             <set>
57                 <parameter name='tmp.configuration-sub-type' value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.probe-type`' />
58             </set>
59             <switch test='`$tmp.configuration-sub-type`'>
60                 <outcome value='vprobe'>
61                     <block atomic="true">
62                         <set>
63                             <parameter name='cto-api.default-domain' value='default-domain' />
64                             <parameter name='cto-api.default-project'
65   value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant`' />
66                             <parameter name='cto-api.cloud-region-id'
67   value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id`' />
68                             <parameter name='cto-api.contrail-route-allotted-resource-id'
69   value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.route-allotted-resource-id`' />
70                             <parameter name='cto-api.rollback-flag' value='false' />
71                             <parameter name='cto-api.configuration-id' value='`$tmp.configuration-id`' />
72                             <parameter name='cto-api.owning-entity'
73   value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.owning-entity`' />
74                         </set>
75                         <call module='GENERIC-RESOURCE-API' rpc='api-contrail-route-topology-operation-delete' mode='sync' >
76                             <outcome value='failure'>
77                                 <return status='failure'></return>
78                             </outcome>
79                         </call>
80                         <call module='GENERIC-RESOURCE-API' rpc='port-mirror-rollback-capacity-db' mode='sync' >
81                             <outcome value='failure'>
82                                 <return status='failure'></return>
83                             </outcome>
84                         </call>
85                     </block>
86                 </outcome>
87             </switch>
88             <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                 <block atomic="true">
90                     <set>
91                         <parameter name='tmp.link-name' value="`'PMC_' + $tmp.configuration-id
92   + '_Source' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name
93   + '_Dest' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-port-name`" />
94                     </set>
95                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" 
96         resource="logical-link" 
97         key="logical-link.link-name = $tmp.link-name" >
98                         <outcome value='failure'>
99                             <block atomic="true">
100                                 <return status='failure'>
101                                     <parameter name='error-code' value='500' />
102                                     <parameter name='error-message' value="`'Failed to delete logical-link in AAI: ' + $tmp.link-name`" />
103                                 </return>
104                             </block>
105                         </outcome>
106                         <outcome value='not-found'>
107                             <block atomic="true"></block>
108                         </outcome>
109                     </delete>
110                 </block>
111             </for>
112             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
113    resource="configuration"
114    key="configuration.configuration-id = $tmp.configuration-id"
115    force="true" pfx="tmp.AnAI-data">
116                 <parameter name="operational-status" value="out-of-service-path" />
117                 <outcome value='not-found'>
118                     <return status='failure'>
119                         <parameter name='error-code' value='500' />
120                         <parameter name='error-message' value="Unable to find configuration object in AAI" />
121                     </return>
122                 </outcome>
123                 <outcome value='failure'>
124                     <return status='failure'>
125                         <parameter name='error-code' value='500' />
126                         <parameter name='error-message' value="Failure updating configuration object in AAI" />
127                     </return>
128                 </outcome>
129             </update>
130             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
131                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.pmc-url`' />
132                 <parameter name='restapiUser' value='`$prop.controller.user`' />
133                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
134                 <parameter name='format' value='json' />
135                 <parameter name='httpMethod' value='DELETE' />
136                 <parameter name="responsePrefix" value="mdsal-pmc" />
137                 <outcome value='success'>
138                     <block></block>
139                 </outcome>
140                 <outcome value='Other'>
141                     <return status='failure'>
142                         <parameter name='error-code' value='500' />
143                         <parameter name='error-message' value="Failed to delete port-mirror-configuration object in MD-SAL" />
144                     </return>
145                 </outcome>
146             </execute>
147             <return status='success'>
148                 <parameter name='error-code' value='200' />
149                 <parameter name='ack-final' value='Y' />
150             </return>
151         </block>
152     </method>
153 </service-logic>