Update brg topo activate DG
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_brg-topology-operation-activate.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-activate' 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='Active' />\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 = $service-data.service-information.global-customer-id AND\r
86                         service-subscription.service-type = $service-data.service-information.subscription-service-type AND\r
87                         service-instance.service-instance-id = $service-data.service-information.service-instance-id AND\r
88                         allotted-resource.id = $tmp.ar.allotted-resource-id"\r
89                     pfx='pfx' local-only='false' force='false'>\r
90                 <parameter name="operational-status" value="in-service-path" />\r
91                 <outcome value='failure'>\r
92                     <return status='failure'>\r
93                         <parameter name='ack-final' value='Y'/>\r
94                         <parameter name="error-code" value="500" />\r
95                         <parameter name="error-message" value="AAI failed" />\r
96                     </return>\r
97                 </outcome>\r
98                 <outcome value='not-found'>\r
99                     <return status='failure'>\r
100                         <parameter name='ack-final' value='Y'/>\r
101                         <parameter name="error-code" value="500" />\r
102                         <parameter name="error-message" value="AAI failed" />\r
103                     </return>\r
104                 </outcome>\r
105             </update>\r
106             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
107                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.brg.templatefile`" />\r
108                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
109                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
110                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
111                 <parameter name='format' value='json' />\r
112                 <parameter name='httpMethod' value='PUT' />\r
113                 <parameter name="responsePrefix" value="mdsal-ar" />\r
114                 <outcome value='success'>\r
115                     <block></block>\r
116                 </outcome>\r
117                 <outcome value='failure'>\r
118                     <return status='failure'>\r
119                         <parameter name='ack-final' value='Y'/>\r
120                         <parameter name="error-code" value="500" />\r
121                         <parameter name="error-message" value="Error updating md-sal for brg-allotted-resource" />\r
122                     </return>\r
123                 </outcome>\r
124                 <outcome value='not-found'>\r
125                     <return status='failure'>\r
126                         <parameter name='ack-final' value='Y'/>\r
127                         <parameter name="error-code" value="500" />\r
128                         <parameter name="error-message" value="Error updating md-sal for brg-allotted-resource" />\r
129                     </return>\r
130                 </outcome>\r
131             </execute>\r
132             <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
133             <set>\r
134                 <parameter name='brg-ar.allotted-resource-data.brg-topology.brg-assignments.vbrg-wan-ip' value='`$tmp.brg-wan-ip.ip`' />\r
135             </set>\r
136             <set>\r
137                 <parameter name='tmp.ar.consuming-service-instance-id' value='`$allotted-resource-data.brg-topology.allotted-resource-identifiers.consuming-service-instance-id`' />\r
138             </set>\r
139             <call module='GENERIC-RESOURCE-API' rpc='get-vgmux-lan-ip' mode='sync' ></call>\r
140             <set>\r
141                 <parameter name='brg-ar.allotted-resource-data.brg-topology.brg-assignments.vgmux-lan-ip' value='`$tmp.vgmux-lan-ip`' />\r
142             </set>\r
143             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
144                 <parameter name="source" value="`$prop.honeycomb.url`"/>\r
145                 <parameter name="outputPath" value="tmp.honeycomb.url"/>\r
146                 <parameter name="target" value="{honeycomb-instance-ip}"/>\r
147                 <parameter name="replacement" value="`$brg-ar.allotted-resource-data.brg-topology.brg-assignments.vbrg-wan-ip`"/>\r
148             </execute>\r
149             <set>\r
150                 <parameter name='tmp.tunnel-name' value="`'vxlanTun' + $brg-ar.allotted-resource-data.brg-topology.brg-assignments.vbrg-wan-ip` " />\r
151                 <parameter name='tmp.tunnel-dest-ip' value="`$brg-ar.allotted-resource-data.brg-topology.brg-assignments.vgmux-lan-ip` " />\r
152                 <parameter name='tmp.tunnel-src-ip' value="`$brg-ar.allotted-resource-data.brg-topology.brg-assignments.vbrg-wan-ip` " />\r
153                 <parameter name='tmp.tunnel-vni' value="`$brg-ar.allotted-resource-data.allotted-resource-operation-information.brg-request-input.vni` " />\r
154             </set>\r
155             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
156                 <parameter name="source" value="`$prop.restapi.vpp-honeycomb`"/>\r
157                 <parameter name="outputPath" value="tmp.vpp-honeycomb-url"/>\r
158                 <parameter name="target" value="{tunnel-name}"/>\r
159                 <parameter name="replacement" value="`$tmp.tunnel-name`"/>\r
160             </execute>\r
161             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
162                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.vpp.vxlan-tunnel.templatefile`" />\r
163                 <parameter name='restapiUrl' value='`$tmp.honeycomb.url + $tmp.vpp-honeycomb-url`' />\r
164                 <parameter name='restapiUser' value='`$prop.honeycomb.user`' />\r
165                 <parameter name='restapiPassword' value='`$prop.honeycomb.pwd`' />\r
166                 <parameter name='format' value='json' />\r
167                 <parameter name='httpMethod' value='PUT' />\r
168                 <parameter name="responsePrefix" value="honeycomb-vnf" />\r
169                 <outcome value='success'>\r
170                     <block></block>\r
171                 </outcome>\r
172                 <outcome value='failure'>\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 updating md-sal for brg-allotted-resource" />\r
177                     </return>\r
178                 </outcome>\r
179                 <outcome value='not-found'>\r
180                     <return status='failure'>\r
181                         <parameter name='ack-final' value='Y'/>\r
182                         <parameter name="error-code" value="500" />\r
183                         <parameter name="error-message" value="Error updating md-sal for brg-allotted-resource" />\r
184                     </return>\r
185                 </outcome>\r
186             </execute>\r
187             <set>\r
188                 <parameter name='tmp.bridge-domain' value="bridge-domain-10" />\r
189                 <parameter name='tmp.split-horizon-group' value="2" />\r
190             </set>\r
191             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
192                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.vpp.bridge-domain.templatefile`" />\r
193                 <parameter name='restapiUrl' value="`$tmp.honeycomb.url + $tmp.vpp-honeycomb-url + '/v3po:l2' `" />\r
194                 <parameter name='restapiUser' value='`$prop.honeycomb.user`' />\r
195                 <parameter name='restapiPassword' value='`$prop.honeycomb.pwd`' />\r
196                 <parameter name='format' value='json' />\r
197                 <parameter name='httpMethod' value='PUT' />\r
198                 <parameter name="responsePrefix" value="honeycomb-vnf" />\r
199                 <outcome value='success'>\r
200                     <block></block>\r
201                 </outcome>\r
202                 <outcome value='failure'>\r
203                     <return status='failure'>\r
204                         <parameter name='ack-final' value='Y'/>\r
205                         <parameter name="error-code" value="500" />\r
206                         <parameter name="error-message" value="Error updating md-sal for brg-allotted-resource" />\r
207                     </return>\r
208                 </outcome>\r
209                 <outcome value='not-found'>\r
210                     <return status='failure'>\r
211                         <parameter name='ack-final' value='Y'/>\r
212                         <parameter name="error-code" value="500" />\r
213                         <parameter name="error-message" value="Error updating md-sal for brg-allotted-resource" />\r
214                     </return>\r
215                 </outcome>\r
216             </execute>\r
217             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
218                 <parameter name="source" value="`$prop.restapi.vnf-api.service-information`"/>\r
219                 <parameter name="outputPath" value="tmp.vnf-api-url"/>\r
220                 <parameter name="target" value="{vnf-id}"/>\r
221                 <parameter name="replacement" value="`$brg-topology-operation-input.allotted-resource-data.brg-topology.brg-assignments.brg-vnf-id`"/>\r
222             </execute>\r
223             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
224                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vnf-api-url`' />\r
225                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
226                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
227                 <parameter name='format' value='json' />\r
228                 <parameter name='httpMethod' value='GET' />\r
229                 <parameter name="responsePrefix" value="service-data" />\r
230                 <outcome value='success'>\r
231                     <block atomic="true">\r
232                         <set>\r
233                             <parameter name='bk-service-data' value='$service-data.' />\r
234                         </set>\r
235                         <switch test='`$service-data.service-data_length`'>\r
236                             <outcome value='1'>\r
237                                 <block atomic='true'>\r
238                                     <set>\r
239                                         <parameter name='tmp.service-data.' value='$service-data.service-data[0].' />\r
240                                     </set>\r
241                                     <switch test='`$tmp.service-data.order-status`'>\r
242                                         <outcome value='Created'>\r
243                                             <block></block>\r
244                                         </outcome>\r
245                                         <outcome value='Other'>\r
246                                             <block></block>\r
247                                         </outcome>\r
248                                     </switch>\r
249                                 </block>\r
250                             </outcome>\r
251                         </switch>\r
252                     </block>\r
253                 </outcome>\r
254                 <outcome value='Other'>\r
255                     <block atomic="true"></block>\r
256                 </outcome>\r
257             </execute>\r
258             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
259                 <parameter name="source" value="`$prop.restapi.services`"/>\r
260                 <parameter name="outputPath" value="tmp.services-url"/>\r
261                 <parameter name="target" value="{service-instance-id}"/>\r
262                 <parameter name="replacement" value="`$tmp.service-data.service-information.service-instance-id`"/>\r
263             </execute>\r
264             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
265                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.services.templatefile`" />\r
266                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.services-url`' />\r
267                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
268                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
269                 <parameter name='format' value='json' />\r
270                 <parameter name='httpMethod' value='PUT' />\r
271                 <parameter name="responsePrefix" value="mdsal-ar" />\r
272                 <outcome value='success'>\r
273                     <block></block>\r
274                 </outcome>\r
275                 <outcome value='failure'>\r
276                     <return status='failure'>\r
277                         <parameter name='ack-final' value='Y'/>\r
278                         <parameter name="error-code" value="500" />\r
279                         <parameter name="error-message" value="Error updating md-sal for brg-allotted-resource" />\r
280                     </return>\r
281                 </outcome>\r
282                 <outcome value='not-found'>\r
283                     <return status='failure'>\r
284                         <parameter name='ack-final' value='Y'/>\r
285                         <parameter name="error-code" value="500" />\r
286                         <parameter name="error-message" value="Error updating md-sal for brg-allotted-resource" />\r
287                     </return>\r
288                 </outcome>\r
289             </execute>\r
290             <set>\r
291                 <parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />\r
292                 <parameter name='brg-object-path' value="`$tmp.ar.self-link`"/>\r
293                 <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
294             </set>\r
295             <return status='success'>\r
296                 <parameter name="ack-final-indicator" value="Y" />\r
297                 <parameter name="error-code" value="200" />\r
298                 <parameter name="error-message" value="`$error-message`" />\r
299             </return>\r
300         </block>\r
301     </method>\r
302 </service-logic>