Merge "Remove test for Active on Delete"
[sdnc/oam.git] / platform-logic / vnfapi / src / main / xml / VNF-API_vnf-topology-automated-assign.xml
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
13                 local-only="false" \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
26         force="true" \r
27         local-only="false">\r
28         \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
37         force="true" \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
52         force="true" \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>