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='1.4.1-SNAPSHOT'>
4 <method rpc='self-serve-netbox-ip-assign' mode='sync'>
6 <switch test='`$ss.capability-name`'>
8 <return status="failure">
9 <parameter name="ack-final" value="Y" />
10 <parameter name="error-code" value="500"/>
11 <parameter name="error-message" value="ss.capability-name is null" />
15 <switch test='`$ss.capability-action`'>
17 <return status="failure">
18 <parameter name="ack-final" value="Y" />
19 <parameter name="error-code" value="500"/>
20 <parameter name="error-message" value="ss.capability-action is null" />
24 <call module='GENERIC-RESOURCE-API' rpc='self-service-capability-param-resolution' mode='sync' >
25 <outcome value='failure'>
26 <return status="failure">
27 <parameter name="ack-final" value="Y" />
28 <parameter name="error-code" value="500"/>
29 <parameter name="error-message" value="`'Not all assignments are resolved' + $error-message`" />
34 <for index="pidx" start="0" end="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param_length`">
36 <parameter name='tmp.ss.param.capability-name'
37 value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.capability-name`' />
40 <parameter name='tmp.ss.param.name'
41 value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].name`' />
43 <switch test='`$tmp.ss.param.capability-name == $ss.capability-name`'>
44 <outcome value='true'>
45 <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.status`'>
46 <outcome value='FAILED'>
48 <for index="kidx" start="0" end="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.resource-key_length`">
49 <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.resource-key[$kidx].name`'>
50 <outcome value='service-instance-id'>
52 <parameter name='tmp.ss.service-instance-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
55 <outcome value='vf-module-id'>
57 <parameter name='tmp.ss.vf-module-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
60 <outcome value='prefix-id'>
62 <parameter name='tmp.ss.prefix-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
65 <outcome value='ip-address-id'>
67 <parameter name='tmp.ss.ip-address-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
70 <outcome value='external_key'>
72 <parameter name='tmp.ss.external-key' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
77 <switch test='`$ss.capability-action`'>
78 <outcome value='assign'>
80 <execute plugin="org.onap.ccsdk.sli.adaptors.netbox.api.NetboxClient" method="assignIpAddress">
81 <parameter name="service_instance_id" value="`$tmp.ss.service-instance-id`" />
82 <parameter name="vf_module_id" value="`$tmp.ss.vf-module-id`" />
83 <parameter name="prefix_id" value="`$tmp.ss.prefix-id`" />
84 <parameter name="resource_name" value="`$tmp.ss.param.name`" />
85 <parameter name="external_key" value="`$tmp.ss.external-key`" />
86 <outcome value='failure'>
89 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.status' value='FAILED' />
91 <return status='failure'>
92 <parameter name='error-code' value='' />
93 <parameter name='error-message' value='' />
97 <outcome value='success'>
100 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].value'
101 value='`$self_serve_netbox_ip_assignement.ip-address`' />
104 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.status'
112 <outcome value='unassign'>
113 <block atomic="true">
114 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
115 key='SELECT * from IPAM_IP_ASSIGNEMENT
116 WHERE external_key = $tmp.ss.external-key
117 AND service_instance_id = $tmp.ss.service-instance-id' >
118 <outcome value='not-found'>
121 <outcome value='success'>
122 <block atomic="true">
124 <parameter name='tmp.status' value="PENDING_DELETE" />
126 <update plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
127 key="UPDATE IPAM_IP_ASSIGNEMENT set ip_status = $tmp.status
128 WHERE external_key = $tmp.ss.external-key
129 AND service_instance_id = $tmp.ss.service-instance-id" >
130 <outcome value='failure'>
131 <return status='failure'>
132 <parameter name='ack-final' value='Y'/>
133 <parameter name="error-code" value="500" />
134 <parameter name="error-message" value="`'Error updating NETBOX_IP_ASSIGNMENTS table to unassign ip with external_key=' + $tmp.ss.external-key + ' and service_instance_id=' + $tmp.ss.service-instance-id`" />
138 <execute plugin="org.onap.ccsdk.sli.adaptors.netbox.api.NetboxClient" method="unassignIpAddress">
139 <parameter name="service_instance_id" value="`$tmp.ss.service-instance-id`" />
140 <parameter name="external_key" value="`$tmp.ss.external-key`" />
141 <outcome value='failure'>
142 <return status='failure'>
143 <parameter name='ack-final' value='Y'/>
144 <parameter name="error-code" value="500" />
145 <parameter name="error-message" value="`'Error in NetboxClient#unassignIPAddress with external-key='+ $tmp.ss.external-key`" />
148 <outcome value='success'>
150 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.status'
163 <outcome value='PENDING'>
165 <for index="kidx" start="0" end="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.resource-key_length`">
166 <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.resource-key[$kidx].name`'>
167 <outcome value='service-instance-id'>
169 <parameter name='tmp.ss.service-instance-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
172 <outcome value='vf-module-id'>
174 <parameter name='tmp.ss.vf-module-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
177 <outcome value='prefix-id'>
179 <parameter name='tmp.ss.prefix-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
182 <outcome value='ip-address-id'>
184 <parameter name='tmp.ss.ip-address-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
187 <outcome value='external_key'>
189 <parameter name='tmp.ss.external-key' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
194 <switch test='`$ss.capability-action`'>
195 <outcome value='assign'>
196 <block atomic='true'>
197 <execute plugin="org.onap.ccsdk.sli.adaptors.netbox.api.NetboxClient" method="assignIpAddress">
198 <parameter name="service_instance_id" value="`$tmp.ss.service-instance-id`" />
199 <parameter name="vf_module_id" value="`$tmp.ss.vf-module-id`" />
200 <parameter name="prefix_id" value="`$tmp.ss.prefix-id`" />
201 <parameter name="resource_name" value="`$tmp.ss.param.name`" />
202 <parameter name="external_key" value="`$tmp.ss.external-key`" />
203 <outcome value='failure'>
204 <block atomic='true'>
206 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.status' value='FAILED' />
208 <return status='failure'>
209 <parameter name='error-code' value='' />
210 <parameter name='error-message' value='' />
214 <outcome value='success'>
217 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].value'
218 value='`$self_serve_netbox_ip_assignement.ip-address`' />
221 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.status'
229 <outcome value='unassign'>
230 <block atomic="true">
231 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
232 key='SELECT * from IPAM_IP_ASSIGNEMENT
233 WHERE external_key = $tmp.ss.external-key
234 AND service_instance_id = $tmp.ss.service-instance-id' >
235 <outcome value='not-found'>
238 <outcome value='success'>
239 <block atomic="true">
241 <parameter name='tmp.status' value="PENDING_DELETE" />
243 <update plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
244 key="UPDATE IPAM_IP_ASSIGNEMENT set ip_status = $tmp.status
245 WHERE external_key = $tmp.ss.external-key
246 AND service_instance_id = $tmp.ss.service-instance-id" >
247 <outcome value='failure'>
248 <return status='failure'>
249 <parameter name='ack-final' value='Y'/>
250 <parameter name="error-code" value="500" />
251 <parameter name="error-message" value="`'Error updating NETBOX_IP_ASSIGNMENTS table to unassign ip with external_key=' + $tmp.ss.external-key + ' and service_instance_id=' + $tmp.ss.service-instance-id`" />
255 <execute plugin="org.onap.ccsdk.sli.adaptors.netbox.api.NetboxClient" method="unassignIpAddress">
256 <parameter name="service_instance_id" value="`$tmp.ss.service-instance-id`" />
257 <parameter name="external_key" value="`$tmp.ss.external-key`" />
258 <outcome value='failure'>
259 <return status='failure'>
260 <parameter name='ack-final' value='Y'/>
261 <parameter name="error-code" value="500" />
262 <parameter name="error-message" value="`'Error in NetboxClient#unassignIPAddress with external-key='+ $tmp.ss.external-key`" />
265 <outcome value='success'>
267 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$pidx].resource-resolution-data.status'
284 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
285 <parameter name="logger" value="message-log"/>
286 <parameter name="field1" value="__TIMESTAMP__"/>
287 <parameter name="field2" value="`'SS: pidx: ' + $pidx`"/>
290 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
291 <parameter name='filename' value='/var/tmp/ss.eipam.log' />