Inter Domain DG'S modified
[sdnc/oam.git] / platform-logic / optical-service / src / main / xml / optical-service_inter-domain-handling.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='optical-service' version='${project.version}'>\r
4     <method rpc='inter-domain-handling' mode='sync'>\r
5         <block atomic="true">\r
6             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
7 resource="logical-links"\r
8 key=" "\r
9 pfx='inter' local-only='false' >\r
10                 <outcome value='not-found'>\r
11                     <return status='failure'>\r
12                         <parameter name='error-code' value='500' />\r
13                         <parameter name='error-message' value='No inter-domain-links available' />\r
14                         <parameter name='ack-final-indicator' value="Y" />\r
15                     </return>\r
16                 </outcome>\r
17                 <outcome value='failure'>\r
18                     <return status='failure'>\r
19                         <parameter name='error-code' value='500' />\r
20                         <parameter name='error-message' value='Could not retrieve logical-links' />\r
21                         <parameter name='ack-final-indicator' value="Y" />\r
22                     </return>\r
23                 </outcome>\r
24                 <outcome value='success'>\r
25                     <block atomic="true">\r
26                         <for index='ida' start='0' end='`$inter.logical-link_length`' >\r
27                             <switch test='`$inter.logical-link[$ida].link-type`'>\r
28                                 <outcome value='inter-domain'>\r
29                                     <switch test='`$inter.logical-link[$ida].operational-status == occupied`'>\r
30                                         <outcome value='true'></outcome>\r
31                                         <outcome value='false'>\r
32                                             <block atomic="true">\r
33                                                 <set>\r
34                                                     <parameter name='access-bend' value='`$inter.logical-link[$ida].relationship-list.relationship[0].relationship-data[1].relationship-value`' />\r
35                                                     <parameter name='access-cend' value='`$inter.logical-link[$ida].relationship-list.relationship[1].relationship-data[1].relationship-value`' />\r
36                                                 </set>\r
37                                                 <break/>\r
38                                             </block>\r
39                                         </outcome>\r
40                                     </switch>\r
41                                 </outcome>\r
42                             </switch>\r
43                         </for>\r
44                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
45                             <parameter name="file" value="/opt/opendaylight/current/data/log/inter-domain.log" />\r
46                             <parameter name="level" value="info" />\r
47                             <parameter name="field1" value="`'Aaccess bend---' + $access-bend`"/>\r
48                             <parameter name="field2" value="`'Aaccess cend---' + $access-cend`"/>\r
49                             <parameter name="field3" value="`'Service 1 req id---' + $service1-request-id`"/>\r
50                             <parameter name="field4" value="`'Service 2 req id---' + $service2-request-id`"/>\r
51                         </record>\r
52                         <switch test="`$access-bend == ''`">\r
53                             <outcome value='true'>\r
54                                 <return status='failure'>\r
55                                     <parameter name='error-code' value='500' />\r
56                                     <parameter name='error-message' value='No inter-domain-links available' />\r
57                                     <parameter name='ack-final-indicator' value="Y" />\r
58                                 </return>\r
59                             </outcome>\r
60                             <outcome value='false'>\r
61                                 <block atomic="true">\r
62                                     <set>\r
63                                         <parameter name='access-service-name' value='`$optical-service-create-input.payload.service-name`' />\r
64                                     </set>\r
65                                     <for index='idb' start='0' end='2' >\r
66                                         <switch test='`$idb`'>\r
67                                             <outcome value='0'>\r
68                                                 <block atomic="true">\r
69                                                     <set>\r
70                                                         <parameter name='optical-service-create-input.payload.service-aend.port-id' value='`$access-aend`' />\r
71                                                         <parameter name='optical-service-create-input.payload.service-zend.port-id' value='`$access-bend`' />\r
72                                                         <parameter name='optical-service-create-input.payload.service-name' value="`$access-service-name +  '_MDONS-OTN'`" />\r
73                                                         <parameter name='domain-type' value="TAPI" />\r
74                                                         <parameter name='optical-service-create-input.request-id' value="`$service1-request-id`" />\r
75                                                         <parameter name='optical-service-create-input.service-id' value="`$service1-svc-instance-id`" />\r
76                                                     </set>\r
77                                                     <call module='optical-service' rpc='main-create' mode='sync' >\r
78                                                         <outcome value='success'>\r
79                                                             <block atomic="true">\r
80                                                                 <set>\r
81                                                                     <parameter name='service1-status' value='`$final-response-code`' />\r
82                                                                 </set>\r
83                                                                 <switch test='`$service1-status == 200`'>\r
84                                                                     <outcome value='true'>\r
85                                                                         <set>\r
86                                                                             <parameter name='service1' value='success' />\r
87                                                                         </set>\r
88                                                                     </outcome>\r
89                                                                     <outcome value='false'>\r
90                                                                         <set>\r
91                                                                             <parameter name='service1' value='failure' />\r
92                                                                         </set>\r
93                                                                     </outcome>\r
94                                                                 </switch>\r
95                                                             </block>\r
96                                                         </outcome>\r
97                                                         <outcome value='failure'>\r
98                                                             <return status='failure'>\r
99                                                                 <parameter name='error-code' value='500' />\r
100                                                                 <parameter name='error-message' value='Main Create Dg not available' />\r
101                                                                 <parameter name='ack-final-indicator' value="Y" />\r
102                                                             </return>\r
103                                                         </outcome>\r
104                                                     </call>\r
105                                                 </block>\r
106                                             </outcome>\r
107                                             <outcome value='1'>\r
108                                                 <block atomic="true">\r
109                                                     <set>\r
110                                                         <parameter name='optical-service-create-input.payload.service-aend.port-id' value='`$access-cend`' />\r
111                                                         <parameter name='optical-service-create-input.payload.service-zend.port-id' value='`$access-zend`' />\r
112                                                         <parameter name='optical-service-create-input.payload.service-name' value="`$access-service-name + '_MDONS-OTN'`" />\r
113                                                         <parameter name='domain-type' value="TAPI" />\r
114                                                         <parameter name='optical-service-create-input.request-id' value="`$service2-request-id`" />\r
115                                                         <parameter name='optical-service-create-input.service-id' value="`$service2-svc-instance-id`" />\r
116                                                     </set>\r
117                                                     <call module='optical-service' rpc='main-create' mode='sync' >\r
118                                                         <outcome value='success'>\r
119                                                             <block atomic="true">\r
120                                                                 <set>\r
121                                                                     <parameter name='service2-status' value='`$final-response-code`' />\r
122                                                                 </set>\r
123                                                                 <switch test='`$service2-status == 200`'>\r
124                                                                     <outcome value='true'>\r
125                                                                         <set>\r
126                                                                             <parameter name='service2' value='success' />\r
127                                                                         </set>\r
128                                                                     </outcome>\r
129                                                                     <outcome value='false'>\r
130                                                                         <set>\r
131                                                                             <parameter name='service2' value='success' />\r
132                                                                         </set>\r
133                                                                     </outcome>\r
134                                                                 </switch>\r
135                                                             </block>\r
136                                                         </outcome>\r
137                                                         <outcome value='failure'>\r
138                                                             <return status='failure'>\r
139                                                                 <parameter name='error-code' value='500' />\r
140                                                                 <parameter name='error-message' value='Main Create Dg not available' />\r
141                                                                 <parameter name='ack-final-indicator' value="Y" />\r
142                                                             </return>\r
143                                                         </outcome>\r
144                                                     </call>\r
145                                                 </block>\r
146                                             </outcome>\r
147                                         </switch>\r
148                                     </for>\r
149                                     <set>\r
150                                         <parameter name='inter' value='' />\r
151                                     </set>\r
152                                     <switch test='`$service1 == $service2 == success`'>\r
153                                         <outcome value='true'>\r
154                                             <block>\r
155                                                 <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' \r
156 resource='SQL' \r
157 key='UPDATE REQUEST_DETAILS SET status = "CREATED" WHERE request_id = $as-request-id'\r
158 force='true' pfx='save-result'></save>\r
159                                                 <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
160 force='true'\r
161 resource='logical-link'\r
162      key='logical-link.link-name = $inter.logical-link[$ida].link-name '\r
163       local-only='false'>\r
164                                                     <parameter name='operational-status' value='occupied' />\r
165                                                 </update>\r
166                                                 <call module='optical-service' rpc='create-service-relationship' mode='sync' ></call>\r
167                                                 <return status='success'>\r
168                                                     <parameter name='error-code' value='200' />\r
169                                                     <parameter name='error-message' value='Multi-domain-service successfully created' />\r
170                                                     <parameter name='ack-final-indicator' value="Y" />\r
171                                                 </return>\r
172                                             </block>\r
173                                         </outcome>\r
174                                         <outcome value='false'>\r
175                                             <block>\r
176                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
177                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/inter-domain.log" />\r
178                                                     <parameter name="level" value="info" />\r
179                                                     <parameter name="field1" value="Access service creation failed"/>\r
180                                                 </record>\r
181                                                 <return status='failure'>\r
182                                                     <parameter name='error-code' value='500' />\r
183                                                     <parameter name='error-message' value='Multi-domain-service creation failed' />\r
184                                                     <parameter name='ack-final-indicator' value="Y" />\r
185                                                 </return>\r
186                                             </block>\r
187                                         </outcome>\r
188                                     </switch>\r
189                                 </block>\r
190                             </outcome>\r
191                         </switch>\r
192                     </block>\r
193                 </outcome>\r
194             </get-resource>\r
195         </block>\r
196     </method>\r
197 </service-logic>