Few modifications in DataChange DGs
[sdnc/oam.git] / platform-logic / datachange / src / main / xml / DataChange_msa-update-network-to-aai.xml
1 <service-logic\r
2     xmlns='http://www.onap.org/sdnc/svclogic'\r
3     xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='DataChange' version='${project.version}'>\r
4     <method rpc='msa-update-network-to-aai' mode='sync'>\r
5         <block atomic='true'>\r
6             <switch test="`$networks.network-id`">\r
7                 <outcome value='otn-topology'>\r
8                     <block atomic='true'>\r
9                         <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='network-resource'  \r
10      key='network-resource.network-id = $networks.network-id' >\r
11                             <parameter name='network-id' value='`$networks.network-id`' />\r
12                             <parameter name='network-type' value='`$networks.network-types`' />\r
13                         </save>\r
14                         <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='esr-thirdparty-sdnc:relationship-list' \r
15       key='esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id' \r
16       force="true" pfx="tmp.AnAI-data">\r
17                             <parameter name="relationship-list.relationship[0].related-to" value="network-resource" />\r
18                             <parameter name="relationship-list.relationship[0].related-link" value="`'/network/network-resources/network-resource/' + $networks.network-id`" />\r
19                             <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="network-resource.network-id" />\r
20                             <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$networks.network-id`" />\r
21                         </save>\r
22                         <set>\r
23                             <parameter name='controller_id' value="`$prop.sdncRestApi.type + '_' + $prop.sdncRestApi.thirdpartySdnc.url + '_' + $prop.sdncRestApi.thirdpartySdnc.id`" />\r
24                         </set>\r
25                         <for index='nidx' start='0' end='`$networks.node_length`' >\r
26                             <set>\r
27                                 <parameter name='node.' value='`$networks.node[$nidx].`' />\r
28                             </set>\r
29                             <switch test="`$node.node-type`">\r
30                                 <outcome value='SWITCH'>\r
31                                     <block atomic='true'>\r
32                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\r
33                                             <parameter name="ctx-destination" value="pnfname"/>\r
34                                         </execute>\r
35                                         <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf'\r
36 key='pnf.pnf-name = $pnfname' >\r
37                                             <parameter name='pnf-name' value='`$pnfname`' />\r
38                                             <parameter name='pnf-id' value='`$node.node-id`' />\r
39                                             <parameter name='operational-status' value='`$node.node-status`' />\r
40                                             <parameter name='in-maint' value='true' />\r
41                                             <parameter name='equip-type' value='`$node.node-type`' />\r
42                                         </save>\r
43                                         <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' \r
44       key='pnf.pnf-name = $pnfname' force="true" pfx="tmp.AnAI-data">\r
45                                             <parameter name="relationship-list.relationship[0].related-to" value="network-resource" />\r
46                                             <parameter name="relationship-list.relationship[0].related-link" value="`'/network/network-resources/network-resource/' + $networks.network-id`" />\r
47                                             <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="network-resource.network-id" />\r
48                                             <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$networks.network-id`" />\r
49                                         </save>\r
50                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
51                                             <parameter name="original_string" value='`$node.node-id`'/>\r
52                                             <parameter name="regex" value="-"/>\r
53                                             <parameter name="ctx_memory_result_key" value="param-prefix1"/>\r
54                                         </execute>\r
55                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
56                                             <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/cxf/openroadm/v2/networks/openroadm-network/nodes/' + $param-prefix1[0]`"/>\r
57                                             <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>\r
58                                             <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>\r
59                                             <parameter name="format" value="json"/>\r
60                                             <parameter name="httpMethod" value="get"/>\r
61                                             <parameter name="responsePrefix" value="cllires"/>\r
62                                             <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.msa.jks"/>\r
63                                             <parameter name="trustStorePassword" value="adminadmin"/>\r
64                                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
65                                             <parameter name="keyStorePassword" value="adminadmin"/>\r
66                                             <outcome value='failure'>\r
67                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
68                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/optical-service-delete.log" />\r
69                                                     <parameter name="level" value="info" />\r
70                                                     <parameter name="field1" value="Getting clli failed"/>\r
71                                                 </record>\r
72                                             </outcome>\r
73                                             <outcome value='success'>\r
74                                                 <block atomic='true'>\r
75                                                     <set>\r
76                                                         <parameter name='clli' value='`$cllires.supporting-node[0].node-ref`' />\r
77                                                     </set>\r
78                                                 </block>\r
79                                             </outcome>\r
80                                         </execute>\r
81                                         <for index='tpidx' start='0' end='`$node.termination-point_length`' >\r
82                                             <set>\r
83                                                 <parameter name='speed-value' value='' />\r
84                                                 <parameter name='available-capacity' value='' />\r
85                                                 <parameter name='network-interface-type' value='' />\r
86                                             </set>\r
87                                             <set>\r
88                                                 <parameter name='tp.' value='`$node.termination-point[$tpidx].`' />\r
89                                             </set>\r
90                                             <switch test="`$tp.tp-type`">\r
91                                                 <outcome value='XPONDER-NETWORK'>\r
92                                                     <block atomic='true'>\r
93                                                         <set>\r
94                                                             <parameter name='network-interface-type' value='NNI' />\r
95                                                         </set>\r
96                                                     </block>\r
97                                                 </outcome>\r
98                                                 <outcome value='XPONDER-CLIENT'>\r
99                                                     <block atomic='true'>\r
100                                                         <set>\r
101                                                             <parameter name='network-interface-type' value='UNI' />\r
102                                                         </set>\r
103                                                     </block>\r
104                                                 </outcome>\r
105                                                 <outcome value='Other'></outcome>\r
106                                             </switch>\r
107                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\r
108                                                 <parameter name="ctx-destination" value="interfaceName"/>\r
109                                             </execute>\r
110                                             <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface' \r
111       key='pnf.pnf-name = $pnfname\r
112       AND p-interface.interface-name = $interfaceName' >\r
113                                                 <parameter name='interface-name' value='`$interfaceName`' />\r
114                                                 <parameter name='port-description' value='`$tp.tp-id`' />\r
115                                                 <parameter name='network-ref' value='`$tp.network-ref`' />\r
116                                                 <parameter name='interface-type' value='`$tp.tp-type`' />\r
117                                                 <parameter name='in-maint' value="true" />\r
118                                                 <parameter name='network-interface-type' value='`$network-interface-type`' />\r
119                                                 <parameter name='speed-units' value="Gbps" />\r
120                                                 <parameter name='speed-value' value='100' />\r
121                                                 <parameter name='available-capacity' value='100' />\r
122                                             </save>\r
123                                             <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="INSERT INTO TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE VALUES ( $interfaceName , $tp.tp-id , $pnfname , $node.node-id , $controller_id , '100' , $clli , null );"></save>\r
124                                         </for>\r
125                                     </block>\r
126                                 </outcome>\r
127                                 <outcome value='Other'></outcome>\r
128                             </switch>\r
129                         </for>\r
130                         <for index='lidx' start='0' end='`$networks.link_length`' >\r
131                             <set>\r
132                                 <parameter name='link.' value='`$networks.link[$lidx].`' />\r
133                             </set>\r
134                             <switch test="`$link.link-type`">\r
135                                 <outcome value='OTN-LINK'>\r
136                                     <block atomic='true'>\r
137                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
138                                             <parameter name="source" value="`$link.link-id`"/>\r
139                                             <parameter name="outputPath" value="tmp.link-id"/>\r
140                                             <parameter name="target" value="#"/>\r
141                                             <parameter name="replacement" value="_"/>\r
142                                         </execute>\r
143                                         <set>\r
144                                             <parameter name='interface1' value="`$link.source.source-tp`" />\r
145                                             <parameter name='interface2' value="`$link.destination.dest-tp`" />\r
146                                             <parameter name='pnf1' value="`$link.source.source-node`" />\r
147                                             <parameter name='pnf2' value="`$link.destination.dest-node`" />\r
148                                         </set>\r
149                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
150                                             <parameter name="file" value="/opt/opendaylight/current/data/log/optical-service-create.log" />\r
151                                             <parameter name="level" value="info" />\r
152                                             <parameter name="field1" value="`$pnf1`"/>\r
153                                             <parameter name="field2" value="`$interface1`"/>\r
154                                             <parameter name="field3" value="`$pnf2`"/>\r
155                                             <parameter name="field4" value="`$interface2`"/>\r
156                                         </record>\r
157                                         <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='logical-link'\r
158 key='logical-link.link-name = $tmp.link-id' >\r
159                                             <parameter name='link-name' value='`$tmp.link-id`' />\r
160                                             <parameter name='link-type' value='`$link.link-type`' />\r
161                                             <parameter name='in-maint' value='true' />\r
162                                             <parameter name='speed-value' value='100' />\r
163                                             <parameter name='speed-units' value='Gbps' />\r
164                                             <parameter name='operational-status' value='`$link.administrative-state`' />\r
165                                             <parameter name='available-capacity' value='100' />\r
166                                         </save>\r
167                                         <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \r
168 key='SELECT pnf_name, interface_name \r
169 from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE \r
170 WHERE pnf_id = $link.source.source-node\r
171 AND interface_id = $link.source.source-tp' \r
172 pfx='db.source'>\r
173                                             <outcome value='success'>\r
174                                                 <set>\r
175                                                     <parameter name='pnfname1' value='`$db.source.pnf-name`' />\r
176                                                     <parameter name='pinterface1' value='`$db.source.interface-name`' />\r
177                                                 </set>\r
178                                             </outcome>\r
179                                         </get-resource>\r
180                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
181                                             <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log" />\r
182                                             <parameter name="level" value="info" />\r
183                                             <parameter name="field1" value="print direct name"/>\r
184                                             <parameter name="field2" value="`$pnfname1`"/>\r
185                                         </record>\r
186                                         <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \r
187 key='SELECT pnf_name, interface_name \r
188 from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE \r
189 WHERE pnf_id = $link.destination.dest-node\r
190 AND interface_id = $link.destination.dest-tp' \r
191 pfx='db1.destination'>\r
192                                             <outcome value='success'>\r
193                                                 <set>\r
194                                                     <parameter name='pnfname2' value='`$db1.destination.pnf-name`' />\r
195                                                     <parameter name='pinterface2' value='`$db1.destination.interface-name`' />\r
196                                                 </set>\r
197                                             </outcome>\r
198                                         </get-resource>\r
199                                         <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='logical-link:relationship-list' \r
200       key='logical-link.link-name = $tmp.link-id' force="true" pfx="tmp.AnAI-data">\r
201                                             <parameter name="relationship-list.relationship[0].related-to" value="p-interface" />\r
202                                             <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $pnfname1 + '/p-interfaces/p-interface/' + $pinterface1 `" />\r
203                                             <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="pnf.pnf-name" />\r
204                                             <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$pnfname1`" />\r
205                                             <parameter name="relationship-list.relationship[1].related-to" value="p-interface" />\r
206                                             <parameter name="relationship-list.relationship[1].related-link" value="`'/network/pnfs/pnf/' + $pnfname2 + '/p-interfaces/p-interface/' + $pinterface2 `" />\r
207                                             <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="pnf.pnf-name" />\r
208                                             <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="`$pnfname2`" />\r
209                                         </save>\r
210                                     </block>\r
211                                 </outcome>\r
212                                 <outcome value='Other'></outcome>\r
213                             </switch>\r
214                         </for>\r
215                     </block>\r
216                 </outcome>\r
217                 <outcome value='Other'></outcome>\r
218             </switch>\r
219         </block>\r
220     </method>\r
221 </service-logic>