Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_bbs-access-connectivity-vnf-topology-operation-create-huawei.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='GENERIC-RESOURCE-API' version='${project.version}'>
4     <method rpc='bbs-access-connectivity-vnf-topology-operation-create-huawei' mode='sync'>
5         <block atomic="true">
6             <call module='GENERIC-RESOURCE-API' rpc='validate-bbs-vnf-input-parameters' mode='sync' ></call>
7             <set>
8                 <parameter name='vnf-input-parameters.' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.`' />
9                 <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value='https://172.30.0.55:26335' />
10                 <parameter name='prop.bbs.HsiPackage' value='50M' />
11                 <parameter name='prop.bbs.HsiType' value='IPoE' />
12             </set>
13             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
14                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
15                 <parameter name='contextPrefix' value='prop' />
16             </execute>
17             <for index='idx' start='0' end='`$vnf-input-parameters.param_length`' >
18                 <block>
19                     <switch test="`$vnf-input-parameters.param[$idx].name == 'remote_id'`">
20                         <outcome value='true'>
21                             <switch test='`$vnf-input-parameters.param[$idx].value`'>
22                                 <outcome value=''>
23                                     <return status='failure'>
24                                         <parameter name='ack-final' value='Y'/>
25                                         <parameter name="error-code" value="500" />
26                                         <parameter name="error-message" value="`$vnf-input-parameters.param[$idx].name  +' value is null, please check it.'`" />
27                                     </return>
28                                 </outcome>
29                                 <outcome value='Other'>
30                                     <set>
31                                         <parameter name='prop.bbs.remote_id' value='`$vnf-input-parameters.param[$idx].value`' />
32                                     </set>
33                                 </outcome>
34                             </switch>
35                         </outcome>
36                     </switch>
37                     <switch test="`$vnf-input-parameters.param[$idx].name == 'ONTSN'`">
38                         <outcome value='true'>
39                             <switch test='`$vnf-input-parameters.param[$idx].value`'>
40                                 <outcome value=''>
41                                     <return status='failure'>
42                                         <parameter name='ack-final' value='Y'/>
43                                         <parameter name="error-code" value="500" />
44                                         <parameter name="error-message" value="`$vnf-input-parameters.param[$idx].name  +' value is null, please check it.'`" />
45                                     </return>
46                                 </outcome>
47                                 <outcome value='Other'>
48                                     <set>
49                                         <parameter name='prop.bbs.ONTSN' value='`$vnf-input-parameters.param[$idx].value`' />
50                                     </set>
51                                 </outcome>
52                             </switch>
53                         </outcome>
54                     </switch>
55                     <switch test="`$vnf-input-parameters.param[$idx].name == 'CVLAN'`">
56                         <outcome value='true'>
57                             <switch test='`$vnf-input-parameters.param[$idx].value`'>
58                                 <outcome value=''>
59                                     <return status='failure'>
60                                         <parameter name='ack-final' value='Y'/>
61                                         <parameter name="error-code" value="500" />
62                                         <parameter name="error-message" value="`$vnf-input-parameters.param[$idx].name  +' value is null, please check it.'`" />
63                                     </return>
64                                 </outcome>
65                                 <outcome value='Other'>
66                                     <set>
67                                         <parameter name='prop.bbs.CVLAN' value='`$vnf-input-parameters.param[$idx].value`' />
68                                     </set>
69                                 </outcome>
70                             </switch>
71                         </outcome>
72                     </switch>
73                     <switch test="`$vnf-input-parameters.param[$idx].name == 'SVLAN'`">
74                         <outcome value='true'>
75                             <switch test='`$vnf-input-parameters.param[$idx].value`'>
76                                 <outcome value=''>
77                                     <return status='failure'>
78                                         <parameter name='ack-final' value='Y'/>
79                                         <parameter name="error-code" value="500" />
80                                         <parameter name="error-message" value="`$vnf-input-parameters.param[$idx].name  +' value is null, please check it.'`" />
81                                     </return>
82                                 </outcome>
83                                 <outcome value='Other'>
84                                     <set>
85                                         <parameter name='prop.bbs.SVLAN' value='`$vnf-input-parameters.param[$idx].value`' />
86                                     </set>
87                                 </outcome>
88                             </switch>
89                         </outcome>
90                     </switch>
91                 </block>
92             </for>
93             <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
94                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/bbs-token-template.json'`"/>
95                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url+'/rest/plat/smapp/v1/oauth/token'`"/>
96                 <parameter name="format" value="json"/>
97                 <parameter name="httpMethod" value="put"/>
98                 <parameter name="responsePrefix" value="token-result"/>
99                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
100                 <parameter name="trustStorePassword" value="adminadmin"/>
101                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
102                 <parameter name="keyStorePassword" value="adminadmin"/>
103                 <!--<parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url+'/rest/plat/smapp/v1/oauth/token'`"/>-->
104                 <outcome value='success'>
105                     <switch test='`$token-result.accessSession`'>
106                         <outcome value='Other'>
107                             <set>
108                                 <parameter name='prop.sdncRestApi.token_id' value='`$token-result.accessSession`' />
109                             </set>
110                         </outcome>
111                         <outcome value=''>
112                             <return status='failure'>
113                                 <parameter name='ack-final' value='Y'/>
114                                 <parameter name="error-code" value="500" />
115                                 <parameter name="error-message" value="Error executing queryTokenID,vaule is null" />
116                             </return>
117                         </outcome>
118                     </switch>
119                 </outcome>
120                 <outcome value='failure'>
121                     <return status='failure'>
122                         <parameter name='ack-final' value='Y'/>
123                         <parameter name="error-code" value="500" />
124                         <parameter name="error-message" value="Error failed to call queryTokenID" />
125                     </return>
126                 </outcome>
127             </execute>
128             <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
129                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/bbs-access-connectivity-create.json'`" />
130                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/ws/rest/1002/FanOpenAPI/ActiveOnt'`" />
131                 <parameter name="contentType" value="application/json"/>
132                 <parameter name="httpMethod" value="post"/>
133                 <parameter name="responsePrefix" value="service-result"/>
134                 <parameter name="customHttpHeaders" value="`'X-Auth-Token=' + $prop.sdncRestApi.token_id`"/>
135                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
136                 <parameter name="trustStorePassword" value="adminadmin"/>
137                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
138                 <parameter name="keyStorePassword" value="adminadmin"/>
139                 <!--<parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/ws/rest/1002/FanOpenAPI/ActiveOnt'`" />-->
140                 <outcome value='failure'>
141                     <return status='failure'>
142                         <parameter name='ack-final' value='Y'/>
143                         <parameter name="error-code" value="500" />
144                         <parameter name="error-message" value="Error failed to call  createAccessConnectivityService" />
145                     </return>
146                 </outcome>
147                 <outcome value='success'>
148                     <switch test="`$service-result.errors.error[0].error-message`">
149                         <outcome value='Other'>
150                             <return status='failure'>
151                                 <parameter name='ack-final' value='Y'/>
152                                 <parameter name="error-code" value="500" />
153                                 <parameter name="error-message" value="`'Error createAccessConnectivityService return: '+$service-result.errors.error[0].error-message`" />
154                             </return>
155                         </outcome>
156                         <outcome value=''>
157                             <block>
158                                 <set>
159                                     <parameter name='prop.bbs.serviceID' value="`$service-result.accessE2Eservice.serviceID`"/>
160                                 </set>
161                             </block>
162                         </outcome>
163                     </switch>
164                 </outcome>
165             </execute>
166             <block>
167                 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID">
168                     <parameter name="ctx-destination" value="prop.random-data"/>
169                     <outcome value='success'>
170                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >
171                             <parameter name="ctx_memory_result_key" value="prop.random-data-list"/>
172                             <parameter name="original_string" value="`$prop.random-data`"/>
173                             <parameter name="regex" value="-"/>
174                             <outcome value='success'></outcome>
175                         </execute>
176                     </outcome>
177                 </execute>
178                 <set>
179                     <parameter name='vnf-id' value="`$prop.random-data-list[3]`"/>
180                     <parameter name='vnf-name' value="`'vnf-'+$prop.random-data-list[4]`"/>
181                     <!--<set>-->
182                     <!--<parameter name='vnf-id' value="123456789"/>-->
183                     <!--<parameter name='vnf-name' value="vnf_name"/>-->
184                 </set>
185                 <record plugin='org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder'>
186                     <parameter name='logger' value='message-log'/>
187                     <parameter name='field1' value='`$vnf-id`'/>
188                     <parameter name='field2' value='`$vnf-name`'/>
189                     <!--<record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">-->
190                     <!--   <parameter name="file" value="/root/logx.txt" />-->
191                     <!--   <parameter name="field1" value="deleteAccessConnectivityService success!" />-->
192                     <!--       <parameter name="field2" value='`$topology.networks.network[0].network-types`' />-->
193                 </record>
194                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="generic-vnf" key="generic-vnf.vnf-id = $vnf-id" >
195                     <parameter name= "vnf-id" value = "`$vnf-id`"/>
196                     <parameter name=  "vnf-name" value = "`$vnf-name`"/>
197                     <parameter name=  "vnf-type" value = "AccessConnectivity"/>
198                     <parameter name=  "service-id" value = "`$vnf-topology-operation-input.service-information.service-id`"/>
199                     <parameter name=  "prov-status" value = "ACTIVE"/>
200                     <parameter name=  "orchestration-status" value = "Active"/>
201                     <parameter name=  "is-closed-loop-disabled" value = "false" />
202                     <parameter name=  "model-invariant-id" value = "`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`"/>
203                     <parameter name=  "model-version-id" value = "`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`"/>
204                     <parameter name=  "model-customization-id" value = "`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`"/>
205                     <outcome value='failure'>
206                         <return status='failure'>
207                             <parameter name='ack-final' value='Y'/>
208                             <parameter name="error-code" value="500" />
209                             <parameter name="error-message" value="Failure calling AAI to save generic-vnf" />
210                         </return>
211                     </outcome>
212                     <outcome value='not-found'>
213                         <return status='failure'>
214                             <parameter name='ack-final' value='Y'/>
215                             <parameter name="error-code" value="500" />
216                             <parameter name="error-message" value="generic-vnf instance does not exist in AAI" />
217                         </return>
218                     </outcome>
219                     <outcome value='success'></outcome>
220                 </save>
221                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="service-instance:metadata"
222  key="service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-id  
223         AND customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id
224           AND service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type
225           AND service-instance.service-instance-id =  $vnf-topology-operation-input.service-information.service-instance-id"  force="true" pfx="tmp.AnAI-data"
226     >
227                     <parameter name="metadata.metadatum[0].metaname" value="remote-id" />
228                     <parameter name="metadata.metadatum[0].metaval" value="`$prop.bbs.remote_id`" />
229                     <parameter name="metadata.metadatum[1].metaname" value="controller-service-id" />
230                     <parameter name="metadata.metadatum[1].metaval" value="`$prop.bbs.serviceID`" />
231                     <parameter name="metadata.metadatum[2].metaname" value="cvlan" />
232                     <parameter name="metadata.metadatum[2].metaval" value="`$prop.bbs.CVLAN`" />
233                     <parameter name="metadata.metadatum[3].metaname" value="svlan" />
234                     <parameter name="metadata.metadatum[3].metaval" value="`$prop.bbs.SVLAN`" />
235                     <parameter name="metadata.metadatum[4].metaname" value="expected-ont-id" />
236                     <parameter name="metadata.metadatum[4].metaval" value="`$prop.bbs.ONTSN`" />
237                     <!--<parameter name="metadata.metadatum[5].metaname" value="rgw-mac-address" />-->
238                     <!--<parameter name="metadata.metadatum[5].metaval" value="`$prop.bbs.mac`" />-->
239                     <outcome value='failure'>
240                         <return status='failure'>
241                             <parameter name='ack-final' value='Y'/>
242                             <parameter name="error-code" value="500" />
243                             <parameter name="error-message" value="Failure calling AAI to save metadatum" />
244                         </return>
245                     </outcome>
246                     <outcome value='not-found'>
247                         <return status='failure'>
248                             <parameter name='ack-final' value='Y'/>
249                             <parameter name="error-code" value="500" />
250                             <parameter name="error-message" value="metadatum instance does not exist in AAI" />
251                         </return>
252                     </outcome>
253                     <outcome value='success'></outcome>
254                 </save>
255                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="service-instance:relationship-list" 
256       key="service-instance.service-instance-id =  $vnf-topology-operation-input.service-information.service-id
257          AND customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id
258          AND service-subscription.service-type =  $vnf-topology-operation-input.service-information.subscription-service-type 
259          AND service-instance.service-instance-id =  $vnf-topology-operation-input.service-information.service-instance-id" force="true" pfx="tmp.AnAI-data">
260                     <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />
261                     <parameter name="relationship-list.relationship[0].related-link" value="`'/network/generic-vnfs/generic-vnf/' + $vnf-id`" />
262                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="generic-vnf.vnf-id" />
263                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$vnf-id`" />
264                     <outcome value='failure'>
265                         <return status='failure'>
266                             <parameter name='ack-final' value='Y'/>
267                             <parameter name="error-code" value="500" />
268                             <parameter name="error-message" value="Failure calling AAI to save metadatum" />
269                         </return>
270                     </outcome>
271                     <outcome value='not-found'>
272                         <return status='failure'>
273                             <parameter name='ack-final' value='Y'/>
274                             <parameter name="error-code" value="500" />
275                             <parameter name="error-message" value="metadatum instance does not exist in AAI" />
276                         </return>
277                     </outcome>
278                     <outcome value='success'></outcome>
279                 </save>
280             </block>
281             <return status='success'>
282                 <parameter name="ack-final-indicator" value="Y" />
283                 <parameter name="error-code" value="200" />
284                 <parameter name="error-message" value="`$error-message`" />
285             </return>
286         </block>
287     </method>
288 </service-logic>