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
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
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
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
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
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
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
60 <outcome value='false'>
\r
61 <block atomic="true">
\r
63 <parameter name='access-service-name' value='`$optical-service-create-input.payload.service-name`' />
\r
65 <for index='idb' start='0' end='2' >
\r
66 <switch test='`$idb`'>
\r
68 <block atomic="true">
\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
77 <call module='optical-service' rpc='main-create' mode='sync' >
\r
78 <outcome value='success'>
\r
79 <block atomic="true">
\r
81 <parameter name='service1-status' value='`$final-response-code`' />
\r
83 <switch test='`$service1-status == 200`'>
\r
84 <outcome value='true'>
\r
86 <parameter name='service1' value='success' />
\r
89 <outcome value='false'>
\r
91 <parameter name='service1' value='failure' />
\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
107 <outcome value='1'>
\r
108 <block atomic="true">
\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
117 <call module='optical-service' rpc='main-create' mode='sync' >
\r
118 <outcome value='success'>
\r
119 <block atomic="true">
\r
121 <parameter name='service2-status' value='`$final-response-code`' />
\r
123 <switch test='`$service2-status == 200`'>
\r
124 <outcome value='true'>
\r
126 <parameter name='service2' value='success' />
\r
129 <outcome value='false'>
\r
131 <parameter name='service2' value='success' />
\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
150 <parameter name='inter' value='' />
\r
152 <switch test='`$service1 == $service2 == success`'>
\r
153 <outcome value='true'>
\r
155 <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'
\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
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
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
174 <outcome value='false'>
\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
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