1 <service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-automated-assign' mode='sync'>
\r
2 <block atomic="true"><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-id == $service-data.vnf-id`"><outcome value='true'>
\r
3 <return status='failure'>
\r
4 <parameter name='error-code' value='500'/>
\r
5 <parameter name='error-message' value='vnf-id is already present in config-tree'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.model-customization-uuid`"><outcome value='0'><return status='failure'>
\r
6 <parameter name='error-code' value='400'/>
\r
7 <parameter name='error-message' value='model-customization-uuid cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>
\r
8 <parameter name='error-code' value='400'/>
\r
9 <parameter name='error-message' value='model-customization-uuid cannot be NULL or 0'/></return></outcome></switch><get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
10 resource="vf-module"
\r
11 key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
\r
12 and generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
\r
14 pfx="tmp.AnAI.vfmodule" ><outcome value='failure'>
\r
15 <return status='failure'>
\r
16 <parameter name='error-code' value='500'/>
\r
17 <parameter name='error-message' value="`'Encountered error 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
18 <return status='failure'>
\r
19 <parameter name='error-code' value='404'/>
\r
20 <parameter name='error-message' value="`'vf-module not found in 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><call module='VNF-API' rpc='vnf-topology-automated-assign-vfmodule' mode='sync' ></call><switch test="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks_length`"><outcome value=''><set>
\r
21 <parameter name='service-data.vnf-topology-information.vnf-assignments.vnf-networks_length' value='0' />
\r
22 </set></outcome></switch><for index="i" start="0" end="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks_length`"><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
23 resource="vf-module:relationship-list"
\r
24 key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
\r
25 and generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
\r
29 <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
\r
30 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />
\r
31 <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
32 <block atomic='true'><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
33 resource="vf-module:relationship-list"
\r
34 key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
\r
35 AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id
\r
36 AND related-to = l3-network"
\r
38 local-only="false"></delete><call module='VNF-API' rpc='rollback-eipam-ip-assignment' mode='sync' ></call></block><return status='failure'>
\r
39 <parameter name='error-code' value='500'/>
\r
40 <parameter name='error-message' value="`'Encountered error while saving vf-module l3-network relationship in AnAI with network-id = ' + $service-data.vnf-topology-information.vnf-assignments.vnf-networks[$i].network-id`"/></return></block></outcome></save></for><update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
41 resource="vf-module"
\r
42 key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
\r
43 and generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id"
\r
44 local-only="false" >
\r
45 <parameter name="orchestration-status" value="pending-create" /><outcome value='failure'>
\r
46 <block atomic="true">
\r
47 <block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
48 resource="vf-module:relationship-list"
\r
49 key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id
\r
50 AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id
\r
51 AND related-to = l3-network"
\r
53 local-only="false"></delete><call module='VNF-API' rpc='rollback-eipam-ip-assignment' mode='sync' ></call></block><return status='failure'>
\r
54 <parameter name='error-code' value='500'/>
\r
55 <parameter name='error-message' value="Encountered error while updating vf-module orchestration-status in AnAI"/></return></block></outcome></update><set>
\r
56 <parameter name="service-data.oper-status.order-status" value="PendingCreate"/></set><set>
\r
57 <parameter name="ack-final" value="Y"/></set></block></method></service-logic>