Service Logic (DG/Templates) for SDNR OOF PCI POC
[ccsdk/distribution.git] / platform-logic / oofpcipoc-api / src / main / xml / oofpcipoc-api_configuration-phy-cell-id.xml
1 <service-logic
2     xmlns='http://www.onap.org/sdnc/svclogic'
3     xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='oofpcipoc-api' version='0.4.2-SNAPSHOT'>
4     <method rpc='configuration-phy-cell-id' mode='sync'>
5         <block atomic='true'>
6             <for index='idx' start='0' end="`$configuration-phy-cell-id-input.fap-service-number-of-entries`" >
7                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
8                     <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
9                     <parameter name="level" value="info" />
10                     <parameter name="field1" value="Input RPC Payload request. FAP #:  "/>
11                     <parameter name="field2" value="`$idx`"/>
12                     <parameter name="field3" value="`$configuration-phy-cell-id-input.fap-service[$idx].alias`"/>
13                     <parameter name="field4" value="`$configuration-phy-cell-id-input.fap-service[$idx].cid`"/>
14                     <parameter name="field5" value="`$configuration-phy-cell-id-input.fap-service[$idx].phy-cell-id-in-use`"/>
15                     <parameter name="field6" value="`$configuration-phy-cell-id-input.fap-service[$idx].pnf-name`"/>
16                 </record>
17             </for>
18             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
19                 <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
20                 <parameter name="level" value="info" />
21                 <parameter name="field1" value="RPC to Configure PCI INVOKED. Number of Cells to configure: "/>
22                 <parameter name="field2" value="`$configuration-phy-cell-id-input.fap-service-number-of-entries`"/>
23             </record>
24             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
25                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/sdnr-oofpcipoc-api-dg.properties' />
26                 <parameter name='contextPrefix' value='prop' />
27             </execute>
28             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
29                 <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
30                 <parameter name="level" value="info" />
31                 <parameter name="field1" value="Properties read .. pci patch target"/>
32                 <parameter name="field2" value="`$prop.oofpcipoc.patch.pci.target`"/>
33                 <parameter name="field3" value="`$prop.controller.user`"/>
34                 <parameter name="field4" value="`$prop.controller.pwd`"/>
35                 <parameter name="field5" value="`$prop.controller.url`"/>
36             </record>
37             <for index='idx' start='0' end="`$configuration-phy-cell-id-input.fap-service-number-of-entries`" >
38                 <block atomic='true'>
39                     <set>
40                         <parameter name="tmp.alias" value="`$configuration-phy-cell-id-input.fap-service[$idx].alias`"/>
41                         <parameter name="tmp.cid" value="`$configuration-phy-cell-id-input.fap-service[$idx].cid`"/>
42                         <parameter name="tmp.phy-cell-id-in-use" value="`$configuration-phy-cell-id-input.fap-service[$idx].phy-cell-id-in-use`"/>
43                         <parameter name="tmp.pnf-name" value="`$configuration-phy-cell-id-input.fap-service[$idx].pnf-name`"/>
44                     </set>
45                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
46                         <parameter name="source" value="`$prop.restapi.fap-service`"/>
47                         <parameter name="outputPath" value="tmp.fap-service-url"/>
48                         <parameter name="target" value="{alias}"/>
49                         <parameter name="replacement" value="`$tmp.alias`"/>
50                     </execute>
51                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
52                         <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
53                         <parameter name="level" value="info" />
54                         <parameter name="field1" value="Setting variables for GET operation"/>
55                         <parameter name="field2" value="`$tmp.fap-service-url`"/>
56                         <parameter name="field3" value="`$tmp.alias`"/>
57                         <parameter name="field4" value="`$tmp.cid`"/>
58                         <parameter name="field5" value="`$tmp.phy-cell-id-in-use`"/>
59                         <parameter name="field6" value="`$tmp.pnf-name`"/>
60                     </record>
61                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
62                         <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.fap-service-url`"/>
63                         <parameter name="restapiUser" value="`$prop.controller.user`" />
64                         <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
65                         <parameter name="format" value="json"/>
66                         <parameter name="httpMethod" value="GET"/>
67                         <parameter name="responsePrefix" value="oofpcigetfapservice"/>
68                         <parameter name='contentType' value='application/json' />
69                         <outcome value='failure'>
70                             <return status='failure'>
71                                 <parameter name='ack-final' value='Y'/>
72                                 <parameter name="error-code" value="500" />
73                                 <parameter name="error-message" value="Error executing Get odutopo node details rest api" />
74                             </return>
75                         </outcome>
76                         <outcome value='success'>
77                             <block>
78                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
79                                     <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
80                                     <parameter name="level" value="info" />
81                                     <parameter name="field1" value="Initial FAP Service PCI PARMS"/>
82                                     <parameter name="field2" value="`$oofpcigetfapservice.fap-service[0].alias`"/>
83                                     <parameter name="field3" value="`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.phy-cell-id-in-use`"/>
84                                     <parameter name="field4" value="`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.pnf-name`"/>
85                                 </record>
86                             </block>
87                         </outcome>
88                     </execute>
89                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
90                         <parameter name="source" value="`$prop.restapi.x-005b9-lte`"/>
91                         <parameter name="outputPath" value="tmp.oofpcipoc.patch.pci.url"/>
92                         <parameter name="target" value="{alias}"/>
93                         <parameter name="replacement" value="`$tmp.alias`"/>
94                     </execute>
95                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
96                         <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
97                         <parameter name="level" value="info" />
98                         <parameter name="field1" value="URL and Target for PCI patch URL"/>
99                         <parameter name='field2' value="`$prop.controller.url + $tmp.oofpcipoc.patch.pci.url`" />
100                         <parameter name='field3' value="`$prop.oofpcipoc.patch.pci.target`" />
101                     </record>
102                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
103                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-pci-patch.json'`" />
104                         <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.oofpcipoc.patch.pci.url`"/>
105                         <parameter name="restapiUser" value="`$prop.controller.user`" />
106                         <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
107                         <parameter name="httpMethod" value="PATCH"/>
108                         <parameter name="responsePrefix" value="oofpci-patch-response"/>
109                         <parameter name='contentType' value='application/yang.patch+json' />
110                         <parameter name='format' value='json' />
111                         <parameter name='accept' value='application/yang.patch-status+json' />
112                         <outcome value='failure'>
113                             <block>
114                                 <return status='failure'>
115                                     <parameter name='ack-final' value='Y'/>
116                                     <parameter name="error-code" value="500" />
117                                     <parameter name="error-message" value="Error executing patch rest api" />
118                                 </return>
119                             </block>
120                         </outcome>
121                         <outcome value='success'>
122                             <block>
123                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
124                                     <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
125                                     <parameter name="level" value="info" />
126                                     <parameter name="field1" value="PUT PCI POC FAP SERVICE. Reconfigured "/>
127                                 </record>
128                             </block>
129                         </outcome>
130                     </execute>
131                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
132                         <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.fap-service-url`"/>
133                         <parameter name="restapiUser" value="`$prop.controller.user`" />
134                         <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
135                         <parameter name="format" value="json"/>
136                         <parameter name="httpMethod" value="GET"/>
137                         <parameter name="responsePrefix" value="oofpcigetfapservice"/>
138                         <parameter name='contentType' value='application/json' />
139                         <outcome value='failure'>
140                             <return status='failure'>
141                                 <parameter name='ack-final' value='Y'/>
142                                 <parameter name="error-code" value="500" />
143                                 <parameter name="error-message" value="Error executing patch rest api" />
144                             </return>
145                         </outcome>
146                         <outcome value='success'>
147                             <block>
148                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
149                                     <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
150                                     <parameter name="level" value="info" />
151                                     <parameter name="field1" value="Post Reconfig FAP Service PCI PARMS"/>
152                                     <parameter name="field2" value="`$oofpcigetfapservice.fap-service[0].alias`"/>
153                                     <parameter name="field3" value="`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.phy-cell-id-in-use`"/>
154                                     <parameter name="field4" value="`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.pnf-name`"/>
155                                 </record>
156                             </block>
157                         </outcome>
158                     </execute>
159                 </block>
160             </for>
161             <return status='success'>
162                 <parameter name="ack-final-indicator" value="Y" />
163                 <parameter name="error-code" value="200" />
164                 <parameter name="error-message" value="SUCCESSFUL Execution" />
165             </return>
166         </block>
167     </method>
168 </service-logic>