1 <service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-changeassign' mode='sync'>
\r
2 <block atomic="true"><switch test="`$service-data.oper-status.order-status == Active`">
\r
7 enum "PendingAssignment";
\r
8 enum "PendingCreate";
\r
9 enum "PendingUpdate";
\r
13 --><outcome value='false'><return status='failure'>
\r
14 <parameter name='error-code' value='400'/>
\r
15 <parameter name='error-message' value='Invalid service-data order status'/></return></outcome></switch><call module='VNF-API' rpc='vnf-topology-assign-vfmodule' mode='sync' ></call><get-resource plugin="org.openecomp.sdnc.sli.aai.AAIService"
\r
16 resource="vf-module"
\r
17 key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
\r
18 and generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
\r
20 pfx="tmp.AnAI.vfmodule"><outcome value='failure'>
\r
21 <return status='failure'>
\r
22 <parameter name='error-code' value='500'/>
\r
23 <parameter name='error-message' value="`'An error occurred while querying vf-module from AnAI with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"/></return></outcome><outcome value='not-found'>
\r
24 <return status='failure'>
\r
25 <parameter name='error-code' value='500'/>
\r
26 <parameter name='error-message' value="`'An error occurred while querying vf-module from AnAI with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"/></return></outcome></get-resource><delete plugin="org.openecomp.sdnc.sli.aai.AAIService"
\r
27 resource="vf-module:relationship-list"
\r
28 key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
\r
29 AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id
\r
30 AND related-to = l3-network"
\r
32 local-only="false"><outcome value='failure'>
\r
33 <return status='failure'>
\r
34 <parameter name='error-code' value='500'/>
\r
35 <parameter name='error-message' value="`'An error occurred while deleting existing vf-module l3-network relationship in AnAI with with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id + ' vf-module update FAILED.'`"/></return></outcome></delete><switch test="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks_length`"><outcome value=''><set>
\r
36 <parameter name = "service-data.vnf-topology-information.vnf-assignments.vnf-networks_length" value="0" />
\r
37 </set></outcome></switch><for index="i" start="0" end="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks_length`"><save plugin="org.openecomp.sdnc.sli.aai.AAIService"
\r
38 resource="vf-module:relationship-list"
\r
39 key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
\r
40 AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
\r
44 <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
\r
45 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />
\r
46 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks[$i].network-id`" /><outcome value='failure'>
\r
49 <parameter name="error-code" value="500" />
\r
50 <parameter name="error-message" value="`' | An error occurred while saving l3-network relationship with network-id = ' + $service-data.vnf-topology-information.vnf-assignments.vnf-networks[$i].network-id + ' for vf-module with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`" />
\r
51 </set><delete plugin="org.openecomp.sdnc.sli.aai.AAIService"
\r
52 resource="vf-module:relationship-list"
\r
53 key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
\r
54 AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id
\r
55 AND related-to = l3-network"
\r
57 local-only="false"></delete><for index="i" start="0" end="`$tmp.AnAI.vfmodule.relationship-list.relationship_length`"><switch test="`$tmp.AnAI.vfmodule.relationship-list.relationship[$i].related-to`"><outcome value='l3-network'><for index="j" start="0" end="`$tmp.AnAI.vfmodule.relationship-list.relationship[$i].relationship-data_length`"><save plugin="org.openecomp.sdnc.sli.aai.AAIService"
\r
58 resource="vf-module:relationship-list"
\r
59 key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
\r
60 AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
\r
64 <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
\r
65 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />
\r
66 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.AnAI.vfmodule.relationship-list.relationship[$i].relationship-data[$j].relationship-value`" /><outcome value='failure'>
\r
68 <parameter name="error-code" value="500" />
\r
69 <parameter name="error-message" value="`$error-message + ' | An error occurred while during rollback of l3-network relationship for vf-module with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`" />
\r
70 </set></outcome><outcome value='not-found'>
\r
72 <parameter name="error-code" value="500" />
\r
73 <parameter name="error-message" value="`$error-message + ' | An error occurred while during rollback of l3-network relationship for vf-module with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`" />
\r
74 </set></outcome></save></for></outcome></switch></for><return status='failure'>
\r
75 <parameter name='error-code' value='500'/>
\r
76 <parameter name='error-message' value="`'Failed to update vf-module l3-network relationship in AnAI. ' + $error-message`"/></return></block></outcome></save></for><set>
\r
77 <parameter name="service-data.oper-status.last-order-status" value="`$service-data.oper-status.order-status`"/></set><set>
\r
78 <parameter name="service-data.oper-status.order-status" value="PendingUpdate"/></set><set>
\r
79 <parameter name="service-data.oper-status.last-action" value="`$service-data.request-information.request-action`"/></set><set>
\r
80 <parameter name="ack-final" value="Y"/></set><return status='success'>
\r
81 <parameter name="error-code" value="200" /></return></block></method></service-logic>