NNI-based Service creation DG bug fixes (uni, l2vpn, and underlay resources).
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / sotn_nni / GENERIC-RESOURCE-API_sotn-create-otn-tunnel.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='GENERIC-RESOURCE-API' version='${project.version}'>\r
4     <method rpc='sotn-create-otn-tunnel' mode='sync'>\r
5         <block atomic="true">\r
6             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\r
7                 <parameter name='source' value='`$oof.vpn.tp-id`' />\r
8                 <parameter name='target' value='`$domain-A.network-id`' />\r
9                 <outcome value='true'>\r
10                     <block atomic="true">\r
11                         <set>\r
12                             <parameter name='otn-domain.' value='`$domain-A.`' />\r
13                         </set>\r
14                     </block>\r
15                 </outcome>\r
16                 <outcome value='false'>\r
17                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\r
18                         <parameter name='source' value='`$oof.vpn.tp-id`' />\r
19                         <parameter name='target' value='`$domain-B.network-id`' />\r
20                         <outcome value='true'>\r
21                             <block atomic="true">\r
22                                 <set>\r
23                                     <parameter name='$otn-domain.' value='`$domain-B.`' />\r
24                                 </set>\r
25                             </block>\r
26                         </outcome>\r
27                     </execute>\r
28                 </outcome>\r
29             </execute>\r
30             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\r
31                 <parameter name='source' value='`$oof.vpn.tp-id`' />\r
32                 <parameter name='target' value='`$tmp.oofsolutions-first-src-pnf-name`' />\r
33                 <outcome value='true'>\r
34                     <block atomic="true">\r
35                         <set>\r
36                             <parameter name='ietf-te_te.tunnels.tunnel[0].source' value='`$oof.vpn.access-node-id`' />\r
37                             <parameter name='ietf-te_te.tunnels.tunnel[0].destination' value='`$otn-domain.node-id`' />\r
38                             <parameter name='ietf-te_te.tunnels.tunnel[0].dst-ttp-id' value='`$otn-domain.ttp-id`' />\r
39                             <parameter name='ietf-te_te.tunnels.tunnel[0].ietf-otn-tunnel_dst-tpn' value='`$otn-domain.tpn`' />\r
40                             <parameter name='ietf-te_te.tunnels.tunnel[0].name' value='otntunnel-22' />\r
41                             <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.client-id' value='`$otn-domain.client-id`' />\r
42                             <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.provider-id' value='`$otn-domain.provider-id`' />\r
43                             <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.topology-id' value='`$otn-domain.te-topo-id`' />\r
44                             <parameter name='ietf-te_te.tunnels.tunnel[1].source' value='`$oof.vpn.access-node-id`' />\r
45                             <parameter name='ietf-te_te.tunnels.tunnel[1].destination' value='`$otn-domain.node-id`' />\r
46                             <parameter name='ietf-te_te.tunnels.tunnel[1].name' value='tptunnel-22' />\r
47                             <parameter name='ietf-te_te.tunnels.tunnel[1].dependency-tunnels.dependency-tunnel[0].name' value='otntunnel-22' />\r
48                             <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.client-id' value='`$oof.vpn.access-client-id`' />\r
49                             <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.provider-id' value='`$oof.vpn.access-provider-id`' />\r
50                             <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.topology-id' value='`$oof.vpn.access-topology-id`' />\r
51                         </set>\r
52                     </block>\r
53                 </outcome>\r
54                 <outcome value='false'>\r
55                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\r
56                         <parameter name='source' value='`$oof.vpn.tp-id`' />\r
57                         <parameter name='target' value='`$tmp.oofsolutions-last-dst-pnf-name`' />\r
58                         <outcome value='true'>\r
59                             <block atomic="true">\r
60                                 <set>\r
61                                     <parameter name='ietf-te_te.tunnels.tunnel[0].destination' value='`$oof.vpn.access-node-id`' />\r
62                                     <parameter name='ietf-te_te.tunnels.tunnel[0].source' value='`$otn-domain.node-id`' />\r
63                                     <parameter name='ietf-te_te.tunnels.tunnel[0].src-ttp-id' value='`$otn-domain.ttp-id`' />\r
64                                     <parameter name='ietf-te_te.tunnels.tunnel[0].ietf-otn-tunnel_src-tpn' value='`$otn-domain.tpn`' />\r
65                                     <parameter name='ietf-te_te.tunnels.tunnel[0].name' value='otntunnel-22' />\r
66                                     <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.client-id' value='`$otn-domain.client-id`' />\r
67                                     <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.provider-id' value='`$otn-domain.provider-id`' />\r
68                                     <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.topology-id' value='`$otn-domain.te-topo-id`' />\r
69                                     <parameter name='ietf-te_te.tunnels.tunnel[1].destination' value='`$oof.vpn.access-node-id`' />\r
70                                     <parameter name='ietf-te_te.tunnels.tunnel[1].source' value='`$otn-domain.node-id`' />\r
71                                     <parameter name='ietf-te_te.tunnels.tunnel[1].name' value='tptunnel-22' />\r
72                                     <parameter name='ietf-te_te.tunnels.tunnel[1].dependency-tunnels.dependency-tunnel[0].name' value='otntunnel-22' />\r
73                                     <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.client-id' value='`$oof.vpn.access-client-id`' />\r
74                                     <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.provider-id' value='`$oof.vpn.access-provider-id`' />\r
75                                     <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.topology-id' value='`$oof.vpn.access-topology-id`' />\r
76                                 </set>\r
77                             </block>\r
78                         </outcome>\r
79                     </execute>\r
80                 </outcome>\r
81             </execute>\r
82             <switch test="`$prop.sdncRestApi.token_id`">\r
83                 <outcome value=''>\r
84                     <execute plugin='org.onap.ccsdk.sli.plugins.restconfapicall.RestconfApiCallNode' method='sendRequest' >\r
85                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-te:te'`" />\r
86                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
87                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
88                         <parameter name="format" value="json"/>\r
89                         <parameter name="httpMethod" value="patch"/>\r
90                         <parameter name='dirPath' value="/opt/sdnc/restapi/yang" />\r
91                         <parameter name="responsePrefix" value="vpn-result"/>\r
92                         <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
93                         <parameter name="trustStorePassword" value="adminadmin"/>\r
94                         <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
95                         <parameter name="keyStorePassword" value="adminadmin"/>\r
96                         <outcome value='failure'>\r
97                             <return status='failure'>\r
98                                 <parameter name='ack-final' value='Y'/>\r
99                                 <parameter name="error-code" value="500" />\r
100                                 <parameter name="error-message" value="Error executing Create vpn rest api" />\r
101                             </return>\r
102                         </outcome>\r
103                         <outcome value='success'>\r
104                             <block atomic="true"></block>\r
105                         </outcome>\r
106                     </execute>\r
107                 </outcome>\r
108                 <outcome value='Other'>\r
109                     <execute plugin='org.onap.ccsdk.sli.plugins.restconfapicall.RestconfApiCallNode' method='sendRequest' >\r
110                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-te:te'`" />\r
111                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
112                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
113                         <parameter name="format" value="json"/>\r
114                         <parameter name="httpMethod" value="patch"/>\r
115                         <parameter name='dirPath' value="/opt/sdnc/restapi/yang" />\r
116                         <parameter name="responsePrefix" value="vpn-result"/>\r
117                         <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
118                         <parameter name="trustStorePassword" value="adminadmin"/>\r
119                         <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
120                         <parameter name="keyStorePassword" value="adminadmin"/>\r
121                         <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
122                         <outcome value='failure'>\r
123                             <return status='failure'>\r
124                                 <parameter name='ack-final' value='Y'/>\r
125                                 <parameter name="error-code" value="500" />\r
126                                 <parameter name="error-message" value="Error executing Create vpn rest api" />\r
127                             </return>\r
128                         </outcome>\r
129                         <outcome value='success'>\r
130                             <block atomic="true"></block>\r
131                         </outcome>\r
132                     </execute>\r
133                 </outcome>\r
134             </switch>\r
135         </block>\r
136     </method>\r
137 </service-logic>