aboutsummaryrefslogtreecommitdiffstats
path: root/platform-logic/generic-resource-api/src/main/xml/cloud_leased_line/GENERIC-RESOURCE-API_cll-vnf-topology-operation-cll-logic.xml
blob: a9562ab5476550259102f5fa2e9eada454db57c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
<service-logic
        xmlns='http://www.onap.org/sdnc/svclogic'
        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}'>
    <method rpc='cll-vnf-topology-operation-cll-logic' mode='sync'>
        <block atomic="true">
            <set>
                <parameter name='middle-man-conn.' value='' />
            </set>
            <set>
                <parameter name='tmp.aai.all-connectivities.' value="" />
            </set>
            <set>
                <parameter name='found-middle-man' value="false" />
            </set>
            <set>
                <parameter name='no-pce-call' value="false" />
            </set>
            <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
                          resource="connectivities"
                          key="selflink = 'https://aai.onap:8443/aai/v24/network/connectivities"
                          local-only="false"
                          pfx="tmp.aai.all-connectivities" >
                <outcome value='success'>
                    <block atomic="true">
                        <switch test="`$tmp.aai.all-connectivities.connectivity_length == 0`">
                            <outcome value='true'></outcome>
                            <outcome value='false'>
                                <for index='connidx' start='0' end='`$tmp.aai.all-connectivities.connectivity_length`' >
                                    <block atomic='true'>
                                        <switch test="`$tmp.aai.all-connectivities.connectivity[$connidx].vpn-type == 'mdsc' `">
                                            <outcome value='false'>
                                                <block></block>
                                            </outcome>
                                            <outcome value='true'>
                                                <block atomic='true'>
                                                    <switch test="`$tmp.aai.all-connectivities.connectivity[$connidx].color-aware == $tmp.ROOT.uni-p-interface-long`">
                                                        <outcome value='false'>
                                                            <block></block>
                                                        </outcome>
                                                        <outcome value='true'>
                                                            <block atomic='true'>
                                                                <set>
                                                                    <parameter name='found-middle-man' value="true" />
                                                                </set>
                                                                <set>
                                                                    <parameter name='middle-man-conn.' value='`$tmp.aai.all-connectivities.connectivity[$connidx].`' />
                                                                </set>
                                                            </block>
                                                        </outcome>
                                                    </switch>
                                                </block>
                                            </outcome>
                                        </switch>
                                        <switch test="`$found-middle-man`">
                                            <outcome value='false'>
                                                <block></block>
                                            </outcome>
                                            <outcome value='true'>
                                                <block atomic='true'>
                                                    <for silentFailure='true' index='mmridx' start='0' end='`$middle-man-conn.relationship-list.relationship_length`' >
                                                        <set>
                                                            <parameter name='tmp.aai.mmrconnectivity.' value='' />
                                                        </set>
                                                        <switch test='`$middle-man-conn.relationship-list.relationship[$mmridx].related-to`'>
                                                            <outcome value='connectivity'>
                                                                <block atomic="true">
                                                                    <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
                                                                                  resource="connectivity"
                                                                                  key="connectivity.connectivity-id = $middle-man-conn.relationship-list.relationship[$mmridx].relationship-data[0].relationship-value"
                                                                                  local-only="false"
                                                                                  pfx="tmp.aai.mmrconnectivity" >
                                                                        <outcome value='success'>
                                                                            <switch test="`$tmp.aai.mmrconnectivity.vpn-type == 'leaf' `">
                                                                                <outcome value='false'>
                                                                                    <block></block>
                                                                                </outcome>
                                                                                <outcome value='true'>
                                                                                    <block atomic='true'>
                                                                                        <!--<switch test="`$tmp.aai.all-connectivities.connectivity[$connidx].cvlan == $tmp.aai.network-route-LEAF.logical-interface-id `">-->
                                                                                        <switch test="`$tmp.aai.mmrconnectivity.cvlan == $tmp.aai.network-route-LEAF.logical-interface-id `">
                                                                                            <outcome value='false'>
                                                                                                <block></block>
                                                                                            </outcome>
                                                                                            <outcome value='true'>
                                                                                                <for silentFailure='true' index='connrelidx' start='0' end='`$tmp.aai.mmrconnectivity.relationship-list.relationship_length`' >
                                                                                                    <set>
                                                                                                        <parameter name='tmp.uni.id' value='' />
                                                                                                    </set>
                                                                                                    <switch test='`$tmp.aai.mmrconnectivity.relationship-list.relationship[$connrelidx].related-to`'>
                                                                                                        <outcome value='uni'>
                                                                                                            <block atomic="true">
                                                                                                                <set>
                                                                                                                    <parameter name='tmp.uni.id' value='`$tmp.aai.mmrconnectivity.relationship-list.relationship[$connrelidx].relationship-data[0].relationship-value`' />
                                                                                                                </set>
                                                                                                                <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
                                                                                                                              resource="uni"
                                                                                                                              key="uni.id = $tmp.uni.id"
                                                                                                                              local-only="false"
                                                                                                                              pfx="tmp.aai.uni" >
                                                                                                                    <outcome value='success'>
                                                                                                                        <block atomic='true'>
                                                                                                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >
                                                                                                                                <parameter name="original_string" value='`$tmp.aai.uni.id`'/>
                                                                                                                                <!--<parameter name="regex" value="[^-]+$"/>-->
                                                                                                                                <parameter name="regex" value="[-]+"/>
                                                                                                                                <parameter name="ctx_memory_result_key" value="param-prefix-uni-pnfName"/>
                                                                                                                                <outcome value='success'>
                                                                                                                                    <block atomic="true">
                                                                                                                                        <set>
                                                                                                                                            <parameter name='tmp.uni.pnf-name' value="`$param-prefix-uni-pnfName[0] + '-' +
                                                   $param-prefix-uni-pnfName[1] + '-' +
                                                   $param-prefix-uni-pnfName[2] + '-' +
                                                   $param-prefix-uni-pnfName[3] + '-' +
                                                   $param-prefix-uni-pnfName[4] + '-' +
                                                   $param-prefix-uni-pnfName[5] + '-' +
                                                   $param-prefix-uni-pnfName[6] + '-' +
                                                   $param-prefix-uni-pnfName[7] + '-' +
                                                   $param-prefix-uni-pnfName[8]`" />
                                                                                                                                        </set>
                                                                                                                                    </block>
                                                                                                                                </outcome>
                                                                                                                                <outcome value='failure'>
                                                                                                                                    <return status='failure'>
                                                                                                                                        <parameter name='error-code' value='' />
                                                                                                                                        <parameter name='error-message' value="An error occured while splitting sna1_route" />
                                                                                                                                    </return>
                                                                                                                                </outcome>
                                                                                                                            </execute>
                                                                                                                            <switch test='`$tmp.uni.pnf-name == $tmp.LEAF.pnf-name-long`'>
                                                                                                                                <outcome value='false'>
                                                                                                                                    <block></block>
                                                                                                                                </outcome>
                                                                                                                                <outcome value='true'>
                                                                                                                                    <block atomic='true'>
                                                                                                                                        <set>
                                                                                                                                            <parameter name='no-pce-call' value="true" />
                                                                                                                                        </set>
                                                                                                                                        <set>
                                                                                                                                            <parameter name='middle-man-conn.' value='`$tmp.aai.all-connectivities.connectivity[$connidx].`' />
                                                                                                                                        </set>
                                                                                                                                        <set>
                                                                                                                                            <parameter name='filenamebb' value="`$param-prefix-uni-pnfName[8]`" />
                                                                                                                                        </set>
                                                                                                                                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
                                                                                                                                            <parameter name="filename" value="`$filenamebb`" />
                                                                                                                                        </execute>
                                                                                                                                    </block>
                                                                                                                                </outcome>
                                                                                                                            </switch>
                                                                                                                        </block>
                                                                                                                    </outcome>
                                                                                                                    <outcome value='not-found'>
                                                                                                                        <return status='failure'>
                                                                                                                            <parameter name='error-code' value='500' />
                                                                                                                            <parameter name='error-message' value='uni not found' />
                                                                                                                        </return>
                                                                                                                    </outcome>
                                                                                                                    <outcome value='failure'>
                                                                                                                        <return status='failure'>
                                                                                                                            <parameter name='error-code' value='500' />
                                                                                                                            <parameter name='error-message' value='uni not found' />
                                                                                                                        </return>
                                                                                                                    </outcome>
                                                                                                                </get-resource>
                                                                                                            </block>
                                                                                                        </outcome>
                                                                                                    </switch>
                                                                                                </for>
                                                                                            </outcome>
                                                                                        </switch>
                                                                                    </block>
                                                                                </outcome>
                                                                            </switch>
                                                                        </outcome>
                                                                        <outcome value='not-found'>
                                                                            <return status='failure'>
                                                                                <parameter name='ack-final' value='Y'/>
                                                                                <parameter name="error-code" value="500" />
                                                                                <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />
                                                                            </return>
                                                                        </outcome>
                                                                        <outcome value='failure'>
                                                                            <return status='failure'>
                                                                                <parameter name='error-code' value='' />
                                                                                <parameter name='error-message' value='' />
                                                                            </return>
                                                                        </outcome>
                                                                    </get-resource>
                                                                </block>
                                                            </outcome>
                                                        </switch>
                                                    </for>
                                                </block>
                                            </outcome>
                                        </switch>
                                    </block>
                                </for>
                            </outcome>
                        </switch>
                    </block>
                </outcome>
                <outcome value='not-found'></outcome>
                <outcome value='failure'></outcome>
            </get-resource>
        </block>
    </method>
</service-logic>