Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_brg-topology-operation-deactivate.xml
1 <service-logic xmlns='http://www.onap.org/sdnc/svclogic' 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}'>\r
2     <method rpc='brg-topology-operation-deactivate' mode='sync'>\r
3         <block atomic="true">\r
4             <set>\r
5                 <parameter name='tmp.ar.allotted-resource-id' value='`$brg-topology-operation-input.allotted-resource-information.allotted-resource-id`' />\r
6                 <parameter name='tmp.ar.parent-service-instance-id' value='`$brg-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />\r
7                 <parameter name='tmp.ar.brg-vnf-id' value='`$brg-topology-operation-input.allotted-resource-data.brg-topology.brg-assignments.brg-vnf-id`' />\r
8             </set>\r
9             <set>\r
10                 <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/' + $tmp.ar.allotted-resource-id + '/allotted-resource-data/brg-topology/'` " />\r
11             </set>\r
12             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
13                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
14                 <parameter name='contextPrefix' value='prop' />\r
15             </execute>\r
16             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
17                 <parameter name="source" value="`$prop.restapi.brg-allottedresource`"/>\r
18                 <parameter name="outputPath" value="tmp.ar-url"/>\r
19                 <parameter name="target" value="{allotted-resource-id}"/>\r
20                 <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>\r
21             </execute>\r
22             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
23                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
24                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
25                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
26                 <parameter name='format' value='json' />\r
27                 <parameter name='httpMethod' value='GET' />\r
28                 <parameter name="responsePrefix" value="mdsal-ar" />\r
29                 <outcome value='success'>\r
30                     <block atomic="true">\r
31                         <set>\r
32                             <parameter name='bk-brg-ar' value='$mdsal-ar.' />\r
33                         </set>\r
34                         <switch test='`$mdsal-ar.brg-allotted-resource_length`'>\r
35                             <outcome value='1'>\r
36                                 <block atomic='true'>\r
37                                     <set>\r
38                                         <parameter name='brg-ar.' value='$mdsal-ar.brg-allotted-resource[0].' />\r
39                                     </set>\r
40                                     <switch test='`$brg-ar.allotted-resource-data.allotted-resource-oper-status.order-status`'>\r
41                                         <outcome value='Created'>\r
42                                             <block></block>\r
43                                         </outcome>\r
44                                         <outcome value='Other'>\r
45                                             <block></block>\r
46                                         </outcome>\r
47                                     </switch>\r
48                                     <set>\r
49                                         <parameter name='brg-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$brg-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />\r
50                                         <parameter name='brg-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$brg-ar.allotted-resource-status.rpc-action`' />\r
51                                         <parameter name='brg-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$brg-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />\r
52                                     </set>\r
53                                 </block>\r
54                             </outcome>\r
55                         </switch>\r
56                     </block>\r
57                 </outcome>\r
58                 <outcome value='Other'>\r
59                     <block atomic="true"></block>\r
60                 </outcome>\r
61             </execute>\r
62             <set>\r
63                 <parameter name='brg-ar.allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />\r
64                 <parameter name='brg-ar.allotted-resource-status.action' value="`$brg-topology-operation-input.request-information.request-action` " />\r
65                 <parameter name='brg-ar.allotted-resource-status.rpc-name' value="brg-topology-operation" />\r
66                 <parameter name='brg-ar.allotted-resource-status.rpc-action' value="`$brg-topology-operation-input.sdnc-request-header.svc-action` " />\r
67                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value="`$brg-topology-operation-input.request-information.` " />\r
68                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value="`$brg-topology-operation-input.sdnc-request-header.` " />\r
69                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value="`$brg-topology-operation-input.service-information.` " />\r
70                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value="`$brg-topology-operation-input.allotted-resource-information.` " />\r
71                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-operation-information.brg-request-input.' value="`$brg-topology-operation-input.brg-request-input.` " />\r
72             </set>\r
73             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >\r
74                 <parameter name="outputPath" value="tmp.current-time" />\r
75             </execute>\r
76             <set>\r
77                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='PendingDelete' />\r
78                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$brg-topology-operation-input.request-information.request-action`' />\r
79                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$brg-topology-operation-input.sdnc-request-header.svc-action`' />\r
80                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$brg-topology-operation-input.sdnc-request-header.svc-request-id`' />\r
81                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />\r
82             </set>\r
83             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
84                     resource="allotted-resource"\r
85                     key="customer.global-customer-id = $brg-topology-operation-input.service-information.global-customer-id AND service-subscription.service-type = $brg-topology-operation-input.service-information.subscription-service-type AND service-instance.service-instance-id = $brg-topology-operation-input.service-information.service-instance-id AND allotted-resource.id = $tmp.ar.allotted-resource-id"\r
86                     pfx='pfx' local-only='false' force='false'>\r
87                 <parameter name="operational-status" value="out-of-service-path" />\r
88                 <outcome value='failure'>\r
89                     <return status='failure'>\r
90                         <parameter name='ack-final' value='Y'/>\r
91                         <parameter name="error-code" value="500" />\r
92                         <parameter name="error-message" value="AAI failed" />\r
93                     </return>\r
94                 </outcome>\r
95                 <outcome value='not-found'>\r
96                     <return status='failure'>\r
97                         <parameter name='ack-final' value='Y'/>\r
98                         <parameter name="error-code" value="500" />\r
99                         <parameter name="error-message" value="AAI failed" />\r
100                     </return>\r
101                 </outcome>\r
102             </update>\r
103             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
104                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.brg.templatefile`" />\r
105                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
106                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
107                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
108                 <parameter name='format' value='json' />\r
109                 <parameter name='httpMethod' value='PUT' />\r
110                 <parameter name="responsePrefix" value="mdsal-ar" />\r
111                 <outcome value='success'>\r
112                     <block></block>\r
113                 </outcome>\r
114                 <outcome value='failure'>\r
115                     <return status='failure'>\r
116                         <parameter name='ack-final' value='Y'/>\r
117                         <parameter name="error-code" value="500" />\r
118                         <parameter name="error-message" value="Error updating md-sal for brg-allotted-resource" />\r
119                     </return>\r
120                 </outcome>\r
121                 <outcome value='not-found'>\r
122                     <return status='failure'>\r
123                         <parameter name='ack-final' value='Y'/>\r
124                         <parameter name="error-code" value="500" />\r
125                         <parameter name="error-message" value="Error updating md-sal for brg-allotted-resource" />\r
126                     </return>\r
127                 </outcome>\r
128             </execute>\r
129             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='IPADDR' key="SELECT min(ip_addr) ip from DHCP_MAP where mac_addr = $brg-ar.allotted-resource-data.allotted-resource-operation-information.brg-request-input.brg-wan-mac-address" pfx="tmp.brg-wan-ip" ></get-resource>\r
130             <set>\r
131                 <parameter name='brg-ar.allotted-resource-data.brg-topology.brg-assignments.vbrg-wan-ip' value='`$tmp.brg-wan-ip.ip`' />\r
132             </set>\r
133             <set>\r
134                 <parameter name='tmp.ar.consuming-service-instance-id' value='`$allotted-resource-data.brg-topology.allotted-resource-identifiers.consuming-service-instance-id`' />\r
135             </set>\r
136             <call module='GENERIC-RESOURCE-API' rpc='get-tunnelxconn-ar' mode='sync' ></call>\r
137             <set>\r
138                 <parameter name='brg-ar.allotted-resource-data.brg-topology.brg-assignments.vgmux-lan-ip' value='`$tmp.tunnelxconn-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vgmux-lan-ip`' />\r
139             </set>\r
140             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
141                 <parameter name="source" value="`$prop.honeycomb.url`"/>\r
142                 <parameter name="outputPath" value="tmp.honeycomb.url"/>\r
143                 <parameter name="target" value="{honeycomb-instance-ip}"/>\r
144                 <parameter name="replacement" value="`$brg-ar.allotted-resource-data.brg-topology.brg-assignments.vbrg-wan-ip`"/>\r
145             </execute>\r
146             <set>\r
147                 <parameter name='tmp.tunnel-name' value="`'vxlanTun' + $brg-ar.allotted-resource-data.allotted-resource-operation-information.brg-request-input.vgmux-lan-ip` " />\r
148             </set>\r
149             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
150                 <parameter name="source" value="`$prop.restapi.vpp-honeycomb`"/>\r
151                 <parameter name="outputPath" value="tmp.vpp-honeycomb-url"/>\r
152                 <parameter name="target" value="{tunnel-name}"/>\r
153                 <parameter name="replacement" value="`$tmp.tunnel-name`"/>\r
154             </execute>\r
155             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
156                 <parameter name='restapiUrl' value='`$tmp.honeycomb.url + $tmp.vpp-honeycomb-url`' />\r
157                 <parameter name='restapiUser' value='`$prop.honeycomb.user`' />\r
158                 <parameter name='restapiPassword' value='`$prop.honeycomb.pwd`' />\r
159                 <parameter name='format' value='json' />\r
160                 <parameter name='httpMethod' value='DELETE' />\r
161                 <parameter name="responsePrefix" value="honeycomb-vnf" />\r
162                 <outcome value='success'>\r
163                     <block></block>\r
164                 </outcome>\r
165                 <outcome value='failure'>\r
166                     <return status='failure'>\r
167                         <parameter name='ack-final' value='Y'/>\r
168                         <parameter name="error-code" value="500" />\r
169                         <parameter name="error-message" value="Error deleting vxlan tunnel" />\r
170                     </return>\r
171                 </outcome>\r
172                 <outcome value='not-found'>\r
173                     <return status='failure'>\r
174                         <parameter name='ack-final' value='Y'/>\r
175                         <parameter name="error-code" value="500" />\r
176                         <parameter name="error-message" value="Error deleting vxlan tunnel" />\r
177                     </return>\r
178                 </outcome>\r
179             </execute>\r
180             <set>\r
181                 <parameter name='brg-ar.allotted-resource-data.brg-topology.brg-assignments.vg-ip' value='`$tmp.tunnelxconn-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vg-ip`' />\r
182             </set>\r
183             <set>\r
184                 <parameter name='brg-ar.allotted-resource-data.brg-topology.brg-assignments.vgmux-bearer-ip' value='`$tmp.tunnelxconn-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vgmux-bearer-ip`' />\r
185             </set>\r
186             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='services' pfx='tmp.servicedata' >\r
187                 <outcome value='success'>\r
188                     <for index='serviceidx' start='0' end='`$tmp.servicedata.services.service_length`' >\r
189                         <switch test='`$tmp.servicedata.services.service[$serviceidx].service-instance-id == $tmp.search.consuming-service-instance-id`'>\r
190                             <outcome value='true'>\r
191                                 <for index='vnfidx' start='0' end='`$tmp.servicedata.services.service[$serviceidx].service-data.vnfs.vnf_length`' >\r
192                                     <for index='vfmoduleidx' start='0' end='`$tmp.servicedata.services.service[$serviceidx].service-data.vnfs.vnf[$vnfidx].vnf-data.vf-modules.vf-module_length`' >\r
193                                         <for index='paramidx' start='0' end='`$tmp.servicedata.services.service[$serviceidx].service-data.vnfs.vnf[$vnfidx].vnf-data.vf-modules.vf-module[$vfmoduleidx].vf-module-data.vf-module-topology.vf-module-parameters.param_length`' >\r
194                                             <switch test='`$tmp.servicedata.services.service[$serviceidx].service-data.vnfs.vnf[$vnfidx].vnf-data.vf-modules.vf-module[$vfmoduleidx].vf-module-data.vf-module-topology.vf-module-parameters.param[$paramidx].name == vgw_private_ip_1`'>\r
195                                                 <outcome value='true'>\r
196                                                     <set>\r
197                                                         <parameter name='brg-ar.allotted-resource-data.brg-topology.brg-assignments.vg-mgmt-ip' value='`$tmp.servicedata.services.service[$serviceidx].service-data.vnfs.vnf[$vnfidx].vnf-data.vf-modules.vf-module[$vfmoduleidx].vf-module-data.vf-module-topology.vf-module-parameters.param[$paramidx].value`' />\r
198                                                     </set>\r
199                                                 </outcome>\r
200                                             </switch>\r
201                                         </for>\r
202                                     </for>\r
203                                 </for>\r
204                             </outcome>\r
205                         </switch>\r
206                     </for>\r
207                 </outcome>\r
208                 <outcome value='failure'>\r
209                     <return status='failure'>\r
210                         <parameter name='ack-final' value='Y'/>\r
211                         <parameter name="error-code" value="500" />\r
212                         <parameter name="error-message" value="Error getting GENERIC-RESOURCE-API:services" />\r
213                     </return>\r
214                 </outcome>\r
215                 <outcome value='not-found'>\r
216                     <return status='failure'>\r
217                         <parameter name='ack-final' value='Y'/>\r
218                         <parameter name="error-code" value="500" />\r
219                         <parameter name="error-message" value="Error getting GENERIC-RESOURCE-API:services" />\r
220                     </return>\r
221                 </outcome>\r
222             </get-resource>\r
223             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
224                 <parameter name="source" value="`$prop.honeycomb.url`"/>\r
225                 <parameter name="outputPath" value="tmp.honeycomb.url"/>\r
226                 <parameter name="target" value="{honeycomb-instance-ip}"/>\r
227                 <parameter name="replacement" value="`$brg-ar.allotted-resource-data.brg-topology.brg-assignments.vg-mgmt-ip`"/>\r
228             </execute>\r
229             <set>\r
230                 <parameter name='tmp.tunnel-name' value="`'vxlanTun' + $brg-ar.allotted-resource-data.brg-topology.brg-assignments.vgmux-bearer-ip` " />\r
231             </set>\r
232             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
233                 <parameter name="source" value="`$prop.restapi.vpp-honeycomb`"/>\r
234                 <parameter name="outputPath" value="tmp.vpp-honeycomb-url"/>\r
235                 <parameter name="target" value="{tunnel-name}"/>\r
236                 <parameter name="replacement" value="`$tmp.tunnel-name`"/>\r
237             </execute>\r
238             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
239                 <parameter name='restapiUrl' value='`$tmp.honeycomb.url + $tmp.vpp-honeycomb-url`' />\r
240                 <parameter name='restapiUser' value='`$prop.honeycomb.user`' />\r
241                 <parameter name='restapiPassword' value='`$prop.honeycomb.pwd`' />\r
242                 <parameter name='format' value='json' />\r
243                 <parameter name='httpMethod' value='DELETE' />\r
244                 <parameter name="responsePrefix" value="honeycomb-vnf" />\r
245                 <outcome value='success'>\r
246                     <block></block>\r
247                 </outcome>\r
248                 <outcome value='failure'>\r
249                     <return status='failure'>\r
250                         <parameter name='ack-final' value='Y'/>\r
251                         <parameter name="error-code" value="500" />\r
252                         <parameter name="error-message" value="Error setting up vxlan tunnel" />\r
253                     </return>\r
254                 </outcome>\r
255                 <outcome value='not-found'>\r
256                     <return status='failure'>\r
257                         <parameter name='ack-final' value='Y'/>\r
258                         <parameter name="error-code" value="500" />\r
259                         <parameter name="error-message" value="Error setting up vxlan tunnel" />\r
260                     </return>\r
261                 </outcome>\r
262             </execute>\r
263             <set>\r
264                 <parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />\r
265                 <parameter name='brg-object-path' value="`$tmp.ar.self-link`"/>\r
266                 <parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $brg-topology-operation-input.service-information.service-instance-id + '/service-data/service-topology/'`"/>\r
267             </set>\r
268             <return status='success'>\r
269                 <parameter name="ack-final-indicator" value="Y" />\r
270                 <parameter name="error-code" value="200" />\r
271                 <parameter name="error-message" value="`$error-message`" />\r
272             </return>\r
273         </block>\r
274     </method>\r
275 </service-logic>