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='network-topology-operation-changeassign' mode='sync'>
\r
5 <block atomic="true">
\r
6 <switch test='`$service-data.networks.network[$nidx].network-data.network-information.from-preload`'>
\r
7 <outcome value='true'>
\r
10 <outcome value='Other'>
\r
11 <return status='failure'>
\r
12 <parameter name="error-code" value="500" />
\r
13 <parameter name="error-message" value="Error: changeassign only allowed for networks with from-preload set to true" />
\r
17 <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
\r
18 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
\r
19 <parameter name='contextPrefix' value='prop' />
\r
21 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
22 <parameter name="source" value="`$prop.restapi.preload-network`"/>
\r
23 <parameter name="outputPath" value="tmp.pn-url"/>
\r
24 <parameter name="target" value="{network-name}"/>
\r
25 <parameter name="replacement" value="`$network-topology-operation-input.network-request-information.network-name`"/>
\r
27 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
28 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.pn-url`' />
\r
29 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
30 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
31 <parameter name='format' value='json' />
\r
32 <parameter name='httpMethod' value='GET' />
\r
33 <parameter name="responsePrefix" value="preload-data" />
\r
34 <outcome value='success'>
\r
35 <block atomic="true"></block>
\r
37 <outcome value='Other'>
\r
38 <return status='failure'>
\r
39 <parameter name="error-code" value="500" />
\r
40 <parameter name="error-message" value="'Error: No preload-network found with network-name =' + $tmp.network-instance-name + ' in md-sal'" />
\r
44 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
45 resource="l3-network"
\r
46 key="l3-network.network-id = $network-topology-operation-input.network-request-information.network-id
\r
49 pfx="tmp.AnAI.l3network">
\r
50 <outcome value='failure'>
\r
51 <return status='failure'>
\r
52 <parameter name="error-code" value="500" />
\r
53 <parameter name="error-message" value="`'Error retrieving l3-network with network-id=' + $network-topology-operation-input.network-request-information.network-id + ' from AnAI'`" />
\r
56 <outcome value='not-found'>
\r
57 <return status='failure'>
\r
58 <parameter name="error-code" value="404" />
\r
59 <parameter name="error-message" value="`'network-id: ' + $network-topology-operation-input.network-request-information.network-id + 'not found in AnAI'`" />
\r
63 <switch test="`$tmp.AnAI.l3network.network-name == $network-data.network-topology.network-topology-identifier-structure.network-name`">
\r
64 <outcome value='false'>
\r
65 <return status='failure'>
\r
66 <parameter name="error-code" value="404" />
\r
67 <parameter name="error-message" value="`'The input network-name,' + network-topology-operation-input.network-request-information.network-name + ', does not match what is returned from AnAI with network-id = ' + $network-topology-operation-input.network-request-information.network-id`" />
\r
71 <switch test="`$tmp.AnAI.l3network.network-type == $network-data.network-topology.network-topology-identifier-structure.network-type`">
\r
72 <outcome value='false'>
\r
73 <return status='failure'>
\r
74 <parameter name="error-code" value="404" />
\r
75 <parameter name="error-message" value="`'The input network-type,' + network-topology-operation-input.network-request-information.network-type + ', does not match what is returned from AnAI with network-id = ' + $network-topology-operation-input.network-request-information.network-id`" />
\r
79 <switch test="`$tmp.AnAI.l3network.network-name == $preload-data.preload-network-topology-information.network-topology-identifier.network-name`">
\r
80 <outcome value='false'>
\r
81 <return status='failure'>
\r
82 <parameter name="error-code" value="404" />
\r
83 <parameter name="error-message" value="`'No preload network found with network-name = ' + $tmp.AnAI.l3network.network-name + ' in SDNC'`" />
\r
87 <switch test="`$tmp.AnAI.l3network.network-type == $preload-data.preload-network-topology-information.network-topology-identifier.network-type`">
\r
88 <outcome value='false'>
\r
89 <return status='failure'>
\r
90 <parameter name="error-code" value="404" />
\r
91 <parameter name="error-message" value="`'No preload network found with network-type = ' + $tmp.AnAI.l3network.network-type + ' in SDNC'`" />
\r
96 <parameter name='x' value='0' />
\r
97 <parameter name='tmp.error-message' value='' />
\r
98 <parameter name='execute_failure' value='false' />
\r
99 <parameter name='tmp.l3networkUpdate' value='0' />
\r
101 <switch test="`$tmp.AnAI.l3network.subnets.subnet_length`">
\r
104 <parameter name="tmp.AnAI.l3network.subnets.subnet_length" value="0" />
\r
108 <for index="k" start="0" end="`$tmp.AnAI.l3network.subnets.subnet_length`">
\r
109 <block atomic='true'>
\r
111 <parameter name='tmp.start-address-match' value='0' />
\r
114 <parameter name='tmp.subnetUpdate' value='0' />
\r
116 <block atomic='true'>
\r
117 <for index="n" start="0" end="`$preload-data.preload-network-topology-information.subnets_length`">
\r
118 <switch test="`$tmp.AnAI.l3network.subnets.subnet[$k].network-start-address == $preload-data.preload-network-topology-information.subnets[$n].start-address`">
\r
119 <outcome value='true'>
\r
120 <block atomic='true'>
\r
122 <parameter name='tmp.start-address-match' value='1' />
\r
124 <switch test="`$tmp.AnAI.l3network.subnets.subnet[$k].cidr-mask == $preload-data.preload-network-topology-information.subnets[$n].cidr-mask`">
\r
125 <outcome value='false'>
\r
127 <parameter name="tmp.subnetUpdate" value="1" />
\r
131 <switch test="`$preload-data.preload-network-topology-information.subnets[$n].gateway-address`">
\r
134 <execute plugin="com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool" method="getGatewayAddress">
\r
135 <parameter name="ipAddress" value="`$preload-data.preload-network-topology-information.subnets[$n].start-address`" />
\r
136 <parameter name="ipVersion" value="`$preload-data.preload-network-topology-information.subnets[$n].ip-version`" />
\r
137 <parameter name="subnet" value="`$preload-data.preload-network-topology-information.subnets[$n].cidr-mask`" />
\r
138 <parameter name="ctxVariable" value="tmp.return.generate.gateway-address" />
\r
140 <switch test="`$tmp.AnAI.l3network.subnets.subnet[$k].gateway-address == $tmp.return.generate.gateway-address`">
\r
141 <outcome value='false'>
\r
144 <parameter name="tmp.gateway-address" value="`$tmp.return.generate.gateway-address`" />
\r
147 <parameter name="tmp.subnetUpdate" value="1" />
\r
154 <outcome value='Other'>
\r
155 <switch test="`$tmp.AnAI.l3network.subnets.subnet[$k].gateway-address == $preload-data.preload-network-topology-information.subnets[$n].gateway-address`">
\r
156 <outcome value='false'>
\r
159 <parameter name="tmp.gateway-address" value="`$preload-data.preload-network-topology-information.subnets[$n].gateway-address`" />
\r
162 <parameter name="tmp.subnetUpdate" value="1" />
\r
166 <outcome value='true'>
\r
168 <parameter name="tmp.gateway-address" value="`$preload-data.preload-network-topology-information.subnets[$n].gateway-address`" />
\r
174 <switch test="`$preload-data.preload-network-topology-information.subnets[$n].dhcp-enabled`">
\r
175 <outcome value='N'>
\r
177 <parameter name="tmp.dhcpEnabled.boolean" value="false" />
\r
180 <outcome value='Y'>
\r
182 <parameter name="tmp.dhcpEnabled.boolean" value="true" />
\r
186 <switch test="`$preload-data.preload-network-topology-information.subnets[$n].addr-from-start`">
\r
187 <outcome value='N'>
\r
189 <parameter name="tmp.addrFromStart.boolean" value="false" />
\r
192 <outcome value='Y'>
\r
194 <parameter name="tmp.addrFromStart.boolean" value="true" />
\r
198 <switch test="`$tmp.AnAI.l3network.subnets.subnet[$k].ip-assignment-direction == $tmp.addrFromStart.boolean`">
\r
199 <outcome value='false'>
\r
202 <parameter name="tmp.subnetUpdate" value="1" />
\r
207 <switch test="`$tmp.AnAI.l3network.subnets.subnet[$k].dhcp-enabled == $tmp.dhcpEnabled.boolean`">
\r
208 <outcome value='false'>
\r
211 <parameter name="tmp.subnetUpdate" value="1" />
\r
216 <switch test="`$tmp.AnAI.l3network.subnets.subnet[$k].dhcp-start == $preload-data.preload-network-topology-information.subnets[$n].dhcp-start-address`">
\r
217 <outcome value='false'>
\r
220 <parameter name="tmp.subnetUpdate" value="1" />
\r
225 <switch test="`$tmp.AnAI.l3network.subnets.subnet[$k].dhcp-end == $preload-data.preload-network-topology-information.subnets[$n].dhcp-end-address`">
\r
226 <outcome value='false'>
\r
229 <parameter name="tmp.subnetUpdate" value="1" />
\r
234 <switch test="`$tmp.AnAI.l3network.subnets.subnet[$k].subnet-name == $preload-data.preload-network-topology-information.subnets[$n].subnet-name`">
\r
235 <outcome value='false'>
\r
238 <parameter name="tmp.subnetUpdate" value="1" />
\r
243 <switch test="`$tmp.AnAI.l3network.subnets.subnet[$k].subnet-role == $preload-data.preload-network-topology-information.subnets[$n].subnet-role`">
\r
244 <outcome value='false'>
\r
247 <parameter name="tmp.subnetUpdate" value="1" />
\r
252 <switch test="`$tmp.subnetUpdate == 1`">
\r
253 <outcome value='true'>
\r
254 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
256 key="l3-network.network-id = $tmp.AnAI.l3network.network-id
\r
257 AND subnet.subnet-id = $tmp.AnAI.l3network.subnets.subnet[$k].subnet-id" >
\r
258 <!-- Update l3network.subnet -->
\r
259 <parameter name="gateway-address" value="`$tmp.gateway-address`"/>
\r
260 <parameter name="subnet-name" value="`$preload-data.preload-network-topology-information.subnets[$n].subnet-name`"/>
\r
261 <parameter name="cidr-mask" value="`$preload-data.preload-network-topology-information.subnets[$n].cidr-mask`"/>
\r
262 <parameter name="dhcp-start" value="`$preload-data.preload-network-topology-information.subnets[$n].dhcp-start-address`"/>
\r
263 <parameter name="dhcp-end" value="`$preload-data.preload-network-topology-information.subnets[$n].dhcp-end-address`"/>
\r
264 <parameter name="dhcp-enabled" value="`$tmp.dhcpEnabled.boolean`"/>
\r
265 <parameter name="ip-assignment-direction" value="`$tmp.addrFromStart.boolean`" />
\r
266 <parameter name="orchestration-status" value="PendingUpdate" />
\r
267 <outcome value='failure'>
\r
270 <parameter name='k' value='`$tmp.AnAI.l3network.subnets.subnet_length + 1`' />
\r
271 <parameter name='n' value='`$preload-data.preload-network-topology-information.subnets_length + 1`' />
\r
274 <parameter name="error-code" value="500"/>
\r
275 <parameter name="tmp.error-message" value="`'An error occurred while updating subnet attributes in AnAI with subnet-id = ' + $tmp.AnAI.l3network.subnets.subnet[$k].subnet-id`"/>
\r
277 <return status='success'>
\r
278 <parameter name='execute_failure' value='true' />
\r
282 <outcome value='not-found'>
\r
285 <parameter name='k' value='`$tmp.AnAI.l3network.subnets.subnet_length + 1`' />
\r
286 <parameter name='n' value='`$preload-data.preload-network-topology-information.subnets_length + 1`' />
\r
289 <parameter name="error-code" value="500"/>
\r
290 <parameter name="tmp.error-message" value="`'An error occurred while updating subnet attributes in AnAI with subnet-id = ' + $tmp.AnAI.l3network.subnets.subnet[$k].subnet-id`"/>
\r
292 <return status='success'>
\r
293 <parameter name='execute_failure' value='true' />
\r
297 <outcome value='success'>
\r
300 <parameter name="tmp.subnetRollback[$x].subnet-id" value= "`$tmp.AnAI.l3network.subnets.subnet[$k].subnet-id`"/>
\r
301 <parameter name="tmp.subnetRollback[$x].type" value = "update"/>
\r
304 <parameter name="x" value = "`$x + 1`" />
\r
307 <parameter name="tmp.l3networkUpdate" value="1" />
\r
318 <switch test="`$execute_failure`">
\r
319 <outcome value='false'>
\r
320 <switch test="`$tmp.start-address-match == 0`">
\r
321 <outcome value='true'>
\r
322 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
324 key="l3-network.network-id = $tmp.AnAI.l3network.network-id
\r
325 AND subnet.subnet-id = $tmp.AnAI.l3network.subnets.subnet[$k].subnet-id" >
\r
326 <parameter name="orchestration-status" value="PendingDelete" />
\r
327 <outcome value='failure'>
\r
330 <parameter name='k' value='`$tmp.AnAI.l3network.subnets.subnet_length + 1`' />
\r
331 <parameter name='n' value='`$preload-data.preload-network-topology-information.subnets_length + 1`' />
\r
334 <parameter name="error-code" value="500"/>
\r
335 <parameter name="tmp.error-message" value="`'An error occurred while updating subnet status to PendingDelete in AnAI with subnet-id = ' + $tmp.AnAI.l3network.subnets.subnet[$k].subnet-id`"/>
\r
337 <return status='success'>
\r
338 <parameter name='execute_failure' value='true' />
\r
342 <outcome value='not-found'>
\r
345 <parameter name='k' value='`$tmp.AnAI.l3network.subnets.subnet_length + 1`' />
\r
346 <parameter name='n' value='`$preload-data.preload-network-topology-information.subnets_length + 1`' />
\r
349 <parameter name="error-code" value="500"/>
\r
350 <parameter name="tmp.error-message" value="`'An error occurred while updating subnet status to PendingDelete in AnAI with subnet-id = ' + $tmp.AnAI.l3network.subnets.subnet[$k].subnet-id`"/>
\r
352 <return status='success'>
\r
353 <parameter name='execute_failure' value='true' />
\r
357 <outcome value='success'>
\r
360 <parameter name="tmp.subnetRollback[$x].subnet-id" value= "`$tmp.AnAI.l3network.subnets.subnet[$k].subnet-id`"/>
\r
361 <parameter name="tmp.subnetRollback[$x].orchestration-status" value= "`$tmp.AnAI.l3network.subnets.subnet[$k].orchestration-status`" />
\r
362 <parameter name="tmp.subnetRollback[$x].type" value = "delete" />
\r
365 <parameter name="x" value = "`$x + 1`" />
\r
368 <parameter name="tmp.l3networkUpdate" value="1" />
\r
380 <switch test="`$execute_failure`">
\r
381 <outcome value='false'>
\r
382 <for index="i" start="0" end="`$preload-data.preload-network-topology-information.subnets_length`">
\r
383 <block atomic='true'>
\r
385 <parameter name="tmp.start-address-match" value="0" />
\r
387 <block atomic='true'>
\r
388 <for index="j" start="0" end="`$tmp.AnAI.l3network.subnets.subnet_length`">
\r
389 <switch test="`$preload-data.preload-network-topology-information.subnets[$i].start-address == $tmp.AnAI.l3network.subnets.subnet[$j].network-start-address`">
\r
390 <outcome value='true'>
\r
392 <parameter name='tmp.start-address-match' value='1' />
\r
397 <switch test="`$tmp.start-address-match == 0`">
\r
398 <outcome value='true'>
\r
399 <block atomic="true">
\r
400 <switch test="`$preload-data.preload-network-topology-information.subnets[$i].dhcp-enabled`">
\r
401 <outcome value='N'>
\r
403 <parameter name="tmp.dhcpEnabled.boolean" value="false" />
\r
406 <outcome value='Y'>
\r
408 <parameter name="tmp.dhcpEnabled.boolean" value="true" />
\r
412 <switch test="`$preload-data.preload-network-topology-information.subnets[$n].addr-from-start`">
\r
413 <outcome value='N'>
\r
415 <parameter name="tmp.addrFromStart.boolean" value="false" />
\r
418 <outcome value='Y'>
\r
420 <parameter name="tmp.addrFromStart.boolean" value="true" />
\r
425 <parameter name="tmp.addrFromStart.boolean" value="true" />
\r
430 <parameter name='tmp.gateway-address' value='`$preload-data.preload-network-topology-information.subnets[$i].gateway-address`' />
\r
432 <switch test="`$preload-data.preload-network-topology-information.subnets[$i].gateway-address`">
\r
435 <execute plugin="com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool" method="getGatewayAddress">
\r
436 <parameter name="ipAddress" value="`$preload-data.preload-network-topology-information.subnets[$i].start-address`" />
\r
437 <parameter name="ipVersion" value="`$preload-data.preload-network-topology-information.subnets[$i].ip-version`" />
\r
438 <parameter name="subnet" value="`$preload-data.preload-network-topology-information.subnets[$i].cidr-mask`" />
\r
439 <parameter name="ctxVariable" value="tmp.return.generate.gateway-address" />
\r
442 <parameter name="tmp.gateway-address" value="`$tmp.return.generate.gateway-address`" />
\r
448 <parameter name="tmp.local.network-id" value="`$tmp.AnAI.l3network.network-id`" />
\r
450 <call module="VNF-API" rpc="generate-subnets-subnet-id" mode="sync" >
\r
451 <outcome value='failure'>
\r
454 <parameter name='j' value='`$tmp.AnAI.l3subnet_length + 1`' />
\r
455 <parameter name='i' value='`$preload-data.preload-network-topology-information.subnets_length + 1`' />
\r
458 <parameter name="error-code" value="500"/>
\r
459 <parameter name="tmp.error-message" value="`'An error occurred while saving new subnet in AnAI with subnet-id = ' + $tmp.return.generate-subnets-subnet-id.uuid`"/>
\r
461 <return status='success'>
\r
462 <parameter name='execute_failure' value='true' />
\r
467 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
469 key="l3-network.network-id = $tmp.AnAI.l3network.network-id
\r
470 AND subnet.subnet-id = $tmp.return.generate-subnets-subnet-id.uuid" >
\r
471 <!-- Create l3-network object -->
\r
472 <parameter name="network-id" value="`$tmp.AnAI.l3network.network-id`" />
\r
473 <parameter name="subnet-id" value="`$tmp.return.generate-subnets-subnet-id.uuid`" />
\r
474 <parameter name="gateway-address" value="`$tmp.gateway-address`" />
\r
475 <parameter name="subnet-name" value="`$preload-data.preload-network-topology-information.subnets[$i].subnet-name`" />
\r
476 <parameter name="network-start-address" value="`$preload-data.preload-network-topology-information.subnets[$i].start-address`" />
\r
477 <parameter name="cidr-mask" value="`$preload-data.preload-network-topology-information.subnets[$i].cidr-mask`" />
\r
478 <parameter name="ip-version" value="`$preload-data.preload-network-topology-information.subnets[$i].ip-version`" />
\r
479 <parameter name="dhcp-start" value="`$preload-data.preload-network-topology-information.subnets[$i].dhcp-start-address`" />
\r
480 <parameter name="dhcp-end" value="`$preload-data.preload-network-topology-information.subnets[$i].dhcp-end-address`" />
\r
481 <parameter name="dhcp-enabled" value="`$tmp.dhcpEnabled.boolean`" />
\r
482 <parameter name="ip-assignment-direction" value="`$tmp.addrFromStart.boolean`" />
\r
483 <parameter name="orchestration-status" value="PendingCreate" />
\r
484 <outcome value='failure'>
\r
487 <parameter name='j' value='`$tmp.AnAI.l3subnet_length + 1`' />
\r
488 <parameter name='i' value='`$preload-data.preload-network-topology-information.subnets_length + 1`' />
\r
491 <parameter name="error-code" value="500"/>
\r
492 <parameter name="tmp.error-message" value="`'An error occurred while saving new subnet in AnAI with subnet-id = ' + $tmp.return.generate-subnets-subnet-id.uuid`"/>
\r
494 <return status='success'>
\r
495 <parameter name='execute_failure' value='true' />
\r
499 <outcome value='not-found'>
\r
502 <parameter name='j' value='`$tmp.AnAI.l3subnet_length + 1`' />
\r
503 <parameter name='i' value='`$preload-data.preload-network-topology-information.subnets_length + 1`' />
\r
506 <parameter name="error-code" value="500"/>
\r
507 <parameter name="tmp.error-message" value="`'An error occurred while saving new subnet in AnAI with subnet-id = ' + $tmp.return.generate-subnets-subnet-id.uuid`"/>
\r
509 <return status='success'>
\r
510 <parameter name='execute_failure' value='true' />
\r
514 <outcome value='success'>
\r
517 <parameter name="tmp.subnetRollback[$x].subnet-id" value= "`$tmp.return.generate-subnets-subnet-id.uuid`" />
\r
518 <parameter name="tmp.subnetRollback[$x].type" value = "create" />
\r
521 <parameter name="x" value = "`$x + 1`" />
\r
524 <parameter name='tmp.l3networkUpdate' value='1' />
\r
528 <parameter name="tmp.local.subnet-id" value="`$tmp.AnAI.l3network.subnets.subnet[$j].subnet-id`" />
\r
530 <switch test='`$preload-data.preload-network-topology-information.subnets[$i].host-routes_length`'>
\r
533 <parameter name='preload-data.preload-network-topology-information.subnets[$i].host-routes_length' value='0' />
\r
537 <for index="h" start="0" end="`$preload-data.preload-network-topology-information.subnets[$i].host-routes_length`">
\r
538 <block atomic='true'>
\r
539 <call module="VNF-API" rpc="generate-host-routes-host-route-id" mode="sync" >
\r
540 <outcome value='failure'>
\r
543 <parameter name="error-code" value="500"/>
\r
544 <parameter name="tmp.error-message" value="`'An error occurred while saving host-route in AnAI where host-route-id = ' + $tmp.return.generate-host-routes-host-route-id.uuid`"/>
\r
546 <return status='success'>
\r
547 <parameter name='execute_failure' value='true' />
\r
552 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
553 resource="host-route"
\r
554 key="l3-network.network-id = $tmp.AnAI.l3network.network-id
\r
555 AND subnet.subnet-id = $tmp.local.subnet-id
\r
556 AND host-route.host-route-id = $tmp.return.generate-host-routes-host-route-id.uuid" >
\r
557 <!-- Create host-route object -->
\r
558 <parameter name="host-route-id" value="`$tmp.return.generate-host-routes-host-route-id.uuid`" />
\r
559 <parameter name="route-prefix" value="`$preload-data.preload-network-topology-information.subnets[$i].host-routes[$h].route-prefix`" />
\r
560 <parameter name="next-hop" value="`$preload-data.preload-network-topology-information.subnets[$i].host-routes[$h].next-hop`" />
\r
561 <outcome value='failure'>
\r
564 <parameter name="error-code" value="500"/>
\r
565 <parameter name="tmp.error-message" value="`'An error occurred while saving host-route in AnAI where host-route-id = ' + $tmp.return.generate-host-routes-host-route-id.uuid`"/>
\r
567 <return status='success'>
\r
568 <parameter name='execute_failure' value='true' />
\r
572 <outcome value='not-found'>
\r
575 <parameter name="error-code" value="500"/>
\r
576 <parameter name="tmp.error-message" value="`'An error occurred while saving host-route in AnAI where host-route-id = ' + $tmp.return.generate-host-routes-host-route-id.uuid`"/>
\r
578 <return status='success'>
\r
579 <parameter name='execute_failure' value='true' />
\r
598 <switch test="`$execute_failure`">
\r
599 <outcome value='false'>
\r
600 <block atomic='true'>
\r
601 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
602 resource="l3-network:relationship-list"
\r
603 key="l3-network.network-id = $tmp.AnAI.l3network.network-id
\r
604 AND related-to = vpn-binding" >
\r
605 <outcome value='failure'>
\r
608 <parameter name="error-code" value="500"/>
\r
609 <parameter name="tmp.error-message" value="An error occurred while deleting l3-network vpn-binding relationship from AnAI"/>
\r
611 <return status='success'>
\r
612 <parameter name='execute_failure' value='true' />
\r
617 <switch test="`$execute_failure`">
\r
618 <outcome value='false'>
\r
619 <block atomic='true'>
\r
620 <switch test="`$preload-data.preload-network-topology-information.vpn-bindings_length`">
\r
623 <parameter name="preload-data.preload-network-topology-information.vpn-bindings_length" value="0" />
\r
627 <for index="i" start="0" end="`$preload-data.preload-network-topology-information.vpn-bindings_length`">
\r
628 <block atomic='true'>
\r
630 <parameter name="tmp.vpn-binding-id" value="" />
\r
632 <switch test="`$preload-data.preload-network-topology-information.vpn-bindings[$i].vpn-binding-id`">
\r
633 <outcome value='Other'>
\r
635 <parameter name="tmp.vpn-binding-id" value="`$preload-data.preload-network-topology-information.vpn-bindings[$i].vpn-binding-id`" />
\r
639 <switch test="`$preload-data.preload-network-topology-information.vpn-bindings[$i].global-route-target != ''`" >
\r
640 <outcome value='true'>
\r
641 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
642 resource="vpn-binding"
\r
643 key="vpn-binding.global-route-target = $preload-data.preload-network-topology-information.vpn-bindings[$i].global-route-target"
\r
644 pfx="tmp.AnAI.vpn-binding">
\r
645 <outcome value='not-found'>
\r
648 <parameter name="error-code" value="500"/>
\r
649 <parameter name="tmp.error-message" value="`'Failed to query vpn-bindings n AnAI where global-route-target = ' + $preload-data.preload-network-topology-information.vpn-bindings[$i].global-route-target`"/>
\r
651 <return status='success'>
\r
652 <parameter name='execute_failure' value='true' />
\r
656 <outcome value='failure'>
\r
659 <parameter name="error-code" value="500"/>
\r
660 <parameter name="tmp.error-message" value="`'Failed to query vpn-bindings n AnAI where global-route-target = ' + $preload-data.preload-network-topology-information.vpn-bindings[$i].global-route-target`"/>
\r
662 <return status='success'>
\r
663 <parameter name='execute_failure' value='true' />
\r
667 <outcome value='success'>
\r
669 <parameter name="tmp.vpn-binding-id" value="`$tmp.AnAI.vpn-binding.vpn-id`" />
\r
675 <switch test="`$execute_failure`">
\r
676 <outcome value='false'>
\r
677 <switch test="`$tmp.vpn-binding-id != ''`">
\r
678 <outcome value='true'>
\r
679 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
680 resource="l3-network:relationship-list"
\r
681 key="l3-network.network-id = $tmp.AnAI.l3network.network-id" >
\r
682 <parameter name="relationship-list.relationship[0].related-to" value="vpn-binding" />
\r
683 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="vpn-binding.vpn-id" />
\r
684 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.vpn-binding-id`" />
\r
685 <outcome value='failure'>
\r
688 <parameter name="error-code" value="500"/>
\r
689 <parameter name="tmp.error-message" value="`'An error occurred while saving l3-newtork vpn-binding relationship in AnAI where vpn-id = ' + $tmp.vpn-binding-id`"/>
\r
692 <parameter name="i" value = "`$preload-data.preload-network-topology-information.vpn-bindings_length + 1`" />
\r
694 <return status='success'>
\r
695 <parameter name='execute_failure' value='true' />
\r
699 <outcome value='not-found'>
\r
702 <parameter name="error-code" value="500"/>
\r
703 <parameter name="tmp.error-message" value="`'An error occurred while saving l3-newtork vpn-binding relationship in AnAI where vpn-id = ' + $tmp.vpn-binding-id`"/>
\r
706 <parameter name="i" value = "`$preload-data.preload-network-topology-information.vpn-bindings_length + 1`" />
\r
708 <return status='success'>
\r
709 <parameter name='execute_failure' value='true' />
\r
713 <outcome value='success'>
\r
715 <parameter name='tmp.vpn-binding.updated' value='1' />
\r
731 <switch test="`$execute_failure`">
\r
732 <outcome value='false'>
\r
733 <block atomic='true'>
\r
734 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
735 resource="l3-network:relationship-list"
\r
736 key="l3-network.network-id = $tmp.AnAI.l3network.network-id
\r
737 AND related-to = network-policy" >
\r
738 <outcome value='failure'>
\r
741 <parameter name="error-code" value="500"/>
\r
742 <parameter name="tmp.error-message" value="An error occurred while deleting l3-network network-policy relationship from AnAI in preparation to regenerate the network-policy relationship from PRELOAD."/>
\r
744 <return status='success'>
\r
745 <parameter name='execute_failure' value='true' />
\r
750 <switch test="`$execute_failure`">
\r
751 <outcome value='false'>
\r
752 <block atomic='true'>
\r
753 <switch test="`$preload-data.preload-network-topology-information.network-policy_length`">
\r
756 <parameter name='preload-data.preload-network-topology-information.network-policy_length' value='0' />
\r
760 <for index="i" start="0" end="`$preload-data.preload-network-topology-information.network-policy_length`">
\r
761 <switch test="`$preload-data.preload-network-topology-information.network-policy[$i].network-policy-fqdn != NULL`">
\r
762 <outcome value='true'>
\r
763 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
764 resource="network-policy"
\r
765 key="network-policy.network-policy-fqdn = $preload-data.preload-network-topology-information.network-policy[$i].network-policy-fqdn"
\r
766 pfx="tmp.AnAI.network-policy" >
\r
767 <outcome value='not-found'>
\r
770 <parameter name="error-code" value="500"/>
\r
771 <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.preload-network-topology-information.network-policy[$i].network-policy-fqdn`"/>
\r
773 <return status='success'>
\r
774 <parameter name='execute_failure' value='true' />
\r
778 <outcome value='failure'>
\r
781 <parameter name="error-code" value="500"/>
\r
782 <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.preload-network-topology-information.network-policy[$i].network-policy-fqdn`"/>
\r
784 <return status='success'>
\r
785 <parameter name='execute_failure' value='true' />
\r
789 <outcome value='success'>
\r
790 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
791 resource="l3-network:relationship-list"
\r
792 key="l3-network.network-id = $tmp.AnAI.l3network.network-id" >
\r
793 <parameter name="relationship-list.relationship[0].related-to" value="network-policy" />
\r
794 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="network-policy.network-policy-id" />
\r
795 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.AnAI.network-policy.network-policy-id`" />
\r
796 <outcome value='failure'>
\r
799 <parameter name="error-code" value="500"/>
\r
800 <parameter name="tmp.error-message" value="`'An error occurred while saving l3-newtork network-policy relationship in AnAI where network-policy-id = ' + $tmp.AnAI.network-policy.network-policy-id`"/>
\r
802 <return status='success'>
\r
803 <parameter name='execute_failure' value='true' />
\r
807 <outcome value='not-found'></outcome>
\r
808 <outcome value='success'>
\r
810 <parameter name='tmp.network-policy.updated' value='1' />
\r
825 <switch test="`$execute_failure`">
\r
826 <outcome value='false'>
\r
827 <block atomic='true'>
\r
828 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
829 resource="l3-network:relationship-list"
\r
830 key="l3-network.network-id = $tmp.AnAI.l3network.network-id
\r
831 AND related-to = route-table-reference" >
\r
832 <outcome value='failure'>
\r
835 <parameter name="error-code" value="500"/>
\r
836 <parameter name="tmp.error-message" value="An error occurred while deleting l3-network route-table-reference relationship from AnAI prior to regenerate the route-table-reference relationship from PRELOAD."/>
\r
838 <return status='success'>
\r
839 <parameter name='execute_failure' value='true' />
\r
844 <switch test="`$execute_failure`">
\r
845 <outcome value='false'>
\r
846 <block atomic='true'>
\r
847 <switch test="`$preload-data.preload-network-topology-information.route-table-reference_length`">
\r
850 <parameter name='preload-data.preload-network-topology-information.route-table-reference_length' value='0' />
\r
854 <for index="i" start="0" end="`$preload-data.preload-network-topology-information.route-table-reference_length`">
\r
855 <switch test="`$preload-data.preload-network-topology-information.route-table-reference[$i].route-table-reference-fqdn != NULL`">
\r
856 <outcome value='true'>
\r
857 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
858 resource="route-table-reference"
\r
859 key="route-table-reference.route-table-reference-fqdn = $preload-data.preload-network-topology-information.route-table-reference[$i].route-table-reference-fqdn"
\r
860 pfx="tmp.AnAI.route-table-reference">
\r
861 <outcome value='not-found'>
\r
864 <parameter name="error-code" value="500"/>
\r
865 <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.preload-network-topology-information.network-policy[$i].network-policy-fqdn`"/>
\r
867 <return status='success'>
\r
868 <parameter name='execute_failure' value='true' />
\r
872 <outcome value='failure'>
\r
875 <parameter name="error-code" value="500"/>
\r
876 <parameter name="tmp.error-message" value="`'Failed to query network-policy n AnAI where network-policy-fqdn = ' + $preload-data.preload-network-topology-information.network-policy[$i].network-policy-fqdn`"/>
\r
878 <return status='success'>
\r
879 <parameter name='execute_failure' value='true' />
\r
883 <outcome value='success'>
\r
884 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
885 resource="l3-network:relationship-list"
\r
886 key="l3-network.network-id = $tmp.AnAI.l3network.network-id" >
\r
887 <parameter name="relationship-list.relationship[0].related-to" value="route-table-reference" />
\r
888 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="route-table-reference.route-table-reference-id" />
\r
889 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.AnAI.route-table-reference.route-table-reference-id`" />
\r
890 <outcome value='failure'>
\r
893 <parameter name="error-code" value="500"/>
\r
894 <parameter name="tmp.error-message" value="`'An error occurred while saving l3-newtork route-table-reference relationship in AnAI where route-table-reference-id = ' + $tmp.AnAI.route-table-reference.route-table-reference-id`"/>
\r
896 <return status='success'>
\r
897 <parameter name='execute_failure' value='true' />
\r
901 <outcome value='not-found'></outcome>
\r
902 <outcome value='success'>
\r
904 <parameter name='tmp.route-table-reference.updated' value='1' />
\r
919 <switch test="`$execute_failure`">
\r
920 <outcome value='false'>
\r
921 <switch test="`$tmp.l3networkUpdate == 1`">
\r
922 <outcome value='true'>
\r
923 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
924 resource="l3-network"
\r
925 key="l3-network.network-id = $tmp.AnAI.l3network.network-id" >
\r
926 <parameter name="orchestration-status" value="PendingUpdate" />
\r
927 <outcome value='failure'>
\r
930 <parameter name="error-code" value="500"/>
\r
931 <parameter name="tmp.error-message" value="An error occurred while updating l3-network.orchestration-status in AnAI"/>
\r
933 <return status='success'>
\r
934 <parameter name='execute_failure' value='true' />
\r
938 <outcome value='not-found'>
\r
941 <parameter name="error-code" value="500"/>
\r
942 <parameter name="tmp.error-message" value="An error occurred while updating l3-network.orchestration-status in AnAI"/>
\r
944 <return status='success'>
\r
945 <parameter name='execute_failure' value='true' />
\r
949 <outcome value='success'>
\r
951 <parameter name='tmp.l3network.status.updated' value='1' />
\r
959 <switch test="`$execute_failure`">
\r
960 <outcome value="true">
\r
961 <block atomic='true'>
\r
963 <parameter name='ROLLBACK_START' value='NETWORK_TOPOLOGY_CHANGEASSIGN' />
\r
965 <for index="z" start="0" end="`$tmp.AnAI.l3network.relationship-list.relationship_length`">
\r
966 <switch test="`$tmp.AnAI.l3network.relationship-list.relationship[$z].related-to`">
\r
967 <outcome value='vpn-binding'>
\r
968 <switch test="`$tmp.vpn-binding.updated == 1`">
\r
969 <outcome value='true'>
\r
970 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
971 resource="l3-network:relationship-list"
\r
972 key="l3-network.network-id = $tmp.AnAI.l3network.network-id" >
\r
973 <parameter name="relationship-list.relationship[0].related-to" value="vpn-binding" />
\r
974 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="vpn-binding.vpn-id" />
\r
975 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.AnAI.l3network.relationship-list.relationship[$z].relationship-data[0].relationship-value`" />
\r
976 <outcome value='failure'>
\r
978 <parameter name="error-code" value="500"/>
\r
979 <parameter name="tmp.rollback.error-message" value="`'An error occurred during rollback of l3-newtork vpn-binding relationship in AnAI where vpn-id = ' + $tmp.AnAI.l3network.relationship-list.relationship[$z].relationship-data[0].relationship-value + ' MANUAL ROLLBACK IS REQUIRED.'`"/>
\r
982 <outcome value='not-found'>
\r
984 <parameter name="error-code" value="500"/>
\r
985 <parameter name="tmp.rollback.error-message" value="`'An error occurred during rollback of l3-newtork vpn-binding relationship in AnAI where vpn-id = ' + $tmp.AnAI.l3network.relationship-list.relationship[$z].relationship-data[0].relationship-value + ' MANUAL ROLLBACK IS REQUIRED.'`"/>
\r
992 <outcome value='network-policy'>
\r
993 <switch test="`$tmp.network-policy.updated == 1`">
\r
994 <outcome value='true'>
\r
995 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
996 resource="l3-network:relationship-list"
\r
997 key="l3-network.network-id = $tmp.AnAI.l3network.network-id" >
\r
998 <parameter name="relationship-list.relationship[0].related-to" value="network-policy" />
\r
999 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="network-policy.network-policy-id" />
\r
1000 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.AnAI.l3network.relationship-list.relationship[$z].relationship-data[0].relationship-value`" />
\r
1001 <outcome value='failure'>
\r
1003 <parameter name="error-code" value="500"/>
\r
1004 <parameter name="tmp.rollback.error-message" value="`'An error occurred during rollback of l3-newtork network-policy relationship in AnAI where network-policy-id = ' + $tmp.AnAI.l3network.relationship-list.relationship[$z].relationship-data[0].relationship-value + ' MANUAL ROLLBACK IS REQUIRED.'`"/>
\r
1007 <outcome value='not-found'>
\r
1009 <parameter name="error-code" value="500"/>
\r
1010 <parameter name="tmp.rollback.error-message" value="`'An error occurred during rollback of l3-newtork network-policy relationship in AnAI where network-policy-id = ' + $tmp.AnAI.l3network.relationship-list.relationship[$z].relationship-data[0].relationship-value + ' MANUAL ROLLBACK IS REQUIRED.'`"/>
\r
1017 <outcome value='route-table-reference'>
\r
1018 <switch test="`$tmp.route-table-reference.updated == 1`">
\r
1019 <outcome value='true'>
\r
1020 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
1021 resource="l3-network:relationship-list"
\r
1022 key="l3-network.network-id = $tmp.AnAI.l3network.network-id" >
\r
1023 <parameter name="relationship-list.relationship[0].related-to" value="route-table-reference" />
\r
1024 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="route-table-reference.route-table-reference-id" />
\r
1025 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.AnAI.l3network.relationship-list.relationship[$z].relationship-data[0].relationship-value`" />
\r
1026 <outcome value='failure'>
\r
1028 <parameter name="error-code" value="500"/>
\r
1029 <parameter name="tmp.rollback.error-message" value="`'An error occurred during rollback of l3-newtork route-table-reference relationship in AnAI where route-table-reference-id = ' + $tmp.AnAI.l3network.relationship-list.relationship[$z].relationship-data[0].relationship-value + ' MANUAL ROLLBACK IS REQUIRED.'`"/>
\r
1032 <outcome value='not-found'>
\r
1034 <parameter name="error-code" value="500"/>
\r
1035 <parameter name="tmp.rollback.error-message" value="`'An error occurred during rollback of l3-newtork route-table-reference relationship in AnAI where route-table-reference-id = ' + $tmp.AnAI.l3network.relationship-list.relationship[$z].relationship-data[0].relationship-value + ' MANUAL ROLLBACK IS REQUIRED.'`"/>
\r
1044 <for index="j" start="0" end="`$x`">
\r
1045 <block atomic='true'>
\r
1047 <parameter name="tmp.rollback.match" value="0"/>
\r
1049 <for index="i" start="0" end="`$tmp.AnAI.l3network.subnets.subnet_length`">
\r
1050 <switch test="`$tmp.AnAI.l3network.subnets.subnet[$i].subnet-id == $tmp.subnetRollback[$j].subnet-id`">
\r
1051 <outcome value='true'>
\r
1052 <block atomic='true'>
\r
1053 <switch test="`$tmp.subnetRollback[$j].type`">
\r
1054 <outcome value='delete'>
\r
1055 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
1056 resource="subnet"
\r
1057 key="l3-network.network-id = $tmp.AnAI.l3network.network-id
\r
1058 AND subnet.subnet-id = $tmp.subnetRollback[$j].subnet-id" >
\r
1059 <parameter name="orchestration-status" value="`$tmp.AnAI.l3network.subnets.subnet[$i].orchestration-status`" />
\r
1060 <outcome value='not-found'>
\r
1062 <parameter name="error-code" value="500"/>
\r
1063 <parameter name="tmp.rollback.error-message" value="`'failed to rollback the subnet.orchestration-status in AnAI where subnet-id = ' + $tmp.AnAI.l3network.subnets.subnet[$i].subnet-id + ' MANUAL ROLLBACK IS REQUIRED.'`"/>
\r
1066 <outcome value='failure'>
\r
1068 <parameter name="error-code" value="500"/>
\r
1069 <parameter name="tmp.rollback.error-message" value="`'failed to rollback the subnet.orchestration-status in AnAI where subnet-id = ' + $tmp.AnAI.l3network.subnets.subnet[$i].subnet-id + ' MANUAL ROLLBACK IS REQUIRED.'`"/>
\r
1074 <outcome value='update'>
\r
1075 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
1076 resource="subnet"
\r
1077 key="l3-network.network-id = $tmp.AnAI.l3network.network-id
\r
1078 AND subnet.subnet-id = $tmp.AnAI.l3network.subnets.subnet[$j].subnet-id" >
\r
1079 <parameter name="subnet-name" value="`$tmp.AnAI.l3network.subnets.subnet[$i].subnet-name`"/>
\r
1080 <parameter name="gateway-address" value="`$tmp.AnAI.l3network.subnets.subnet[$i].gateway-address`"/>
\r
1081 <parameter name="cidr-mask" value="`$tmp.AnAI.l3network.subnets.subnet[$i].cidr-mask`"/>
\r
1082 <parameter name="dhcp-start" value="`$tmp.AnAI.l3network.subnets.subnet[$i].dhcp-start`"/>
\r
1083 <parameter name="dhcp-end" value="`$tmp.AnAI.l3network.subnets.subnet[$i].dhcp-end`"/>
\r
1084 <parameter name="dhcp-enabled" value="`$tmp.AnAI.l3network.subnets.subnet[$i].dhcp-enabled`"/>
\r
1085 <parameter name="orchestration-status" value="`$tmp.AnAI.l3network.subnets.subnet[$i].orchestration-status`" />
\r
1086 <outcome value='failure'>
\r
1088 <parameter name="error-code" value="500"/>
\r
1089 <parameter name="tmp.rollback.error-message" value="`'failed to rollback the subnet attributes update in AnAI where subnet-id = ' + $tmp.AnAI.l3network.subnets.subnet[$i].subnet-id + ' MANUAL ROLLBACK IS REQUIRED.'`"/>
\r
1092 <outcome value='not-found'>
\r
1094 <parameter name="error-code" value="500"/>
\r
1095 <parameter name="tmp.rollback.error-message" value="`'failed to rollback the subnet attributes update in AnAI where subnet-id = ' + $tmp.AnAI.l3network.subnets.subnet[$i].subnet-id + ' MANUAL ROLLBACK IS REQUIRED.'`"/>
\r
1102 <parameter name="tmp.rollback.match" value="1"/>
\r
1108 <switch test="`$tmp.rollback.match == 0`">
\r
1109 <outcome value='true'>
\r
1110 <switch test="`$tmp.subnetRollback[$j].type`">
\r
1111 <outcome value='create'>
\r
1112 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
1113 resource="subnet"
\r
1114 key="l3-network.network-id = $tmp.AnAI.l3network.network-id
\r
1115 AND subnet.subnet-id = $tmp.subnetRollback[$j].subnet-id" >
\r
1116 <outcome value='failure'>
\r
1118 <parameter name="error-code" value="500"/>
\r
1119 <parameter name="tmp.rollback.error-message" value="`'failed to rollback to delete subnet from AnAI where subnet-id = ' + $tmp.subnetRollback[$j].subnet-id + ' MANUAL ROLLBACK IS REQUIRED.'`"/>
\r
1122 <outcome value='not-found'>
\r
1124 <parameter name="error-code" value="500"/>
\r
1125 <parameter name="tmp.rollback.error-message" value="`'failed to rollback to delete subnet from AnAI where subnet-id = ' + $tmp.subnetRollback[$j].subnet-id + ' MANUAL ROLLBACK IS REQUIRED.'`"/>
\r
1135 <switch test="`$tmp.l3network.status.updated == 1`">
\r
1136 <outcome value='true'>
\r
1137 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
1138 resource="l3-network"
\r
1139 key="l3-network.network-id = $tmp.AnAI.l3network.network-id" >
\r
1140 <parameter name="orchestration-status" value="`$tmp.AnAI.l3network.orchestration-status`" />
\r
1141 <outcome value='failure'>
\r
1143 <parameter name="error-code" value="500"/>
\r
1144 <parameter name="tmp.rollback.error-message" value="`'failed to rollback l3network.orchestration-status in AnAI where subnet-id = ' + $tmp.AnAI.l3network.subnets.subnet[$i].subnet-id + ' MANUAL ROLLBACK IS REQUIRED.'`"/>
\r
1147 <outcome value='not-found'>
\r
1149 <parameter name="error-code" value="500"/>
\r
1150 <parameter name="tmp.rollback.error-message" value="`'failed to rollback l3network.orchestration-status in AnAI where subnet-id = ' + $tmp.AnAI.l3network.subnets.subnet[$i].subnet-id + ' MANUAL ROLLBACK IS REQUIRED.'`"/>
\r
1156 <return status='failure'>
\r
1157 <parameter name='error-code' value='500'/>
\r
1158 <parameter name='error-message' value="`'Error updating l3-network in AnAI with network-id = ' + $tmp.AnAI.l3network.network-id + ' - ' + $tmp.error-message + ' - ' + $tmp.rollback.error-message`"/>
\r
1164 <parameter name="ack-final" value="Y"/>
\r
1166 <return status="success">
\r
1167 <parameter name="networkId" value="`$network-topology-operation-input.network-request-information.network-id`" />
\r
1168 <parameter name="error-code" value="200" />
\r