130cc175c495c81f4ae4ba93479b44aa30f3c149
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_tunnelxconn-topology-operation-create.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}'><method rpc='tunnelxconn-topology-operation-create' mode='sync'>\r
2 <block atomic="true"><set>\r
3 <parameter name='tmp.ar.allotted-resource-id' value='`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-id`' />\r
4 <parameter name='tmp.ar.parent-service-instance-id' value='`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />\r
5 \r
6 \r
7 </set><set>\r
8 <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/'\r
9  + $tmp.ar.allotted-resource-id\r
10  + '/allotted-resource-data/tunnelxconn-topology/'` " />\r
11 \r
12 </set><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><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
16     <parameter name="source" value="`$prop.restapi.tx-allottedresource`"/>\r
17     <parameter name="outputPath" value="tmp.ar-url"/>\r
18     <parameter name="target" value="{allotted-resource-id}"/>\r
19     <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>\r
20 </execute><execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
21     <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
22     <parameter name='restapiUser' value='`$prop.controller.user`' />\r
23     <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
24     <parameter name='format' value='json' />\r
25     <parameter name='httpMethod' value='GET' />\r
26     <parameter name="responsePrefix" value="mdsal-ar" />\r
27 \r
28 <outcome value='success'>\r
29 <block atomic="true">\r
30 <set>\r
31 <parameter name='bk-tx-ar' value='$mdsal-ar.' />\r
32 </set><switch test='`$mdsal-ar.tunnelxconn-allotted-resource_length`'>\r
33 <outcome value='1'>\r
34 <block atomic='true'>\r
35 <set>\r
36 <parameter name='tx-ar.' value='$mdsal-ar.tunnelxconn-allotted-resource[0].' />\r
37 </set><switch test='`$tx-ar.allotted-resource-data.allotted-resource-oper-status.order-status`'>\r
38 <outcome value='PendingCreate'>\r
39 <block>\r
40 </block></outcome><outcome value='Other'>\r
41 <block>\r
42 </block></outcome></switch><set>\r
43 <parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$tx-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />\r
44 <parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$tx-ar.allotted-resource-status.rpc-action`' />\r
45 <parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$tx-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />\r
46 \r
47 </set></block></outcome></switch></block></outcome><outcome value='Other'>\r
48 <block atomic="true">\r
49 </block></outcome></execute><set>\r
50 <parameter name='tx-ar.allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />\r
51 <parameter name='tx-ar.allotted-resource-status.action' value="`$tunnelxconn-topology-operation-input.request-information.request-action` " />\r
52 <parameter name='tx-ar.allotted-resource-status.rpc-name' value="tunnelxconn-topology-operation" />\r
53 <parameter name='tx-ar.allotted-resource-status.rpc-action' value="`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-action` " />\r
54 <parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value="`$tunnelxconn-topology-operation-input.request-information.` " />\r
55 <parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value="`$tunnelxconn-topology-operation-input.sdnc-request-header.` " />\r
56 <parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value="`$tunnelxconn-topology-operation-input.service-information.` " />\r
57 <parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value="`$tunnelxconn-topology-operation-input.allotted-resource-information.` " />\r
58 <parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.tunnelxconn-request-input.' value="`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.` " /></set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >\r
59     <parameter name="outputPath" value="tmp.current-time" />\r
60 \r
61 </execute><set>\r
62 <parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='Created' />\r
63 <parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$tunnelxconn-topology-operation-input.request-information.request-action`' />\r
64 <parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-action`' />\r
65 <parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-request-id`' />\r
66 <parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />\r
67 </set><execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
68     <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.tx.templatefile`" />\r
69     <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
70     <parameter name='restapiUser' value='`$prop.controller.user`' />\r
71     <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
72     <parameter name='format' value='json' />\r
73     <parameter name='httpMethod' value='PUT' />\r
74     <parameter name="responsePrefix" value="mdsal-ar" />\r
75 \r
76 <outcome value='success'>\r
77 <block>\r
78 </block></outcome><outcome value='failure'>\r
79 <return status='failure'>\r
80         <parameter name='ack-final' value='Y'/>\r
81         <parameter name="error-code" value="500" />\r
82     <parameter name="error-message" value="Error updating md-sal for tunnelxconn-allotted-resource" />\r
83 </return></outcome><outcome value='not-found'>\r
84 <return status='failure'>\r
85         <parameter name='ack-final' value='Y'/>\r
86         <parameter name="error-code" value="500" />\r
87     <parameter name="error-message" value="Error updating md-sal for tunnelxconn-allotted-resource" />\r
88 </return></outcome></execute><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 = $tx-ar.allotted-resource-data.allotted-resource-operation-information.tunnelxconn-request-input.brg-wan-mac-address" pfx="tmp.brg-wan-ip" >\r
89 </get-resource><set>\r
90 <parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vbrg-wan-ip' value='`$tmp.brg-wan-ip.ip`' />\r
91 </set><set>\r
92 <parameter name='tmp.tunnel-vgMUX-vG-name' value="`'vxlanTun' + $tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vg-ip` " />\r
93 <parameter name='tmp.tunnel-vgMUX-vBRG-name' value="`'vxlanTun' + $tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vbrg-wan-ip` " />\r
94 </set><set>\r
95 <parameter name='tmp.search.parent-service-instance-id' value='`$tmp.ar.parent-service-instance-id`' />\r
96 </set><call module='GENERIC-RESOURCE-API' rpc='get-vnf-api-parent-instance' mode='sync' >\r
97 \r
98 </call><for index='paramidx' start='0' end='`$parent-service-instance.service-data.vnf-topology-information.vnf-parameters_length`' >\r
99 <!--\r
100 <for index='paramidx' start='0' end='`$parent-service-instance.vnf-topology-information.vnf-parameters_length`' >\r
101 --><switch test='`$parent-service-instance.service-data.vnf-topology-information.vnf-parameters[$paramidx].vnf-parameter-name == vgmux_private_ip_1`'>\r
102 <!--\r
103 <switch test='`$parent-service-instance.vnf-topology-information.vnf-parameters[$paramidx].vnf-parameter-name == vgmux_private_ip_1`'>\r
104 -->\r
105 \r
106 \r
107 <outcome value='true'>\r
108 <set>\r
109 <parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vgmux-mgmt-ip' value='`$parent-service-instance.service-data.vnf-topology-information.vnf-parameters[$paramidx].vnf-parameter-value`' />\r
110 <!--\r
111 <parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vgmux-mgmt-ip' value='`$parent-service-instance.vnf-topology-information.vnf-parameters[$paramidx].vnf-parameter-value`' />\r
112 \r
113 --></set></outcome></switch></for><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
114     <parameter name="source" value="`$prop.honeycomb.url`"/>\r
115     <parameter name="outputPath" value="tmp.honeycomb.url"/>\r
116     <parameter name="target" value="{honeycomb-instance-ip}"/>\r
117     <parameter name="replacement" value="`$tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vgmux-mgmt-ip`"/>\r
118 </execute><set>\r
119 <parameter name='tmp.tunnel-name' value="`$tmp.tunnel-vgMUX-vG-name` " />\r
120 <parameter name='tmp.tunnel-dest-ip' value="`$tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vg-ip` " />\r
121 <parameter name='tmp.tunnel-src-ip' value="`$tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vgmux-bearer-ip` " />\r
122 <parameter name='tmp.tunnel-vni' value="`$tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vni` " /></set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
123     <parameter name="source" value="`$prop.restapi.vpp-honeycomb`"/>\r
124     <parameter name="outputPath" value="tmp.vpp-honeycomb-url"/>\r
125     <parameter name="target" value="{tunnel-name}"/>\r
126     <parameter name="replacement" value="`$tmp.tunnel-name`"/>\r
127 </execute><execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
128     <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.vpp.vxlan-tunnel.templatefile`" />\r
129     <parameter name='restapiUrl' value='`$tmp.honeycomb.url + $tmp.vpp-honeycomb-url`' />\r
130     <parameter name='restapiUser' value='`$prop.honeycomb.user`' />\r
131     <parameter name='restapiPassword' value='`$prop.honeycomb.pwd`' />\r
132     <parameter name='format' value='json' />\r
133     <parameter name='httpMethod' value='PUT' />\r
134     <parameter name="responsePrefix" value="honeycomb-vnf" />\r
135 \r
136 <outcome value='success'>\r
137 <block>\r
138 </block></outcome><outcome value='failure'>\r
139 <return status='failure'>\r
140         <parameter name='ack-final' value='Y'/>\r
141         <parameter name="error-code" value="500" />\r
142     <parameter name="error-message" value="Error updating md-sal for tunnelxconn-allotted-resource" />\r
143 </return></outcome><outcome value='not-found'>\r
144 <return status='failure'>\r
145         <parameter name='ack-final' value='Y'/>\r
146         <parameter name="error-code" value="500" />\r
147     <parameter name="error-message" value="Error updating md-sal for tunnelxconn-allotted-resource" />\r
148 </return></outcome></execute><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
149 <parameter name='filename' value='/var/tmp/tunnel-xconn-create.log' />\r
150 </execute><set>\r
151 <parameter name='tmp.tunnel-name' value="`$tmp.tunnel-vgMUX-vBRG-name` " />\r
152 <parameter name='tmp.tunnel-dest-ip' value="`$tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vbrg-wan-ip` " />\r
153 <parameter name='tmp.tunnel-src-ip' value="`$tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vgmux-lan-ip` " />\r
154 <parameter name='tmp.tunnel-vni' value="`$tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vni` " /></set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
155     <parameter name="source" value="`$prop.restapi.vpp-honeycomb`"/>\r
156     <parameter name="outputPath" value="tmp.vpp-honeycomb-url"/>\r
157     <parameter name="target" value="{tunnel-name}"/>\r
158     <parameter name="replacement" value="`$tmp.tunnel-name`"/>\r
159 </execute><execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
160     <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.vpp.vxlan-tunnel.templatefile`" />\r
161     <parameter name='restapiUrl' value='`$tmp.honeycomb.url + $tmp.vpp-honeycomb-url`' />\r
162     <parameter name='restapiUser' value='`$prop.honeycomb.user`' />\r
163     <parameter name='restapiPassword' value='`$prop.honeycomb.pwd`' />\r
164     <parameter name='format' value='json' />\r
165     <parameter name='httpMethod' value='PUT' />\r
166     <parameter name="responsePrefix" value="honeycomb-vnf" />\r
167 \r
168 <outcome value='success'>\r
169 <block>\r
170 </block></outcome><outcome value='failure'>\r
171 <return status='failure'>\r
172         <parameter name='ack-final' value='Y'/>\r
173         <parameter name="error-code" value="500" />\r
174     <parameter name="error-message" value="Error updating md-sal for tunnelxconn-allotted-resource" />\r
175 </return></outcome><outcome value='not-found'>\r
176 <return status='failure'>\r
177         <parameter name='ack-final' value='Y'/>\r
178         <parameter name="error-code" value="500" />\r
179     <parameter name="error-message" value="Error updating md-sal for tunnelxconn-allotted-resource" />\r
180 </return></outcome></execute><set>\r
181 <parameter name='tmp.tunnel-name' value="`$tmp.tunnel-vgMUX-vG-name` " />\r
182 </set><execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
183     <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.vpp.xconnect.templatefile`" />\r
184     <parameter name='restapiUrl' value="`$tmp.honeycomb.url + $tmp.vpp-honeycomb-url + '/v3po:l2' `" />\r
185     <parameter name='restapiUser' value='`$prop.honeycomb.user`' />\r
186     <parameter name='restapiPassword' value='`$prop.honeycomb.pwd`' />\r
187     <parameter name='format' value='json' />\r
188     <parameter name='httpMethod' value='PUT' />\r
189     <parameter name="responsePrefix" value="honeycomb-vnf" />\r
190 \r
191 <outcome value='success'>\r
192 <block>\r
193 </block></outcome><outcome value='failure'>\r
194 <return status='failure'>\r
195         <parameter name='ack-final' value='Y'/>\r
196         <parameter name="error-code" value="500" />\r
197     <parameter name="error-message" value="Error updating md-sal for tunnelxconn-allotted-resource" />\r
198 </return></outcome><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 tunnelxconn-allotted-resource" />\r
203 </return></outcome></execute><set>\r
204 <parameter name='tmp.tunnel-name' value="`$tmp.tunnel-vgMUX-vG-name` " /></set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
205     <parameter name="source" value="`$prop.restapi.vpp-honeycomb`"/>\r
206     <parameter name="outputPath" value="tmp.vpp-honeycomb-url"/>\r
207     <parameter name="target" value="{tunnel-name}"/>\r
208     <parameter name="replacement" value="`$tmp.tunnel-name`"/>\r
209 </execute><set>\r
210 <parameter name='tmp.tunnel-name' value="`$tmp.tunnel-vgMUX-vBRG-name` " />\r
211 </set><execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
212     <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.vpp.xconnect.templatefile`" />\r
213     <parameter name='restapiUrl' value="`$tmp.honeycomb.url + $tmp.vpp-honeycomb-url + '/v3po:l2' `" />\r
214     <parameter name='restapiUser' value='`$prop.honeycomb.user`' />\r
215     <parameter name='restapiPassword' value='`$prop.honeycomb.pwd`' />\r
216     <parameter name='format' value='json' />\r
217     <parameter name='httpMethod' value='PUT' />\r
218     <parameter name="responsePrefix" value="honeycomb-vnf" />\r
219 \r
220 <outcome value='success'>\r
221 <block>\r
222 </block></outcome><outcome value='failure'>\r
223 <return status='failure'>\r
224         <parameter name='ack-final' value='Y'/>\r
225         <parameter name="error-code" value="500" />\r
226     <parameter name="error-message" value="Error updating md-sal for tunnelxconn-allotted-resource" />\r
227 </return></outcome><outcome value='not-found'>\r
228 <return status='failure'>\r
229         <parameter name='ack-final' value='Y'/>\r
230         <parameter name="error-code" value="500" />\r
231     <parameter name="error-message" value="Error updating md-sal for tunnelxconn-allotted-resource" />\r
232 </return></outcome></execute><set>\r
233 <parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />\r
234 <parameter name='tunnelxconn-object-path' value="`$tmp.ar.self-link`"/>\r
235 <parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
236  + $tunnelxconn-topology-operation-input.service-information.service-instance-id\r
237  + '/service-data/service-topology/'`"/>\r
238  \r
239 </set><return status='success'>\r
240 <parameter name="ack-final-indicator" value="Y" />\r
241 <parameter name="error-code" value="200" />\r
242 <parameter name="error-message" value="`$error-message`" />\r
243 </return></block></method></service-logic>\r