Update brg topo activate
[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             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
133                 <parameter name="source" value="`$prop.honeycomb.url`"/>\r
134                 <parameter name="outputPath" value="tmp.honeycomb.url"/>\r
135                 <parameter name="target" value="{honeycomb-instance-ip}"/>\r
136                 <parameter name="replacement" value="`$brg-ar.allotted-resource-data.brg-topology.brg-assignments.vbrg-wan-ip`"/>\r
137             </execute>\r
138             <set>\r
139                 <parameter name='tmp.tunnel-name' value="`'vxlanTun' + $brg-ar.allotted-resource-data.brg-topology.brg-assignments.vbrg-wan-ip` " />\r
140                 <parameter name='tmp.tunnel-dest-ip' value="`$brg-ar.allotted-resource-data.allotted-resource-operation-information.brg-request-input.vgmux-lan-ip` " />\r
141                 <parameter name='tmp.tunnel-src-ip' value="`$brg-ar.allotted-resource-data.allotted-resource-operation-information.brg-request-input.brg-wan-ip-address` " />\r
142                 <parameter name='tmp.tunnel-vni' value="`$brg-ar.allotted-resource-data.allotted-resource-operation-information.brg-request-input.vni` " />\r
143             </set>\r
144             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
145                 <parameter name="source" value="`$prop.restapi.vpp-honeycomb`"/>\r
146                 <parameter name="outputPath" value="tmp.vpp-honeycomb-url"/>\r
147                 <parameter name="target" value="{tunnel-name}"/>\r
148                 <parameter name="replacement" value="`$tmp.tunnel-name`"/>\r
149             </execute>\r
150             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
151                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.vpp.vxlan-tunnel.templatefile`" />\r
152                 <parameter name='restapiUrl' value='`$tmp.honeycomb.url + $tmp.vpp-honeycomb-url`' />\r
153                 <parameter name='restapiUser' value='`$prop.honeycomb.user`' />\r
154                 <parameter name='restapiPassword' value='`$prop.honeycomb.pwd`' />\r
155                 <parameter name='format' value='json' />\r
156                 <parameter name='httpMethod' value='PUT' />\r
157                 <parameter name="responsePrefix" value="honeycomb-vnf" />\r
158                 <outcome value='success'>\r
159                     <block></block>\r
160                 </outcome>\r
161                 <outcome value='failure'>\r
162                     <return status='failure'>\r
163                         <parameter name='ack-final' value='Y'/>\r
164                         <parameter name="error-code" value="500" />\r
165                         <parameter name="error-message" value="Error updating md-sal for brg-allotted-resource" />\r
166                     </return>\r
167                 </outcome>\r
168                 <outcome value='not-found'>\r
169                     <return status='failure'>\r
170                         <parameter name='ack-final' value='Y'/>\r
171                         <parameter name="error-code" value="500" />\r
172                         <parameter name="error-message" value="Error updating md-sal for brg-allotted-resource" />\r
173                     </return>\r
174                 </outcome>\r
175             </execute>\r
176             <set>\r
177                 <parameter name='tmp.bridge-domain' value="bridge-domain-10" />\r
178                 <parameter name='tmp.split-horizon-group' value="2" />\r
179             </set>\r
180             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
181                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.vpp.bridge-domain.templatefile`" />\r
182                 <parameter name='restapiUrl' value="`$tmp.honeycomb.url + $tmp.vpp-honeycomb-url + '/v3po:l2' `" />\r
183                 <parameter name='restapiUser' value='`$prop.honeycomb.user`' />\r
184                 <parameter name='restapiPassword' value='`$prop.honeycomb.pwd`' />\r
185                 <parameter name='format' value='json' />\r
186                 <parameter name='httpMethod' value='PUT' />\r
187                 <parameter name="responsePrefix" value="honeycomb-vnf" />\r
188                 <outcome value='success'>\r
189                     <block></block>\r
190                 </outcome>\r
191                 <outcome value='failure'>\r
192                     <return status='failure'>\r
193                         <parameter name='ack-final' value='Y'/>\r
194                         <parameter name="error-code" value="500" />\r
195                         <parameter name="error-message" value="Error updating md-sal for brg-allotted-resource" />\r
196                     </return>\r
197                 </outcome>\r
198                 <outcome value='not-found'>\r
199                     <return status='failure'>\r
200                         <parameter name='ack-final' value='Y'/>\r
201                         <parameter name="error-code" value="500" />\r
202                         <parameter name="error-message" value="Error updating md-sal for brg-allotted-resource" />\r
203                     </return>\r
204                 </outcome>\r
205             </execute>\r
206             <set>\r
207                 <parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />\r
208                 <parameter name='brg-object-path' value="`$tmp.ar.self-link`"/>\r
209                 <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
210             </set>\r
211             <return status='success'>\r
212                 <parameter name="ack-final-indicator" value="Y" />\r
213                 <parameter name="error-code" value="200" />\r
214                 <parameter name="error-message" value="`$error-message`" />\r
215             </return>\r
216         </block>\r
217     </method>\r
218 </service-logic>