2 xmlns='http://www.onap.org/sdnc/svclogic'
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}'>
4 <method rpc='port-mirror-topology-operation-unassign' mode='sync'>
7 <parameter name='tmp.configuration-id' value='`$port-mirror-topology-operation-input.configuration-information.configuration-id`' />
8 <parameter name='tmp.service-instance-id' value='`$port-mirror-topology-operation-input.service-information.service-instance-id`' />
10 <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
11 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
12 <parameter name='contextPrefix' value='prop' />
14 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
15 <parameter name="source" value="`$prop.restapi.pm-configuration`"/>
16 <parameter name="outputPath" value="tmp.pmc-url"/>
17 <parameter name="target" value="{configuration-id}"/>
18 <parameter name="replacement" value="`$tmp.configuration-id`"/>
20 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
21 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.pmc-url`' />
22 <parameter name='restapiUser' value='`$prop.controller.user`' />
23 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
24 <parameter name='format' value='json' />
25 <parameter name='httpMethod' value='GET' />
26 <parameter name="responsePrefix" value="pm-mdsal" />
27 <outcome value='success'>
28 <switch test='`$pm-mdsal.port-mirror-configuration_length == 1`'>
29 <outcome value='false'>
30 <return status='failure'>
31 <parameter name='error-code' value='500' />
32 <parameter name='error-message' value="`'Cannot find port-mirror-configuration ' + $tmp.configuration-id`" />
37 <outcome value='Other'>
38 <return status='failure'>
39 <parameter name='error-code' value='500' />
40 <parameter name='error-message' value="`'Cannot find port-mirror-configuration ' + $tmp.configuration-id`" />
44 <switch test="`$pm-mdsal.port-mirror-configuration[0].configuration-data.configuration-oper-status.order-status == 'Created'`">
45 <outcome value='false'>
46 <return status='failure'>
47 <parameter name='error-code' value='500' />
48 <parameter name='error-message' value="`'Order status is ' + $mdsal-pmc.port-mirror-configuration[0].configuration-data.configuration-oper-status.order-status + ' but must be Created'`" />
53 <parameter name='pm.configuration-id' value='`$tmp.configuration-id`' />
54 <parameter name='pm.configuration-data.' value='`$pm-mdsal.port-mirror-configuration[0].configuration-data.`' />
57 <parameter name='tmp.configuration-sub-type' value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.probe-type`' />
59 <switch test='`$tmp.configuration-sub-type`'>
60 <outcome value='vprobe'>
63 <parameter name='cto-api.default-domain' value='default-domain' />
64 <parameter name='cto-api.default-project'
65 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant`' />
66 <parameter name='cto-api.cloud-region-id'
67 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id`' />
68 <parameter name='cto-api.contrail-route-allotted-resource-id'
69 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.route-allotted-resource-id`' />
70 <parameter name='cto-api.rollback-flag' value='false' />
71 <parameter name='cto-api.configuration-id' value='`$tmp.configuration-id`' />
72 <parameter name='cto-api.owning-entity'
73 value='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.owning-entity`' />
75 <call module='GENERIC-RESOURCE-API' rpc='api-contrail-route-topology-operation-delete' mode='sync' >
76 <outcome value='failure'>
77 <return status='failure'></return>
80 <call module='GENERIC-RESOURCE-API' rpc='port-mirror-rollback-capacity-db' mode='sync' >
81 <outcome value='failure'>
82 <return status='failure'></return>
88 <for silentFailure='true' index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >
91 <parameter name='tmp.link-name' value="`'PMC_' + $tmp.configuration-id
92 + '_Source' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name
93 + '_Dest' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-port-name`" />
95 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
96 resource="logical-link"
97 key="logical-link.link-name = $tmp.link-name" >
98 <outcome value='failure'>
100 <return status='failure'>
101 <parameter name='error-code' value='500' />
102 <parameter name='error-message' value="`'Failed to delete logical-link in AAI: ' + $tmp.link-name`" />
106 <outcome value='not-found'>
107 <block atomic="true"></block>
112 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
113 resource="configuration"
114 key="configuration.configuration-id = $tmp.configuration-id"
115 force="true" pfx="tmp.AnAI-data">
116 <parameter name="operational-status" value="out-of-service-path" />
117 <outcome value='not-found'>
118 <return status='failure'>
119 <parameter name='error-code' value='500' />
120 <parameter name='error-message' value="Unable to find configuration object in AAI" />
123 <outcome value='failure'>
124 <return status='failure'>
125 <parameter name='error-code' value='500' />
126 <parameter name='error-message' value="Failure updating configuration object in AAI" />
130 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
131 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.pmc-url`' />
132 <parameter name='restapiUser' value='`$prop.controller.user`' />
133 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
134 <parameter name='format' value='json' />
135 <parameter name='httpMethod' value='DELETE' />
136 <parameter name="responsePrefix" value="mdsal-pmc" />
137 <outcome value='success'>
140 <outcome value='Other'>
141 <return status='failure'>
142 <parameter name='error-code' value='500' />
143 <parameter name='error-message' value="Failed to delete port-mirror-configuration object in MD-SAL" />
147 <return status='success'>
148 <parameter name='error-code' value='200' />
149 <parameter name='ack-final' value='Y' />