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='api-contrail-route-topology-operation-create' mode='sync'>
\r
5 <block atomic="true">
\r
6 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
7 <parameter name="logger" value="message-log"/>
\r
8 <parameter name="field1" value="__TIMESTAMP__"/>
\r
9 <parameter name="field2" value="GENERIC-RESOURCE-API.api-contrail-route-topology-operation-create"/>
\r
10 <parameter name='field3' value='cto-api.parent-service-instance-id' />
\r
11 <parameter name='field4' value='`$cto-api.parent-service-instance-id`' />
\r
12 <parameter name='field5' value='cto-api.default-domain' />
\r
13 <parameter name='field6' value='`$cto-api.default-domain`' />
\r
14 <parameter name='field7' value='cto-api.port-mirror-configuration-instance-id' />
\r
15 <parameter name='field8' value='`$cto-api.port-mirror-configuration-instance-id`' />
\r
16 <parameter name='field9' value='cto-api.service-type' />
\r
17 <parameter name='field10' value='`$cto-api.service-type`' />
\r
18 <parameter name='field11' value='cto-api.source-network-role' />
\r
19 <parameter name='field12' value='`$cto-api.source-network-fole`' />
\r
20 <parameter name='field13' value='cto-api.collector-network-role' />
\r
21 <parameter name='field14' value='`$cto-api.collector-network-4ole`' />
\r
22 <parameter name='field15' value='cto-api.default-project' />
\r
23 <parameter name='field16' value='`$cto-api.default-project`' />
\r
24 <parameter name='field17' value='cto-api.cloud-region-id' />
\r
25 <parameter name='field18' value='`$cto-api.cloud-region-id`' />
\r
26 <parameter name='field19' value='cto-api.cloud-owner' />
\r
27 <parameter name='field20' value='`$cto-api.cloud-owner`' />
\r
28 <parameter name='field21' value='cto-api.isTest' />
\r
29 <parameter name='field22' value='`$cto-api.isTest`' />
\r
30 <parameter name='field23' value='cto-api.owning-entity' />
\r
31 <parameter name='field24' value='`$cto-api.owning-entity`' />
\r
34 <parameter name="ctotmp." value="" />
\r
35 <parameter name="ar-request-information." value="" />
\r
36 <parameter name="ar-created" value="" />
\r
37 <parameter name="ar-aai-created" value="" />
\r
38 <parameter name="np-aai-created" value="" />
\r
39 <parameter name="contrail-created" value="" />
\r
42 <parameter name="ctotmp.s-l3-network" value="" />
\r
43 <parameter name="ctotmp.num-s-network" value="0" />
\r
44 <parameter name="ctotmp.s-network-policy" value="" />
\r
45 <parameter name="ctotmp.num-s-np" value="0" />
\r
46 <parameter name="ctotmp.c-l3-network" value="" />
\r
47 <parameter name="ctotmp.num-c-network" value="0" />
\r
48 <parameter name="ctotmp.c-network-policy" value="" />
\r
49 <parameter name="ctotmp.num-c-np" value="0" />
\r
50 <parameter name="ctotmp.s-network-policy-list_length" value="0" />
\r
51 <parameter name="ctotmp.c-network-policy-list_length" value="0" />
\r
52 <parameter name="ctotmp.network-policy-id" value="" />
\r
53 <parameter name="ctotmp.action" value="create" />
\r
55 <call module='GENERIC-RESOURCE-API' rpc='validate-api-contrail-route-input' mode='sync' ></call>
\r
56 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
57 resource="custom-query"
\r
58 key="format = 'resource'"
\r
61 pfx="ctotmp.aai.source-network">
\r
62 <parameter name="start[0]" value="`'/cloud-infrastructure/cloud-regions/cloud-region/' + $cto-api.cloud-owner + '/' + $cto-api.cloud-region-id`" />
\r
63 <parameter name="start_length" value="1" />
\r
64 <parameter name="query" value="`'/query/network-name-fromNetwork-role?networkRole=' + $cto-api.source-network-role`" />
\r
65 <outcome value='failure'>
\r
66 <block atomic="true">
\r
67 <return status='failure'>
\r
68 <parameter name='ack-final' value='Y'/>
\r
69 <parameter name="error-code" value="500" />
\r
70 <parameter name="error-message" value="API-contrail-route-topology-operation-create: Failed to get source network from aai" />
\r
74 <outcome value='not-found'>
\r
75 <block atomic="true">
\r
76 <return status='failure'>
\r
77 <parameter name='ack-final' value='Y'/>
\r
78 <parameter name="error-code" value="500" />
\r
79 <parameter name="error-message" value="API-contrail-route-topology-operation-create: Source network not found in AAI" />
\r
84 <for index='ctotmp.sidx' start='0' end='`$ctotmp.aai.source-network.results_length`' >
\r
85 <block atomic="true">
\r
86 <switch test='`$ctotmp.aai.source-network.results[$ctotmp.sidx].network-policy.network-policy-id`'>
\r
88 <block atomic="true"></block>
\r
90 <outcome value='Other'>
\r
91 <switch test='`$ctotmp.aai.source-network.results[$ctotmp.sidx].network-policy.network-policy-id`'>
\r
93 <block atomic="true"></block>
\r
95 <outcome value='Other'>
\r
96 <block atomic="true">
\r
98 <parameter name="ctotmp.s-network-policy-list[$ctotmp.num-s-np].network-policy-id" value="`$ctotmp.aai.source-network.results[$ctotmp.sidx].network-policy.network-policy-id`" />
\r
101 <parameter name="ctotmp.num-s-np" value="`$ctotmp.num-s-np+1`" />
\r
104 <parameter name="ctotmp.s-network-policy-list_length" value="`$ctotmp.num-s-np`" />
\r
111 <switch test='`$ctotmp.aai.source-network.results[$ctotmp.sidx].l3-network.network-id`'>
\r
113 <block atomic="true"></block>
\r
115 <outcome value='Other'>
\r
116 <switch test='`$ctotmp.aai.source-network.results[$ctotmp.sidx].l3-network.network-id`'>
\r
118 <block atomic="true"></block>
\r
120 <outcome value='Other'>
\r
121 <block atomic="true">
\r
123 <parameter name="ctotmp.s-l3-network." value="`$ctotmp.aai.source-network.results[$ctotmp.sidx].l3-network.`" />
\r
124 <parameter name="ctotmp.num-s-network" value="`$ctotmp.num-s-network+1`" />
\r
133 <switch test='`$ctotmp.num-s-network`'>
\r
134 <outcome value='0'>
\r
135 <return status='failure'>
\r
136 <parameter name='ack-final' value='Y'/>
\r
137 <parameter name="error-code" value="500" />
\r
138 <parameter name="error-message" value="API-contrail-route-topology-operation-create: Source network not found from aai" />
\r
141 <outcome value='1'>
\r
143 <parameter name="ctotmp.source-network.network-id" value="`$ctotmp.s-l3-network.network-id`" />
\r
146 <outcome value='Other'>
\r
147 <return status='failure'>
\r
148 <parameter name='ack-final' value='Y'/>
\r
149 <parameter name="error-code" value="500" />
\r
150 <parameter name="error-message" value="API-contrail-route-topology-operation-create: Too many networks returned for source network from aai" />
\r
154 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
155 resource="custom-query"
\r
156 key="format = 'resource'"
\r
159 pfx="ctotmp.aai.collector-network">
\r
160 <parameter name="start[0]" value="`'/cloud-infrastructure/cloud-regions/cloud-region/' + $cto-api.cloud-owner + '/' + $cto-api.cloud-region-id`" />
\r
161 <parameter name="start_length" value="1" />
\r
162 <parameter name="query" value="`'/query/network-name-fromNetwork-role?networkRole=' + $cto-api.collector-network-role`" />
\r
163 <outcome value='failure'>
\r
164 <block atomic="true">
\r
165 <return status='failure'>
\r
166 <parameter name='ack-final' value='Y'/>
\r
167 <parameter name="error-code" value="500" />
\r
168 <parameter name="error-message" value="API-contrail-route-topology-operation-create: Failed to get collector network from aai" />
\r
172 <outcome value='not-found'>
\r
173 <block atomic="true">
\r
174 <return status='failure'>
\r
175 <parameter name='ack-final' value='Y'/>
\r
176 <parameter name="error-code" value="500" />
\r
177 <parameter name="error-message" value="API-contrail-route-topology-operation-create: Collector network not found in AAI" />
\r
182 <for index='ctotmp.cidx' start='0' end='`$ctotmp.aai.collector-network.results_length`' >
\r
183 <block atomic="true">
\r
184 <switch test='`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.network-id`'>
\r
186 <return status='failure'>
\r
187 <parameter name='ack-final' value='Y'/>
\r
188 <parameter name="error-code" value="500" />
\r
189 <parameter name="error-message" value="API-contrail-route-topology-operation-create: Collector network not found from aai" />
\r
192 <outcome value='Other'>
\r
193 <switch test='`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.network-id`'>
\r
195 <block atomic="true"></block>
\r
197 <outcome value='Other'>
\r
198 <block atomic="true">
\r
200 <parameter name="ctotmp.c-l3-network." value="`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.`" />
\r
201 <parameter name="ctotmp.num-c-network" value="`$ctotmp.num-c-network+1`" />
\r
203 <for index='ridx' start='0' end='`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.relationship-list.relationship_length`' >
\r
204 <switch test='`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.relationship-list.relationship[$ridx].related-to`'>
\r
205 <outcome value='service-instance'>
\r
206 <block atomic="true">
\r
207 <for index='rdidx' start='0' end='`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.relationship-list.relationship[$ridx].relationship-data_length`' >
\r
208 <switch test='`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-key`'>
\r
209 <outcome value='service-instance.service-instance-id'>
\r
210 <block atomic="true">
\r
212 <parameter name="collector-service-instance-id" value="`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value`" />
\r
220 <outcome value='network-policy'>
\r
221 <block atomic="true">
\r
222 <for index='rdidx' start='0' end='`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.relationship-list.relationship[$ridx].relationship-data_length`' >
\r
223 <switch test='`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-key`'>
\r
224 <outcome value='network-policy.network-policy-id'>
\r
225 <block atomic="true">
\r
227 <parameter name="ctotmp.c-network-policy-list[$ctotmp.num-c-np].network-policy-id" value="`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value`" />
\r
230 <parameter name="ctotmp.num-c-np" value="`$ctotmp.num-c-np+1`" />
\r
233 <parameter name="ctotmp.c-network-policy-list_length" value="`$ctotmp.num-c-np`" />
\r
250 <switch test='`$ctotmp.num-c-network`'>
\r
251 <outcome value='0'>
\r
252 <return status='failure'>
\r
253 <parameter name='ack-final' value='Y'/>
\r
254 <parameter name="error-code" value="500" />
\r
255 <parameter name="error-message" value="API-contrail-route-topology-operation-create: Collector network not found from aai" />
\r
258 <outcome value='1'>
\r
260 <parameter name="ctotmp.dest-network.network-id" value="`$ctotmp.c-l3-network.network-id`" />
\r
263 <outcome value='Other'>
\r
264 <return status='failure'>
\r
265 <parameter name='ack-final' value='Y'/>
\r
266 <parameter name="error-code" value="500" />
\r
267 <parameter name="error-message" value="API-contrail-route-topology-operation-create: Too many networks returned for collector network from aai" />
\r
271 <for index='ctotmp.spidx' start='0' end='`$ctotmp.s-network-policy-list_length`' >
\r
272 <for index='ctotmp.cpidx' start='0' end='`$ctotmp.c-network-policy-list_length`' >
\r
273 <block atomic="true">
\r
274 <switch test='`$ctotmp.s-network-policy-list[$ctotmp.spidx].network-policy-id == $ctotmp.c-network-policy-list[$ctotmp.cpidx].network-policy-id`'>
\r
275 <outcome value='true'>
\r
276 <block atomic="true">
\r
278 <parameter name="ctotmp.network-policy-id" value="`$ctotmp.s-network-policy-list[$ctotmp.spidx].network-policy-id`" />
\r
279 <parameter name="ctotmp.existing-network-policy-found" value="true" />
\r
288 <switch test='`$ctotmp.network-policy-id`'>
\r
290 <block atomic="true"></block>
\r
292 <outcome value='Other'>
\r
293 <block atomic="true">
\r
294 <return status='failure'>
\r
295 <parameter name='ack-final' value='Y'/>
\r
296 <parameter name="error-code" value="500" />
\r
297 <parameter name="error-message" value="existing policy - error" />
\r
303 <parameter name='ar-request-information.source' value="SDNC" />
\r
306 <parameter name='ar-contrail-route-request-input.source-network.network-role' value="`$cto-api.source-network-role`" />
\r
307 <parameter name='ar-contrail-route-request-input.source-network.network-id' value="`$ctotmp.source-network.network-id`" />
\r
308 <parameter name='ar-contrail-route-request-input.dest-network.network-role' value="`$cto-api.collector-network-role`" />
\r
309 <parameter name='ar-contrail-route-request-input.dest-network.network-id' value="`$ctotmp.dest-network.network-id`" />
\r
311 <call module='GENERIC-RESOURCE-API' rpc='generate-allottedresource-id' mode='sync' ></call>
\r
313 <parameter name='ar-identifiers.allotted-resource-id' value="`$tmp.return.generate-allottedresource-id.id`" />
\r
314 <parameter name='ar-identifiers.allotted-resource-type' value="contrail-route" />
\r
315 <parameter name='ar-identifiers.parent-service-instance-id' value="`$cto-api.parent-service-instance-id`" />
\r
316 <parameter name='ar-identifiers.consuming-service-instance-id' value="`$cto-api.service-instance-id` " />
\r
317 <parameter name="tmp.ar.allotted-resource-id" value="`$tmp.return.generate-allottedresource-id.id`" />
\r
318 <parameter name='tmp.ar.allotted-resource-type' value="contrail-route" />
\r
319 <parameter name='tmp.ar.parent-service-instance-id' value="`$cto-api.parent-service-instance-id`" />
\r
320 <!-- <parameter name='tmp.ar.contrail-applied-service-instance-id' value='' /> -->
\r
323 <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/'
\r
324 + $tmp.ar.allotted-resource-id
\r
325 + '/allotted-resource-data/contrail-route-topology/'` " />
\r
327 <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
\r
328 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
\r
329 <parameter name='contextPrefix' value='prop' />
\r
331 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
332 <parameter name="source" value="`$prop.restapi.cr-allottedresource`"/>
\r
333 <parameter name="outputPath" value="tmp.ar-url"/>
\r
334 <parameter name="target" value="{allotted-resource-id}"/>
\r
335 <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>
\r
337 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
338 <parameter name="source" value="`$prop.restapi.parent-provided-resource`"/>
\r
339 <parameter name="outputPath" value="tmp.parent-ar-url"/>
\r
340 <parameter name="target" value="{service-instance-id}"/>
\r
341 <parameter name="replacement" value="`$cto-api.parent-service-instance-id`"/>
\r
343 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
344 <parameter name="source" value="`$prop.restapi.network`"/>
\r
345 <parameter name="outputPath" value="tmp.ar-parentnetwork-url"/>
\r
346 <parameter name="target" value="{service-instance-id}"/>
\r
347 <parameter name="replacement" value="`$cto-api.parent-service-instance-id`"/>
\r
349 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
350 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
\r
351 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
352 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
353 <parameter name='format' value='json' />
\r
354 <parameter name='httpMethod' value='GET' />
\r
355 <parameter name="responsePrefix" value="mdsal-ar" />
\r
356 <outcome value='success'>
\r
357 <block atomic="true">
\r
358 <switch test='`$mdsal-ar.contrail-route-allotted-resource_length`'>
\r
359 <outcome value='1'>
\r
360 <return status='failure'>
\r
361 <parameter name='ack-final' value='Y'/>
\r
362 <parameter name="error-code" value="500" />
\r
363 <parameter name="error-message" value="Error: Existing contrail route allotted resource" />
\r
369 <outcome value='Other'>
\r
370 <block atomic="true"></block>
\r
374 <parameter name='ar.allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />
\r
376 <parameter name='ar.allotted-resource-status.action' value="`$contrail-route-topology-operation-input.request-information.request-action` " /><parameter name='ar.allotted-resource-status.rpc-name' value="contrail-route-topology-operation" /><parameter name='ar.allotted-resource-status.rpc-action' value="`$contrail-route-topology-operation-input.sdnc-request-header.svc-action` " /><parameter name='ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value="`$contrail-route-topology-operation-input.request-information.` " /><parameter name='ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value="`$contrail-route-topology-operation-input.sdnc-request-header.` " /><parameter name='ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value="`$contrail-route-topology-operation-input.service-information.` " /><parameter name='ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value="`$contrail-route-topology-operation-input.allotted-resource-information.` " /><parameter name='ar.allotted-resource-data.allotted-resource-operation-information.contrail-route-request-input.' value="`$contrail-route-topology-operation-input.contrail-route-request-input.` " />
\r
379 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
380 <parameter name="source" value="`$tmp.parent-ar-url`"/>
\r
381 <parameter name="outputPath" value="tmp.parent-ar-url"/>
\r
382 <parameter name="target" value="{allotted-resource-id}"/>
\r
383 <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>
\r
385 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
386 <parameter name="source" value="`$prop.restapi.network-provided-resource`"/>
\r
387 <parameter name="outputPath" value="tmp.network-ar-url"/>
\r
388 <parameter name="target" value="{service-instance-id}"/>
\r
389 <parameter name="replacement" value="`$tmp.ar.parent-service-instance-id`"/>
\r
391 <block atomic='true'>
\r
393 <parameter name='tmp.ar-name' value='$source-network-name_$cloud-region-id_$source-network-role_$collector-network-role _policy_' />
\r
395 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
396 <parameter name="source" value="`$tmp.ar-name`"/>
\r
397 <parameter name="outputPath" value="tmp.ar-name"/>
\r
398 <parameter name="target" value="$source-network-name"/>
\r
399 <parameter name="replacement" value="`$ctotmp.s-l3-network.network-name`"/>
\r
401 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
402 <parameter name="source" value="`$tmp.ar-name`"/>
\r
403 <parameter name="outputPath" value="tmp.ar-name"/>
\r
404 <parameter name="target" value="$cloud-region-id"/>
\r
405 <parameter name="replacement" value="`$cto-api.cloud-region-id`"/>
\r
407 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
408 <parameter name="source" value="`$tmp.ar-name`"/>
\r
409 <parameter name="outputPath" value="tmp.ar-name"/>
\r
410 <parameter name="target" value="$source-network-role"/>
\r
411 <parameter name="replacement" value="`$cto-api.source-network-role`"/>
\r
413 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
414 <parameter name="source" value="`$tmp.ar-name`"/>
\r
415 <parameter name="outputPath" value="tmp.ar-name"/>
\r
416 <parameter name="target" value="$collector-network-role"/>
\r
417 <parameter name="replacement" value="`$cto-api.collector-network-role`"/>
\r
420 <parameter name='generate-unique-name-input.index-table-name' value='CONTRAIL_ROUTE_NAME_INDEX' />
\r
421 <parameter name='generate-unique-name-input.index-table-prefix-column' value='contrail_route_name_prefix' />
\r
422 <parameter name='generate-unique-name-input.name-table-type' value='CONTRAIL_ROUTE_INSTANCE' />
\r
423 <parameter name='generate-unique-name-input.prefix' value="`$tmp.ar-name`" />
\r
424 <parameter name='generate-unique-name-input.index-length' value='2' />
\r
426 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
427 <parameter name="logger" value="message-log"/>
\r
428 <parameter name="field1" value="__TIMESTAMP__"/>
\r
429 <parameter name="field2" value="tmp.ar-name="/>
\r
430 <parameter name="field3" value="`$tmp.ar-name`"/>
\r
431 <parameter name="field4" value="generate-unique-name-input.prefix" />
\r
432 <parameter name="field5" value="`$generate-unique-name-input.prefix`" />
\r
434 <call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >
\r
435 <outcome value='failure'>
\r
436 <return status='failure'>
\r
437 <parameter name='ack-final' value='Y'/>
\r
438 <parameter name="error-code" value="500" />
\r
439 <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />
\r
442 <outcome value='success'>
\r
444 <parameter name='tmp.ar-name' value='`$generate-unique-name-output.generated-name`' />
\r
449 <parameter name='ar-identifiers.allotted-resource-name' value='`$tmp.ar-name`' />
\r
453 <parameter name='ar.allotted-resource-data.contrail-route-topology.allotted-resource-identifiers.'
\r
454 value="`$ar-identifiers.`" />
\r
457 <parameter name='ar-assignments.source-network.network-id' value="`$ctotmp.s-l3-network.network-id` " />
\r
458 <parameter name='ar-assignments.source-network.network-role' value="`$cto-api.source-network-role` " />
\r
459 <parameter name='ar-assignments.dest-network.network-id' value="`$ctotmp.c-l3-network.network-id` " />
\r
460 <parameter name='ar-assignments.dest-network.network-role' value="`$cto-api.collector-network-role` " />
\r
463 <parameter name='tmp.fq-name' value='$defaultDomain.$defaultProject.$sdncNetworkPolicy' />
\r
465 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
466 <parameter name="source" value="`$tmp.fq-name`"/>
\r
467 <parameter name="outputPath" value="tmp.fq-name"/>
\r
468 <parameter name="target" value="$defaultDomain"/>
\r
469 <parameter name="replacement" value="`$cto-api.default-domain`"/>
\r
471 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
472 <parameter name="source" value="`$tmp.fq-name`"/>
\r
473 <parameter name="outputPath" value="tmp.fq-name"/>
\r
474 <parameter name="target" value="$defaultProject"/>
\r
475 <parameter name="replacement" value="`$cto-api.default-project`"/>
\r
477 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
478 <parameter name="source" value="`$tmp.fq-name`"/>
\r
479 <parameter name="outputPath" value="tmp.fq-name"/>
\r
480 <parameter name="target" value="$sdncNetworkPolicy"/>
\r
481 <parameter name="replacement" value="`$tmp.ar-name`"/>
\r
484 <parameter name='ar-assignments.fq-name' value="`$tmp.fq-name` " />
\r
486 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >
\r
487 <parameter name="outputPath" value="tmp.current-time" />
\r
490 <parameter name='ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='Created' />
\r
491 <parameter name='ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />
\r
493 <switch test='`$cto-api.isTest`'>
\r
495 <block atomic="true">
\r
496 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
497 <parameter name="logger" value="message-log"/>
\r
498 <parameter name="field1" value="__TIMESTAMP__"/>
\r
499 <parameter name="field2" value="GENERIC-RESOURCE-API.api-contrail-route-topology-operation-create"/>
\r
500 <parameter name='field3' value='network-policy' />
\r
501 <parameter name='field4' value='create' />
\r
502 <parameter name='field5' value='contrailResp' />
\r
503 <parameter name='field6' value='`$cto-api.default-domain`' />
\r
504 <parameter name='field7' value='`$ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.fq-name`' />
\r
505 <parameter name='field8' value='`$cto-api.default-project`' />
\r
506 <parameter name='field9' value='`$ctotmp.c-l3-network.contrail-network-fqdn`' />
\r
507 <parameter name='field10' value='`$ctotmp.s-l3-network.contrail-network-fqdn`' />
\r
508 <parameter name='field11' value='<>' />
\r
509 <parameter name='field12' value='`$cto-api.cloud-region-id`' />
\r
511 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
\r
512 <parameter name='api-name' value='network-policy' />
\r
513 <parameter name='api-action' value='create' />
\r
514 <parameter name='resp-prefix' value='contrailResp' />
\r
515 <parameter name='default-domain' value='`$cto-api.default-domain`' />
\r
516 <parameter name='policy-name' value='`$tmp.fq-name`' />
\r
517 <parameter name='default-project' value='`$cto-api.default-project`' />
\r
518 <!-- <parameter name='vipr-service-instance' value='`$ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.contrail-applied-service.contrail-fqdn`' /> -->
\r
519 <parameter name='dst-virtual-network' value='`$ctotmp.c-l3-network.contrail-network-fqdn`' />
\r
520 <parameter name='src-virtual-network' value='`$ctotmp.s-l3-network.contrail-network-fqdn`' />
\r
521 <parameter name='direction' value='<>' />
\r
522 <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
\r
523 <outcome value='success'>
\r
526 <parameter name="contrail-created" value="true" />
\r
530 <outcome value='failure'>
\r
531 <return status='failure'>
\r
532 <parameter name='ack-final' value='Y'/>
\r
533 <parameter name="error-code" value="500" />
\r
534 <parameter name="error-message" value="`'Failed to create policy in Contrail. '+ $contrailResp.resp-code + ':' +$contrailResp.resp-message `" />
\r
539 <parameter name='ar-assignments.contrail-id' value="`$contrailResp.network-policy.uuid`" />
\r
543 <outcome value='true'>
\r
544 <block atomic="true">
\r
545 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
546 <parameter name="logger" value="message-log"/>
\r
547 <parameter name="field1" value="__TIMESTAMP__"/>
\r
548 <parameter name="field2" value="GENERIC-RESOURCE-API.api-contrail-route-topology-operation-create"/>
\r
549 <parameter name='field3' value='network-policy' />
\r
550 <parameter name='field4' value='TESTcreate' />
\r
551 <parameter name='field5' value='contrailResp' />
\r
552 <parameter name='field6' value='`$cto-api.default-domain`' />
\r
553 <parameter name='field7' value='`$ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.fq-name`' />
\r
554 <parameter name='field8' value='`$cto-api.default-project`' />
\r
555 <parameter name='field10' value='`$ctotmp.c-l3-network.contrail-network-fqdn`' />
\r
556 <parameter name='field11' value='`$ctotmp.s-l3-network.contrail-network-fqdn`' />
\r
557 <parameter name='field12' value='<>' />
\r
558 <parameter name='field13' value='`$cto-api.cloud-region-id`' />
\r
561 <parameter name='ar-assignments.contrail-id' value="dummy12345" />
\r
565 <outcome value='Other'>
\r
566 <block atomic="true">
\r
567 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
568 <parameter name="logger" value="message-log"/>
\r
569 <parameter name="field1" value="__TIMESTAMP__"/>
\r
570 <parameter name="field2" value="GENERIC-RESOURCE-API.api-contrail-route-topology-operation-create"/>
\r
571 <parameter name='field3' value='network-policy' />
\r
572 <parameter name='field4' value='create' />
\r
573 <parameter name='field5' value='contrailResp' />
\r
574 <parameter name='field6' value='`$cto-api.default-domain`' />
\r
575 <parameter name='field7' value='`$ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.fq-name`' />
\r
576 <parameter name='field8' value='`$cto-api.default-project`' />
\r
577 <parameter name='field9' value='`$ctotmp.c-l3-network.contrail-network-fqdn`' />
\r
578 <parameter name='field10' value='`$ctotmp.s-l3-network.contrail-network-fqdn`' />
\r
579 <parameter name='field11' value='<>' />
\r
580 <parameter name='field12' value='`$cto-api.cloud-region-id`' />
\r
582 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
\r
583 <parameter name='api-name' value='network-policy' />
\r
584 <parameter name='api-action' value='create' />
\r
585 <parameter name='resp-prefix' value='contrailResp' />
\r
586 <parameter name='default-domain' value='`$cto-api.default-domain`' />
\r
587 <parameter name='policy-name' value='`$tmp.fq-name`' />
\r
588 <parameter name='default-project' value='`$cto-api.default-project`' />
\r
589 <!-- <parameter name='vipr-service-instance' value='`$ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.contrail-applied-service.contrail-fqdn`' /> -->
\r
590 <parameter name='dst-virtual-network' value='`$ctotmp.c-l3-network.contrail-network-fqdn`' />
\r
591 <parameter name='src-virtual-network' value='`$ctotmp.s-l3-network.contrail-network-fqdn`' />
\r
592 <parameter name='direction' value='<>' />
\r
593 <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
\r
594 <outcome value='success'>
\r
597 <parameter name="contrail-created" value="true" />
\r
601 <outcome value='failure'>
\r
602 <return status='failure'>
\r
603 <parameter name='ack-final' value='Y'/>
\r
604 <parameter name="error-code" value="500" />
\r
605 <parameter name="error-message" value="`'Failed to create policy in Contrail. '+ $contrailResp.resp-code + ':' +$contrailResp.resp-message `" />
\r
610 <parameter name='ar-assignments.contrail-id' value="`$contrailResp.network-policy.uuid`" />
\r
616 <parameter name='ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.'
\r
617 value="`$ar-assignments.`" />
\r
619 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
620 resource="network-policy"
\r
621 key="network-policy.network-policy-id = $ar-assignments.contrail-id" >
\r
622 <!-- Create network-policy object -->
\r
623 <parameter name="network-policy-id" value="`$ar-assignments.contrail-id`" />
\r
624 <parameter name="network-policy-fqdn" value="`$ar-assignments.fq-name`" />
\r
625 <outcome value='success'>
\r
628 <parameter name="np-aai-created" value="" />
\r
632 <outcome value='failure'>
\r
633 <block atomic="true">
\r
635 <parameter name="error-code" value="500"/>
\r
636 <parameter name="tmp.error-message" value="Failed to save network-policy in AAI"/>
\r
639 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
640 <parameter name="logger" value="message-log"/>
\r
641 <parameter name="field1" value="__TIMESTAMP__"/>
\r
642 <parameter name="field2" value="ROLLING BACK the create due to error"/>
\r
644 <switch test='`$np-aai-created`'>
\r
645 <outcome value=''></outcome>
\r
646 <outcome value='true'>
\r
647 <block atomic="true">
\r
648 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
649 resource="network-policy"
\r
650 key="network-policy.network-policy-id = $ar-assignments.contrail-id" >
\r
651 <outcome value='failure'></outcome>
\r
652 <outcome value='not-found'></outcome>
\r
657 <switch test='`$contrail-created`'>
\r
658 <outcome value=''></outcome>
\r
659 <outcome value='true'>
\r
660 <block atomic="true">
\r
661 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
\r
662 <parameter name='api-name' value='network-policy' />
\r
663 <parameter name='api-action' value='delete' />
\r
664 <parameter name='resp-prefix' value='contrailResp' />
\r
665 <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
\r
666 <parameter name='default-project' value='`$cto-api.default-project`' />
\r
667 <parameter name='default-domain' value='`$cto-api.default-domain`' />
\r
668 <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
\r
669 <outcome value='success'></outcome>
\r
670 <outcome value='not-found'></outcome>
\r
671 <outcome value='failure'></outcome>
\r
676 <switch test='`$ar-aai-created`'>
\r
677 <outcome value=''></outcome>
\r
678 <outcome value='true'>
\r
679 <block atomic="true">
\r
680 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
681 resource="allotted-resource"
\r
682 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND
\r
683 service-subscription.service-type = $service-data.service-information.subscription-service-type AND
\r
684 service-instance.service-instance-id = $service-data.service-information.service-instance-id AND
\r
685 allotted-resource.id = $cto-api.contrail-route-allotted-resource-id">
\r
686 <outcome value='failure'></outcome>
\r
687 <outcome value='not-found'></outcome>
\r
692 <switch test='`$ar-created`'>
\r
693 <outcome value=''></outcome>
\r
694 <outcome value='true'>
\r
695 <block atomic="true">
\r
696 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
697 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />
\r
698 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
\r
699 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
700 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
701 <parameter name='format' value='json' />
\r
702 <parameter name='httpMethod' value='DELETE' />
\r
703 <parameter name="responsePrefix" value="mdsal-ar" />
\r
704 <outcome value='failure'></outcome>
\r
705 <outcome value='not-found'></outcome>
\r
710 <return status='failure'>
\r
711 <parameter name='error-code' value='500'/>
\r
712 <parameter name='error-message' value="`'Error creating contrail route - ' + $tmp.error-message`"/>
\r
717 <outcome value='not-found'>
\r
718 <block atomic="true">
\r
720 <parameter name="error-code" value="500"/>
\r
721 <parameter name="tmp.error-message" value="Failed to save network-policy in AAI"/>
\r
724 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
725 <parameter name="logger" value="message-log"/>
\r
726 <parameter name="field1" value="__TIMESTAMP__"/>
\r
727 <parameter name="field2" value="ROLLING BACK the create due to error"/>
\r
729 <switch test='`$np-aai-created`'>
\r
730 <outcome value=''></outcome>
\r
731 <outcome value='true'>
\r
732 <block atomic="true">
\r
733 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
734 resource="network-policy"
\r
735 key="network-policy.network-policy-id = $ar-assignments.contrail-id" >
\r
736 <outcome value='failure'></outcome>
\r
737 <outcome value='not-found'></outcome>
\r
742 <switch test='`$contrail-created`'>
\r
743 <outcome value=''></outcome>
\r
744 <outcome value='true'>
\r
745 <block atomic="true">
\r
746 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
\r
747 <parameter name='api-name' value='network-policy' />
\r
748 <parameter name='api-action' value='delete' />
\r
749 <parameter name='resp-prefix' value='contrailResp' />
\r
750 <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
\r
751 <parameter name='default-project' value='`$cto-api.default-project`' />
\r
752 <parameter name='default-domain' value='`$cto-api.default-domain`' />
\r
753 <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
\r
754 <outcome value='success'></outcome>
\r
755 <outcome value='not-found'></outcome>
\r
756 <outcome value='failure'></outcome>
\r
761 <switch test='`$ar-aai-created`'>
\r
762 <outcome value=''></outcome>
\r
763 <outcome value='true'>
\r
764 <block atomic="true">
\r
765 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
766 resource="allotted-resource"
\r
767 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND
\r
768 service-subscription.service-type = $service-data.service-information.subscription-service-type AND
\r
769 service-instance.service-instance-id = $service-data.service-information.service-instance-id AND
\r
770 allotted-resource.id = $cto-api.contrail-route-allotted-resource-id">
\r
771 <outcome value='failure'></outcome>
\r
772 <outcome value='not-found'></outcome>
\r
777 <switch test='`$ar-created`'>
\r
778 <outcome value=''></outcome>
\r
779 <outcome value='true'>
\r
780 <block atomic="true">
\r
781 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
782 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />
\r
783 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
\r
784 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
785 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
786 <parameter name='format' value='json' />
\r
787 <parameter name='httpMethod' value='DELETE' />
\r
788 <parameter name="responsePrefix" value="mdsal-ar" />
\r
789 <outcome value='failure'></outcome>
\r
790 <outcome value='not-found'></outcome>
\r
795 <return status='failure'>
\r
796 <parameter name='error-code' value='500'/>
\r
797 <parameter name='error-message' value="`'Error creating contrail route - ' + $tmp.error-message`"/>
\r
803 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
804 resource="allotted-resource"
\r
805 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND
\r
806 service-subscription.service-type = $cto-api.service-type AND
\r
807 service-instance.service-instance-id = $cto-api.parent-service-instance-id AND
\r
808 allotted-resource.id = $tmp.ar.allotted-resource-id"
\r
809 pfx='pfx' local-only='false' force='false'>
\r
810 <parameter name="id" value="`$tmp.ar.allotted-resource-id`" />
\r
811 <parameter name="description" value="`$tmp.ar.allotted-resource-type`" />
\r
812 <parameter name="selflink" value="`$tmp.ar.self-link`" />
\r
813 <parameter name="operational-status" value="out-of-service-path" />
\r
814 <parameter name="order-status" value="Created" />
\r
815 <outcome value='success'>
\r
818 <parameter name="ar-aai-created" value="" />
\r
822 <outcome value='failure'>
\r
823 <block atomic="true">
\r
825 <parameter name="error-code" value="500"/>
\r
826 <parameter name="tmp.error-message" value="Failed to save allotted resource in AAI"/>
\r
829 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
830 <parameter name="logger" value="message-log"/>
\r
831 <parameter name="field1" value="__TIMESTAMP__"/>
\r
832 <parameter name="field2" value="ROLLING BACK the create due to error"/>
\r
834 <switch test='`$np-aai-created`'>
\r
835 <outcome value=''></outcome>
\r
836 <outcome value='true'>
\r
837 <block atomic="true">
\r
838 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
839 resource="network-policy"
\r
840 key="network-policy.network-policy-id = $ar-assignments.contrail-id" >
\r
841 <outcome value='failure'></outcome>
\r
842 <outcome value='not-found'></outcome>
\r
847 <switch test='`$contrail-created`'>
\r
848 <outcome value=''></outcome>
\r
849 <outcome value='true'>
\r
850 <block atomic="true">
\r
851 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
\r
852 <parameter name='api-name' value='network-policy' />
\r
853 <parameter name='api-action' value='delete' />
\r
854 <parameter name='resp-prefix' value='contrailResp' />
\r
855 <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
\r
856 <parameter name='default-project' value='`$cto-api.default-project`' />
\r
857 <parameter name='default-domain' value='`$cto-api.default-domain`' />
\r
858 <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
\r
859 <outcome value='success'></outcome>
\r
860 <outcome value='not-found'></outcome>
\r
861 <outcome value='failure'></outcome>
\r
866 <switch test='`$ar-aai-created`'>
\r
867 <outcome value=''></outcome>
\r
868 <outcome value='true'>
\r
869 <block atomic="true">
\r
870 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
871 resource="allotted-resource"
\r
872 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND
\r
873 service-subscription.service-type = $service-data.service-information.subscription-service-type AND
\r
874 service-instance.service-instance-id = $service-data.service-information.service-instance-id AND
\r
875 allotted-resource.id = $cto-api.contrail-route-allotted-resource-id">
\r
876 <outcome value='failure'></outcome>
\r
877 <outcome value='not-found'></outcome>
\r
882 <switch test='`$ar-created`'>
\r
883 <outcome value=''></outcome>
\r
884 <outcome value='true'>
\r
885 <block atomic="true">
\r
886 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
887 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />
\r
888 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
\r
889 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
890 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
891 <parameter name='format' value='json' />
\r
892 <parameter name='httpMethod' value='DELETE' />
\r
893 <parameter name="responsePrefix" value="mdsal-ar" />
\r
894 <outcome value='failure'></outcome>
\r
895 <outcome value='not-found'></outcome>
\r
900 <return status='failure'>
\r
901 <parameter name='error-code' value='500'/>
\r
902 <parameter name='error-message' value="`'Error creating contrail route - ' + $tmp.error-message`"/>
\r
907 <outcome value='not-found'>
\r
908 <block atomic="true">
\r
910 <parameter name="error-code" value="500"/>
\r
911 <parameter name="tmp.error-message" value="Failed to save allotted resource in AAI"/>
\r
914 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
915 <parameter name="logger" value="message-log"/>
\r
916 <parameter name="field1" value="__TIMESTAMP__"/>
\r
917 <parameter name="field2" value="ROLLING BACK the create due to error"/>
\r
919 <switch test='`$np-aai-created`'>
\r
920 <outcome value=''></outcome>
\r
921 <outcome value='true'>
\r
922 <block atomic="true">
\r
923 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
924 resource="network-policy"
\r
925 key="network-policy.network-policy-id = $ar-assignments.contrail-id" >
\r
926 <outcome value='failure'></outcome>
\r
927 <outcome value='not-found'></outcome>
\r
932 <switch test='`$contrail-created`'>
\r
933 <outcome value=''></outcome>
\r
934 <outcome value='true'>
\r
935 <block atomic="true">
\r
936 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
\r
937 <parameter name='api-name' value='network-policy' />
\r
938 <parameter name='api-action' value='delete' />
\r
939 <parameter name='resp-prefix' value='contrailResp' />
\r
940 <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
\r
941 <parameter name='default-project' value='`$cto-api.default-project`' />
\r
942 <parameter name='default-domain' value='`$cto-api.default-domain`' />
\r
943 <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
\r
944 <outcome value='success'></outcome>
\r
945 <outcome value='not-found'></outcome>
\r
946 <outcome value='failure'></outcome>
\r
951 <switch test='`$ar-aai-created`'>
\r
952 <outcome value=''></outcome>
\r
953 <outcome value='true'>
\r
954 <block atomic="true">
\r
955 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
956 resource="allotted-resource"
\r
957 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND
\r
958 service-subscription.service-type = $service-data.service-information.subscription-service-type AND
\r
959 service-instance.service-instance-id = $service-data.service-information.service-instance-id AND
\r
960 allotted-resource.id = $cto-api.contrail-route-allotted-resource-id">
\r
961 <outcome value='failure'></outcome>
\r
962 <outcome value='not-found'></outcome>
\r
967 <switch test='`$ar-created`'>
\r
968 <outcome value=''></outcome>
\r
969 <outcome value='true'>
\r
970 <block atomic="true">
\r
971 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
972 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />
\r
973 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
\r
974 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
975 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
976 <parameter name='format' value='json' />
\r
977 <parameter name='httpMethod' value='DELETE' />
\r
978 <parameter name="responsePrefix" value="mdsal-ar" />
\r
979 <outcome value='failure'></outcome>
\r
980 <outcome value='not-found'></outcome>
\r
985 <return status='failure'>
\r
986 <parameter name='error-code' value='500'/>
\r
987 <parameter name='error-message' value="`'Error creating contrail route - ' + $tmp.error-message`"/>
\r
993 <switch test='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`'>
\r
996 <parameter name='tmp.cidx' value="`0`" />
\r
997 <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value="1" />
\r
1000 <outcome value='Other'>
\r
1001 <block atomic="true">
\r
1002 <for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >
\r
1003 <switch test="`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`">
\r
1004 <outcome value='true'>
\r
1005 <block atomic="true">
\r
1007 <parameter name='tmp.cidx' value='`$cidx`' />
\r
1008 <parameter name='ctx.consumed-ar.' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].`' />
\r
1009 <parameter name='tmp.found-cidx' value='true' />
\r
1016 <switch test='`$tmp.found-cidx`'>
\r
1017 <outcome value='false'>
\r
1018 <block atomic="true">
\r
1020 <parameter name='tmp.cidx' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' />
\r
1029 <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />
\r
1030 <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-type' value="`$tmp.ar.allotted-resource-type` " />
\r
1031 <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-pointer' value="`$tmp.ar.self-link` " />
\r
1032 <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value='`$tmp.cidx + 1`' />
\r
1034 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
1035 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.parentsvc.templatefile`" />
\r
1036 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.parent-ar-url`' />
\r
1037 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
1038 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
1039 <parameter name='format' value='json' />
\r
1040 <parameter name='httpMethod' value='PUT' />
\r
1041 <parameter name="responsePrefix" value="parent" />
\r
1042 <outcome value='success'>
\r
1045 <outcome value='failure'>
\r
1048 <parameter name="error-code" value="500"/>
\r
1049 <parameter name="tmp.error-message" value="Error updating md-sal for contrail-route-allotted-resource"/>
\r
1052 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
1053 <parameter name="logger" value="message-log"/>
\r
1054 <parameter name="field1" value="__TIMESTAMP__"/>
\r
1055 <parameter name="field2" value="ROLLING BACK the create due to error"/>
\r
1057 <switch test='`$np-aai-created`'>
\r
1058 <outcome value=''></outcome>
\r
1059 <outcome value='true'>
\r
1060 <block atomic="true">
\r
1061 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
1062 resource="network-policy"
\r
1063 key="network-policy.network-policy-id = $ar-assignments.contrail-id" >
\r
1064 <outcome value='failure'></outcome>
\r
1065 <outcome value='not-found'></outcome>
\r
1070 <switch test='`$contrail-created`'>
\r
1071 <outcome value=''></outcome>
\r
1072 <outcome value='true'>
\r
1073 <block atomic="true">
\r
1074 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
\r
1075 <parameter name='api-name' value='network-policy' />
\r
1076 <parameter name='api-action' value='delete' />
\r
1077 <parameter name='resp-prefix' value='contrailResp' />
\r
1078 <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
\r
1079 <parameter name='default-project' value='`$cto-api.default-project`' />
\r
1080 <parameter name='default-domain' value='`$cto-api.default-domain`' />
\r
1081 <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
\r
1082 <outcome value='success'></outcome>
\r
1083 <outcome value='not-found'></outcome>
\r
1084 <outcome value='failure'></outcome>
\r
1089 <switch test='`$ar-aai-created`'>
\r
1090 <outcome value=''></outcome>
\r
1091 <outcome value='true'>
\r
1092 <block atomic="true">
\r
1093 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
1094 resource="allotted-resource"
\r
1095 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND
\r
1096 service-subscription.service-type = $service-data.service-information.subscription-service-type AND
\r
1097 service-instance.service-instance-id = $service-data.service-information.service-instance-id AND
\r
1098 allotted-resource.id = $cto-api.contrail-route-allotted-resource-id">
\r
1099 <outcome value='failure'></outcome>
\r
1100 <outcome value='not-found'></outcome>
\r
1105 <switch test='`$ar-created`'>
\r
1106 <outcome value=''></outcome>
\r
1107 <outcome value='true'>
\r
1108 <block atomic="true">
\r
1109 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
1110 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />
\r
1111 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
\r
1112 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
1113 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
1114 <parameter name='format' value='json' />
\r
1115 <parameter name='httpMethod' value='DELETE' />
\r
1116 <parameter name="responsePrefix" value="mdsal-ar" />
\r
1117 <outcome value='failure'></outcome>
\r
1118 <outcome value='not-found'></outcome>
\r
1123 <return status='failure'>
\r
1124 <parameter name='error-code' value='500'/>
\r
1125 <parameter name='error-message' value="`'Error creating contrail route - ' + $tmp.error-message`"/>
\r
1130 <outcome value='not-found'>
\r
1133 <parameter name="error-code" value="500"/>
\r
1134 <parameter name="tmp.error-message" value="Error updating md-sal for contrail-route-allotted-resource"/>
\r
1137 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
1138 <parameter name="logger" value="message-log"/>
\r
1139 <parameter name="field1" value="__TIMESTAMP__"/>
\r
1140 <parameter name="field2" value="ROLLING BACK the create due to error"/>
\r
1142 <switch test='`$np-aai-created`'>
\r
1143 <outcome value=''></outcome>
\r
1144 <outcome value='true'>
\r
1145 <block atomic="true">
\r
1146 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
1147 resource="network-policy"
\r
1148 key="network-policy.network-policy-id = $ar-assignments.contrail-id" >
\r
1149 <outcome value='failure'></outcome>
\r
1150 <outcome value='not-found'></outcome>
\r
1155 <switch test='`$contrail-created`'>
\r
1156 <outcome value=''></outcome>
\r
1157 <outcome value='true'>
\r
1158 <block atomic="true">
\r
1159 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
\r
1160 <parameter name='api-name' value='network-policy' />
\r
1161 <parameter name='api-action' value='delete' />
\r
1162 <parameter name='resp-prefix' value='contrailResp' />
\r
1163 <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
\r
1164 <parameter name='default-project' value='`$cto-api.default-project`' />
\r
1165 <parameter name='default-domain' value='`$cto-api.default-domain`' />
\r
1166 <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
\r
1167 <outcome value='success'></outcome>
\r
1168 <outcome value='not-found'></outcome>
\r
1169 <outcome value='failure'></outcome>
\r
1174 <switch test='`$ar-aai-created`'>
\r
1175 <outcome value=''></outcome>
\r
1176 <outcome value='true'>
\r
1177 <block atomic="true">
\r
1178 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
1179 resource="allotted-resource"
\r
1180 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND
\r
1181 service-subscription.service-type = $service-data.service-information.subscription-service-type AND
\r
1182 service-instance.service-instance-id = $service-data.service-information.service-instance-id AND
\r
1183 allotted-resource.id = $cto-api.contrail-route-allotted-resource-id">
\r
1184 <outcome value='failure'></outcome>
\r
1185 <outcome value='not-found'></outcome>
\r
1190 <switch test='`$ar-created`'>
\r
1191 <outcome value=''></outcome>
\r
1192 <outcome value='true'>
\r
1193 <block atomic="true">
\r
1194 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
1195 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />
\r
1196 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
\r
1197 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
1198 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
1199 <parameter name='format' value='json' />
\r
1200 <parameter name='httpMethod' value='DELETE' />
\r
1201 <parameter name="responsePrefix" value="mdsal-ar" />
\r
1202 <outcome value='failure'></outcome>
\r
1203 <outcome value='not-found'></outcome>
\r
1208 <return status='failure'>
\r
1209 <parameter name='error-code' value='500'/>
\r
1210 <parameter name='error-message' value="`'Error creating contrail route - ' + $tmp.error-message`"/>
\r
1216 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
1217 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />
\r
1218 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
\r
1219 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
1220 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
1221 <parameter name='format' value='json' />
\r
1222 <parameter name='httpMethod' value='PUT' />
\r
1223 <parameter name="responsePrefix" value="mdsal-ar" />
\r
1224 <outcome value='success'>
\r
1227 <parameter name="ar-created" value="true" />
\r
1231 <outcome value='failure'>
\r
1233 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
1234 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.parentsvc.templatefile`" />
\r
1235 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.parent-ar-url`' />
\r
1236 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
1237 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
1238 <parameter name='format' value='json' />
\r
1239 <parameter name='httpMethod' value='DELETE' />
\r
1240 <parameter name="responsePrefix" value="parent" />
\r
1241 <outcome value='success'>
\r
1244 <outcome value='failure'>
\r
1247 <outcome value='not-found'>
\r
1252 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
1253 <parameter name="logger" value="message-log"/>
\r
1254 <parameter name="field1" value="__TIMESTAMP__"/>
\r
1255 <parameter name="field2" value="ROLLING BACK the create due to error"/>
\r
1257 <switch test='`$np-aai-created`'>
\r
1258 <outcome value=''></outcome>
\r
1259 <outcome value='true'>
\r
1260 <block atomic="true">
\r
1261 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
1262 resource="network-policy"
\r
1263 key="network-policy.network-policy-id = $ar-assignments.contrail-id" >
\r
1264 <outcome value='failure'></outcome>
\r
1265 <outcome value='not-found'></outcome>
\r
1270 <switch test='`$contrail-created`'>
\r
1271 <outcome value=''></outcome>
\r
1272 <outcome value='true'>
\r
1273 <block atomic="true">
\r
1274 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
\r
1275 <parameter name='api-name' value='network-policy' />
\r
1276 <parameter name='api-action' value='delete' />
\r
1277 <parameter name='resp-prefix' value='contrailResp' />
\r
1278 <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
\r
1279 <parameter name='default-project' value='`$cto-api.default-project`' />
\r
1280 <parameter name='default-domain' value='`$cto-api.default-domain`' />
\r
1281 <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
\r
1282 <outcome value='success'></outcome>
\r
1283 <outcome value='not-found'></outcome>
\r
1284 <outcome value='failure'></outcome>
\r
1289 <switch test='`$ar-aai-created`'>
\r
1290 <outcome value=''></outcome>
\r
1291 <outcome value='true'>
\r
1292 <block atomic="true">
\r
1293 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
1294 resource="allotted-resource"
\r
1295 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND
\r
1296 service-subscription.service-type = $service-data.service-information.subscription-service-type AND
\r
1297 service-instance.service-instance-id = $service-data.service-information.service-instance-id AND
\r
1298 allotted-resource.id = $cto-api.contrail-route-allotted-resource-id">
\r
1299 <outcome value='failure'></outcome>
\r
1300 <outcome value='not-found'></outcome>
\r
1305 <switch test='`$ar-created`'>
\r
1306 <outcome value=''></outcome>
\r
1307 <outcome value='true'>
\r
1308 <block atomic="true">
\r
1309 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
1310 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />
\r
1311 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
\r
1312 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
1313 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
1314 <parameter name='format' value='json' />
\r
1315 <parameter name='httpMethod' value='DELETE' />
\r
1316 <parameter name="responsePrefix" value="mdsal-ar" />
\r
1317 <outcome value='failure'></outcome>
\r
1318 <outcome value='not-found'></outcome>
\r
1323 <return status='failure'>
\r
1324 <parameter name='error-code' value='500'/>
\r
1325 <parameter name='error-message' value="`'Error creating contrail route - ' + $tmp.error-message`"/>
\r
1330 <outcome value='not-found'>
\r
1332 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
1333 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.parentsvc.templatefile`" />
\r
1334 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.parent-ar-url`' />
\r
1335 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
1336 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
1337 <parameter name='format' value='json' />
\r
1338 <parameter name='httpMethod' value='DELETE' />
\r
1339 <parameter name="responsePrefix" value="parent" />
\r
1340 <outcome value='success'>
\r
1343 <outcome value='failure'>
\r
1346 <outcome value='not-found'>
\r
1351 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
1352 <parameter name="logger" value="message-log"/>
\r
1353 <parameter name="field1" value="__TIMESTAMP__"/>
\r
1354 <parameter name="field2" value="ROLLING BACK the create due to error"/>
\r
1356 <switch test='`$np-aai-created`'>
\r
1357 <outcome value=''></outcome>
\r
1358 <outcome value='true'>
\r
1359 <block atomic="true">
\r
1360 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
1361 resource="network-policy"
\r
1362 key="network-policy.network-policy-id = $ar-assignments.contrail-id" >
\r
1363 <outcome value='failure'></outcome>
\r
1364 <outcome value='not-found'></outcome>
\r
1369 <switch test='`$contrail-created`'>
\r
1370 <outcome value=''></outcome>
\r
1371 <outcome value='true'>
\r
1372 <block atomic="true">
\r
1373 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
\r
1374 <parameter name='api-name' value='network-policy' />
\r
1375 <parameter name='api-action' value='delete' />
\r
1376 <parameter name='resp-prefix' value='contrailResp' />
\r
1377 <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
\r
1378 <parameter name='default-project' value='`$cto-api.default-project`' />
\r
1379 <parameter name='default-domain' value='`$cto-api.default-domain`' />
\r
1380 <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
\r
1381 <outcome value='success'></outcome>
\r
1382 <outcome value='not-found'></outcome>
\r
1383 <outcome value='failure'></outcome>
\r
1388 <switch test='`$ar-aai-created`'>
\r
1389 <outcome value=''></outcome>
\r
1390 <outcome value='true'>
\r
1391 <block atomic="true">
\r
1392 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
1393 resource="allotted-resource"
\r
1394 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND
\r
1395 service-subscription.service-type = $service-data.service-information.subscription-service-type AND
\r
1396 service-instance.service-instance-id = $service-data.service-information.service-instance-id AND
\r
1397 allotted-resource.id = $cto-api.contrail-route-allotted-resource-id">
\r
1398 <outcome value='failure'></outcome>
\r
1399 <outcome value='not-found'></outcome>
\r
1404 <switch test='`$ar-created`'>
\r
1405 <outcome value=''></outcome>
\r
1406 <outcome value='true'>
\r
1407 <block atomic="true">
\r
1408 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
1409 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />
\r
1410 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
\r
1411 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
1412 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
1413 <parameter name='format' value='json' />
\r
1414 <parameter name='httpMethod' value='DELETE' />
\r
1415 <parameter name="responsePrefix" value="mdsal-ar" />
\r
1416 <outcome value='failure'></outcome>
\r
1417 <outcome value='not-found'></outcome>
\r
1422 <return status='failure'>
\r
1423 <parameter name='error-code' value='500'/>
\r
1424 <parameter name='error-message' value="`'Error creating contrail route - ' + $tmp.error-message`"/>
\r
1431 <parameter name='cto-api.contrail-route-allotted-instance-id' value='`$tmp.ar.allotted-resource-id`' />
\r
1434 <parameter name='ctotmp.' value='' />
\r
1436 <return status='success'>
\r
1437 <parameter name="ack-final-indicator" value="Y" />
\r
1438 <parameter name="error-code" value="200" />
\r
1439 <parameter name="error-message" value="`$error-message`" />
\r