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='SUBNET-API' version='${project.version}'><method rpc='subnet-allocated-notification' mode='sync'>
\r
2 <block><record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
3 <parameter name="logger" value="message-log"/>
\r
4 <parameter name="field1" value="__TIMESTAMP__"/>
\r
5 <parameter name="field2" value="subnet-allocated-notification"/>
\r
6 <parameter name="field3" value="`$eipam-ip-block.request-id`"/>
\r
7 <parameter name="field4" value="`$eipam-ip-block.entity-id`"/>
\r
8 <parameter name="field5" value="`$eipam-ip-block.ptnii-name`"/>
\r
9 <parameter name="field6" value="`$eipam-ip-block.ip-address`"/>
\r
10 <parameter name="field7" value="`$eipam-ip-block.prefix-length`"/>
\r
11 <parameter name="field8" value="`$eipam-ip-block.status`"/>
\r
12 <parameter name="field9" value="`$tmp.key-value`"/></record><!--Need to know which ipv version to get the plan name from the network-model.--><switch test="`$eipam-ip-block.ptnii-name`"><!--If there's ptnii-name, then it's Gamma service--><outcome value='Other'><configure adaptor="com.att.sdnctl.sli.adaptor.ncs.ncsAdaptor" key="SNIIR" activate="true">
\r
13 <parameter name="input.request-id" value="`$eipam-ip-block.request-id`" />
\r
14 <parameter name="input.source" value="SDNC" />
\r
15 <parameter name="input.ptnii-name" value="`$eipam-ip-block.ptnii-name`" />
\r
16 <parameter name="input.ip-address" value="`$eipam-ip-block.ip-address`" />
\r
17 <parameter name="input.mask" value="`$eipam-ip-block.prefix-length`" /><outcome value="success">
\r
19 plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r
21 key="UPDATE EIPAM_IP_SUBNETS
\r
22 SET status = 'PENDING-ACTIVE'
\r
23 WHERE entity_id = $eipam-ip-block.entity-id ; "
\r
25 pfx='pfx.eipam-subnet-row'>
\r
27 <parameter name="eipam-ip-block.status" value="PENDING-ACTIVE" /></set><save plugin="org.onap.ccsdk.sli.adaptors.sli.resource.mdsal.ConfigResource" resource="eipam-ip-block">
\r
28 <parameter name="eipam-ip-block.status" value="PENDING-ACTIVE" /></save> <return status="success">
\r
30 </return></block></outcome><outcome value="Other">
\r
32 <!--subnet and subnet_keys are deleted in the EIPAMPlugin--><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePool">
\r
34 <outcome value="success">
\r
36 <parameter name="eipam-ip-block.status" value="DELETED" /></set><execute plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' method='setStatusMethod' >
\r
37 <parameter name="key1" value="IpBlockInstall failure and pool deleted in EIPAM."/>
\r
38 </execute><update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="vpe" key="vnf-id = $data-change-notification-input.key-data[0].key-value" pfx="vpe-after">
\r
39 <parameter name="operational-state" value="NCS_IP_SUBNET_INSTALL_ERROR" />
\r
40 <parameter name="summary-status" value="`$aai-summary-status-message`" />
\r
41 <parameter name="prov-status" value="PREPROV" />
\r
42 </update> <return status="failure">
\r
43 <parameter name="error-code" value="1000" />
\r
44 <parameter name="error-message" value="IpBlockInstall failure and deletePool deleted in EIPAM" />
\r
45 </return></block></outcome><outcome value="Other">
\r
48 plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r
50 key="UPDATE EIPAM_IP_SUBNETS
\r
51 SET status = 'ERROR'
\r
52 WHERE entity_id = $eipam-ip-block.entity-id ; "
\r
54 pfx='pfx.eipam-subnet-row'>
\r
56 <parameter name="eipam-ip-block.status" value="ERROR" /></set><save plugin="org.onap.ccsdk.sli.adaptors.sli.resource.mdsal.ConfigResource" resource="eipam-ip-block">
\r
57 <parameter name="eipam-ip-block.status" value="ERROR" /></save><execute plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' method='setStatusMethod' >
\r
58 <parameter name="key1" value="IpBlockInstall failure and pool deletion failed in EIPAM, need to manually delete."/></execute><update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="vpe" key="vnf-id = $data-change-notification-input.key-data[0].key-value" pfx="vpe-after">
\r
59 <parameter name="operational-state" value="NCS_IP_SUBNET_INSTALL_ERROR" />
\r
60 <parameter name="summary-status" value="`$aai-summary-status-message`" />
\r
61 <parameter name="prov-status" value="PREPROV" />
\r
62 </update> <return status="failure">
\r
63 <parameter name="error-code" value="1000" />
\r
64 <parameter name="error-message" value="IpBlockInstall failure and deletePool failed in EIPAM, need to manually delete" />
\r
65 </return></block></outcome></execute></outcome></configure></outcome><!--If no ptnii-name, check if VIPR or SRIOV--><outcome value=''><execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="startsWith" emitsOutcome='true' >
\r
66 <parameter name="source" value="`toUpperCase($eipam-ip-block.plan-name)`" />
\r
67 <parameter name="target" value="AIC_" />
\r
69 <outcome value='false'>
\r
70 <return status="failure">
\r
71 <parameter name="error-code" value="500" />
\r
72 <parameter name="error-message" value="Unknown Address Plan - not supported!" />
\r
73 </return></outcome><outcome value='true'>
\r
74 <block atomic='true'><get-resource
\r
75 plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r
77 key="SELECT * FROM EIPAM_IP_POOLS where plan_name = $eipam-ip-block.plan-name and level = 2 and key_value = $tmp.level2-key-value ;"
\r
78 pfx='tmp.eipam-pool-row'>
\r
80 <outcome value='failure'>
\r
81 <block atomic='true'><record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
82 <parameter name="logger" value="message-log"/>
\r
83 <parameter name="field1" value="__TIMESTAMP__"/>
\r
84 <parameter name="field2" value="subnet-allocated-notification"/>
\r
85 <parameter name="field3" value="`$eipam-ip-block.request-id`"/>
\r
86 <parameter name="field4" value="`$eipam-ip-block.entity-id`"/>
\r
87 <parameter name="field5" value="`$eipam-ip-block.ptnii-name`"/>
\r
88 <parameter name="field6" value="`$eipam-ip-block.ip-address`"/>
\r
89 <parameter name="field7" value="`$eipam-ip-block.prefix-length`"/>
\r
90 <parameter name="field8" value="`$eipam-ip-block.status`"/>
\r
91 <parameter name="field9" value="Failed to find this record in DB!"/>
\r
93 </record> <return status="failure">
\r
94 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
95 <parameter name="error-code" value="500" />
\r
96 <parameter name="error-message" value="Unknown EIPAM pool - not found in DB!" />
\r
97 </return></block></outcome><outcome value="not-found"><block atomic='true'><record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
98 <parameter name="logger" value="message-log"/>
\r
99 <parameter name="field1" value="__TIMESTAMP__"/>
\r
100 <parameter name="field2" value="subnet-allocated-notification"/>
\r
101 <parameter name="field3" value="`$eipam-ip-block.request-id`"/>
\r
102 <parameter name="field4" value="`$eipam-ip-block.entity-id`"/>
\r
103 <parameter name="field5" value="`$eipam-ip-block.ptnii-name`"/>
\r
104 <parameter name="field6" value="`$eipam-ip-block.ip-address`"/>
\r
105 <parameter name="field7" value="`$eipam-ip-block.prefix-length`"/>
\r
106 <parameter name="field8" value="`$eipam-ip-block.status`"/>
\r
107 <parameter name="field9" value="This record is not found in DB!"/></record> <return status="failure">
\r
108 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
109 <parameter name="error-code" value="500" />
\r
110 <parameter name="error-message" value="Unknown EIPAM pool - not found in DB!" />
\r
111 </return></block></outcome></get-resource><!--initial subnet should exists--><get-resource
\r
112 plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r
114 key="SELECT * from EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k WHERE s.plan_name = $eipam-ip-block.plan-name and s.entity_id = k.entity_id and k.level = 2 and k.key_value = $tmp.level2-key-value and s.address_family = $tmp.version ; "
\r
115 pfx='pfx.eipam-initial-subnet'>
\r
117 <outcome value='failure'>
\r
118 <return status="failure">
\r
119 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
120 <parameter name="error-code" value="500"/>
\r
121 <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNET_KEYS and EIPAM_IP_SUBNETS failed." />
\r
122 </return></outcome><outcome value="not-found"><return status="failure">
\r
123 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
124 <parameter name="error-code" value="500"/>
\r
125 <parameter name="error-message" value="Initial subnet not found, cannot auto extend." />
\r
126 </return></outcome></get-resource><!--check if new subnet already exists, possibly from previous attempt.--><get-resource
\r
127 plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r
129 key="SELECT * from EIPAM_IP_SUBNETS s WHERE s.plan_name = $eipam-ip-block.plan-name and s.entity_id = $eipam-ip-block.entity-id and s.ip_address = $eipam-ip-block.ip-address ; "
\r
130 pfx='pfx.eipam-subnet-with-same-ip'>
\r
132 <outcome value='failure'>
\r
133 <return status="failure">
\r
134 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
135 <parameter name="error-code" value="500"/>
\r
136 <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNET_KEYS and EIPAM_IP_SUBNETS failed." />
\r
137 </return></outcome><outcome value="not-found"></outcome></get-resource><get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
138 resource="l3-network"
\r
139 key="l3-network.network-id = $pfx.eipam-initial-subnet.network-id"
\r
140 local-only="false"
\r
141 pfx="aai.l3-network">
\r
142 <outcome value='not-found'>
\r
143 <return status='failure'>
\r
144 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
145 <parameter name="error-code" value="404" />
\r
146 <parameter name="error-message" value="'l3-network with network-id=' + $pfx.eipam-initial-subnet.network-id + 'Not found in AnAI'" /></return></outcome><outcome value='failure'>
\r
147 <return status='failure'>
\r
148 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
149 <parameter name="error-code" value="500" />
\r
150 <parameter name="error-message" value="'Error retrieving l3-network with network-id=' + $pfx.eipam-initial-subnet.network-id + 'from AnAI'" /></return></outcome></get-resource><set>
\r
151 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
153 plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r
155 key="INSERT EIPAM_IP_SUBNETS
\r
157 entity_id = $eipam-ip-block.entity-id ,
\r
158 service_type = $pfx.eipam-initial-subnet.service-type ,
\r
159 ip_address = $eipam-ip-block.ip-prefix ,
\r
160 prefix_length = $eipam-ip-block.mask ,
\r
161 plan_name = $eipam-ip-block.plan-name ,
\r
162 status = 'PENDING_ACTIVE' ,
\r
163 pool_id = $pfx.eipam-initial-subnet.pool-id ,
\r
164 address_family = $pfx.eipam-initial-subnet.address-family ,
\r
165 network_id = $pfx.eipam-initial-subnet.network-id ; "
\r
167 pfx='pfx.eipam-new-subnet'>
\r
168 <outcome value='failure'><return status="failure">
\r
169 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
170 <parameter name="error-code" value="500"/>
\r
171 <parameter name="error-message" value="Insert to DB table EIPAM_IP_SUBNETS failed." />
\r
172 </return></outcome><outcome value='success'>
\r
173 </outcome></save><save
\r
174 plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r
176 key="INSERT EIPAM_IP_SUBNET_KEYS
\r
178 entity_id = $eipam-ip-block.entity-id ,
\r
179 key_name = $tmp.level1-key-name ,
\r
180 key_value = $tmp.level1-key-value ,
\r
183 pfx='pfx.eipam-subnet-level1'>
\r
184 <outcome value='success'>
\r
185 </outcome><outcome value='failure'><return status="failure">
\r
186 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
187 <parameter name="error-code" value="500"/>
\r
188 <parameter name="error-message" value="Insert to DB table EIPAM_IP_SUBNET_KEYS failed." />
\r
189 </return></outcome></save><save
\r
190 plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r
192 key="INSERT EIPAM_IP_SUBNET_KEYS
\r
194 entity_id = $eipam-ip-block.entity-id ,
\r
195 key_name = $tmp.level2-key-name ,
\r
196 key_value = $tmp.level2-key-value ,
\r
199 pfx='pfx.eipam-subnet-level2'>
\r
200 <outcome value='success'>
\r
201 </outcome><outcome value='failure'><return status="failure">
\r
202 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
203 <parameter name="error-code" value="500"/>
\r
204 <parameter name="error-message" value="Insert to DB table EIPAM_IP_SUBNET_KEYS failed." />
\r
205 </return></outcome></save><record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
206 <parameter name="logger" value="message-log"/>
\r
207 <parameter name="field1" value="__TIMESTAMP__"/>
\r
208 <parameter name="field2" value="Added an entry for subnet-allocated-notification in EIPAM_IP_SUBNETS and EIPAM_IP_SUBNET_KEYS"/>
\r
209 <parameter name="field3" value="`$eipam-ip-block.request-id`"/>
\r
210 <parameter name="field4" value="`$eipam-ip-block.entity-id`"/>
\r
211 <parameter name="field5" value="`$pfx.eipam-initial-subnet.network-id`"/>
\r
212 <parameter name="field6" value="`$eipam-ip-block.ip-address`"/>
\r
213 <parameter name="field7" value="`$eipam-ip-block.prefix-length`"/>
\r
214 <parameter name="field8" value="`$eipam-ip-block.status`"/>
\r
215 <parameter name="field9" value="`$tmp.key-value`"/></record><get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
217 key="l3-network.network-id = $pfx.eipam-initial-subnet.network-id
\r
218 AND subnet.subnet-id = $eipam-ip-block.entity-id"
\r
219 local-only="false"
\r
220 pfx="tmp.aai-initial-subnet">
\r
221 <outcome value='not-found'>
\r
222 <return status='failure'>
\r
223 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
224 <parameter name="error-code" value="404" />
\r
225 <parameter name="error-message" value="'l3-network with network-id=' + $pfx.eipam-initial-subnet.network-id + ' And subnet-id=' + $eipam-ip-block.entity-id + ' is Not found in AnAI'" /></return></outcome><outcome value='failure'>
\r
226 <return status='failure'>
\r
227 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
228 <parameter name="error-code" value="500" />
\r
229 <parameter name="error-message" value="'Error retrieving l3-network with network-id=' + $pfx.eipam-initial-subnet.network-id + ' And subnet-id=' + $eipam-ip-block.entity-id + ' from AnAI'" /></return></outcome></get-resource><switch test='`$aai.l3-network.subnets.subnet_length`'>
\r
231 <return status='failure'>
\r
232 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
233 <parameter name="error-code" value="404" />
\r
234 <parameter name="error-message" value="'No subnets found in AAI for network-id=' + $pfx.eipam-initial-subnet.network-id" /></return></outcome><outcome value='Other'>
\r
236 <parameter name='tmp.l3-network.subnet.subnet-name' value="`$aai.l3-network.network-name + '_S' + $aai.l3-network.subnets.subnet_length`" />
\r
237 </set></outcome></switch><execute plugin="com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool" method="getSubnetAddresses">
\r
238 <parameter name="ipAddress" value="`$eipam-ip-block.ip-prefix`" />
\r
239 <parameter name="ipVersion" value="`tmp.version`" />
\r
240 <parameter name="subnet" value="`$eipam-ip-block.prefix-length`" />
\r
241 <parameter name="ctxGateway" value="tmp.return.generate.gateway-address" />
\r
242 <parameter name="ctxDhcpStart" value="tmp.return.generate.dhcp-start-address" />
\r
243 <parameter name="ctxDhcpEnd" value="tmp.return.generate.dhcp-end-address" />
\r
245 <outcome value='failure'>
\r
246 <return status='failure'>
\r
247 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
248 <parameter name='ack-final' value='Y'/>
\r
249 <parameter name="error-code" value="500" />
\r
250 <parameter name="error-message" value="Failed to generate gateway addresses using IpAddressTools" /></return></outcome></execute><switch test='`$tmp.aai-initial-subnet.dhcp-enabled`'>
\r
251 <outcome value='Y'>
\r
252 <block atomic="true"><set>
\r
253 <parameter name='tmp.l3-network.subnet.dhcp-enabled' value='true' />
\r
254 <parameter name='tmp.l3-network.subnet.dhcp-start' value='`$tmp.return.generate.dhcp-start-address`' />
\r
255 <parameter name='tmp.l3-network.subnet.dhcp-end' value='`$tmp.return.generate.dhcp-end-address`' />
\r
258 </set></block></outcome><outcome value='N'>
\r
259 <block atomic="true"><set>
\r
260 <parameter name='tmp.l3-network.subnet.dhcp-enabled' value='false' />
\r
261 <parameter name='tmp.l3-network.subnet.dhcp-start' value='' />
\r
262 <parameter name='tmp.l3-network.subnet.dhcp-end' value='' />
\r
265 </set></block></outcome></switch><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
267 key="l3-network.network-id = $pfx.eipam-initial-subnet.network-id
\r
268 AND subnet.subnet-id = $eipam-ip-block.entity-id" >
\r
269 <!-- Create l3-network object -->
\r
270 <parameter name="network-id" value="`$pfx.eipam-initial-subnet.network-id`" />
\r
271 <parameter name="subnet-id" value="`$eipam-ip-block.entity-id`" />
\r
272 <parameter name="subnet-name" value="`$tmp.l3-network.subnet.subnet-name`" />
\r
273 <parameter name="gateway-address" value="`$tmp.return.generate.gateway-address`" />
\r
274 <parameter name="network-start-address" value="`$eipam-ip-block.ip-prefix`" />
\r
275 <parameter name="cidr-mask" value="`$eipam-ip-block.prefix-length`" />
\r
276 <parameter name="ip-version" value="`$tmp.version`" />
\r
277 <parameter name="dhcp-start" value="`$tmp.l3-network.subnet.dhcp-start`" />
\r
278 <parameter name="dhcp-end" value="`$tmp.l3-network.subnet.dhcp-end`" />
\r
279 <parameter name="dhcp-enabled" value="`$tmp.l3-network.subnet.dhcp-enabled`" />
\r
280 <parameter name="orchestration-status" value="PendingCreate" /><outcome value='failure'>
\r
281 <return status='failure'>
\r
282 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
283 <parameter name="error-code" value="500" />
\r
284 <parameter name="error-message" value="'Cannot save subnet with l3 network-id=' + $pfx.eipam-initial-subnet.network-id + ' And subnet-id=' + $eipam-ip-block.entity-id + ' in AnAI'" /></return></outcome><outcome value='not-found'>
\r
285 </outcome></save><record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
286 <parameter name="logger" value="message-log"/>
\r
287 <parameter name="field1" value="__TIMESTAMP__"/>
\r
288 <parameter name="field2" value="Added a subnetin AAI"/>
\r
289 <parameter name="field3" value="`$eipam-ip-block.request-id`"/>
\r
290 <parameter name="field4" value="`$eipam-ip-block.entity-id`"/>
\r
291 <parameter name="field5" value="`$pfx.eipam-initial-subnet.network-id`"/>
\r
292 <parameter name="field6" value="`$eipam-ip-block.ip-address`"/>
\r
293 <parameter name="field7" value="`$eipam-ip-block.prefix-length`"/>
\r
294 <parameter name="field8" value="`$eipam-ip-block.status`"/>
\r
295 <parameter name="field9" value="`$tmp.key-value`"/></record><execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
\r
296 <parameter name='api-name' value='subnet' />
\r
297 <parameter name='api-action' value='add' />
\r
298 <parameter name='resp-prefix' value='contrailResp' />
\r
299 <parameter name='contrail-virtual-network-id' value='`$pfx.eipam-initial-subnet.network-id`' />
\r
300 <parameter name='ip-prefix' value='`$eipam-ip-block.ip-prefix`' />
\r
301 <parameter name='ip-prefix-len' value='`$eipam-ip-block.prefix-length`' />
\r
302 <parameter name='dns-server-address' value='0.0.0.0' />
\r
303 <parameter name='enable-dhcp' value='`$tmp.l3-network.subnet.dhcp-enabled`' />
\r
304 <parameter name='default-gateway' value='`$tmp.return.generate.gateway-address`' />
\r
305 <parameter name='subnet-name' value='`$tmp.l3-network.subnet.subnet-name`' />
\r
306 <parameter name='start' value='`$tmp.l3-network.subnet.dhcp-start`' />
\r
307 <parameter name='end' value='`$tmp.l3-network.subnet.dhcp-end`' />
\r
308 <outcome value='success'>
\r
310 </block></outcome><outcome value='failure'>
\r
313 <parameter name="eipam-ip-block.status" value="ERROR" /></set><save
\r
314 plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r
316 key="UPDATE EIPAM_IP_SUBNETS
\r
317 SET status = 'ERROR'
\r
318 WHERE entity_id = $eipam-ip-block.entity-id ; "
\r
320 pfx='pfx.eipam-subnet-row'>
\r
321 <outcome value='failure'>
\r
322 <return status="failure">
\r
323 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
324 <parameter name="error-code" value="500"/>
\r
325 <parameter name="error-message" value="An error occured while updating subnet to ERROR in mysql." />
\r
326 </return></outcome><outcome value="not-found"><return status="failure">
\r
327 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
328 <parameter name="error-code" value="500"/>
\r
329 <parameter name="error-message" value="An error occured while updating subnet to ERROR in mysql." />
\r
330 </return></outcome></save><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
332 key="l3-network.network-id = $pfx.eipam-initial-subnet.network-id
\r
333 AND subnet.subnet-id = $eipam-ip-block.entity-id"></delete><save plugin="org.onap.ccsdk.sli.adaptors.sli.resource.mdsal.ConfigResource" resource="eipam-ip-block">
\r
334 <parameter name="eipam-ip-block.status" value="ERROR" /></save><return status='failure'>
\r
335 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
336 <parameter name="error-code" value="500" />
\r
337 <parameter name="error-message" value="`'Failed to create subnet in Contrail. '+ $contrailResp.resp-code + ':' +$contrailResp.resp-message `" />
\r
338 </return></block></outcome></execute><record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
339 <parameter name="logger" value="message-log"/>
\r
340 <parameter name="field1" value="__TIMESTAMP__"/>
\r
341 <parameter name="field2" value="Added a subnet in Contrail"/>
\r
342 <parameter name="field3" value="`$eipam-ip-block.request-id`"/>
\r
343 <parameter name="field4" value="`$eipam-ip-block.entity-id`"/>
\r
344 <parameter name="field5" value="`$pfx.eipam-initial-subnet.network-id`"/>
\r
345 <parameter name="field6" value="`$eipam-ip-block.ip-address`"/>
\r
346 <parameter name="field7" value="`$eipam-ip-block.prefix-length`"/>
\r
347 <parameter name="field8" value="`$eipam-ip-block.status`"/>
\r
348 <parameter name="field9" value="`$tmp.key-value`"/></record><update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
350 key="l3-network.network-id = $pfx.eipam-initial-subnet.network-id
\r
351 AND subnet.subnet-id = $eipam-ip-block.entity-id" >
\r
352 <parameter name="orchestration-status" value="Created" />
\r
353 <outcome value='not-found'>
\r
354 </outcome><outcome value='failure'>
\r
356 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
357 <parameter name="logger" value="message-log"/>
\r
358 <parameter name="field1" value="__TIMESTAMP__"/>
\r
359 <parameter name="field2" value="Update status to Created failed in AAI"/>
\r
360 <parameter name="field3" value="`$eipam-ip-block.request-id`"/>
\r
361 <parameter name="field4" value="`$eipam-ip-block.entity-id`"/>
\r
362 <parameter name="field5" value="`$pfx.eipam-initial-subnet.network-id`"/>
\r
363 <parameter name="field6" value="`$eipam-ip-block.ip-address`"/>
\r
364 <parameter name="field7" value="`$eipam-ip-block.prefix-length`"/>
\r
365 <parameter name="field8" value="`$eipam-ip-block.status`"/>
\r
366 <parameter name="field9" value="`$tmp.key-value`"/></record><save
\r
367 plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r
369 key="UPDATE EIPAM_IP_SUBNETS
\r
370 SET status = 'ERROR'
\r
371 WHERE entity_id = $eipam-ip-block.entity-id ; "
\r
373 pfx='pfx.eipam-subnet-row'>
\r
374 <outcome value='failure'>
\r
375 <return status="failure">
\r
376 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
377 <parameter name="error-code" value="500"/>
\r
378 <parameter name="error-message" value="An error occured while updating subnet to ERROR in mysql." />
\r
379 </return></outcome><outcome value="not-found"><return status="failure">
\r
380 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
381 <parameter name="error-code" value="500"/>
\r
382 <parameter name="error-message" value="An error occured while updating subnet to ERROR in mysql." />
\r
383 </return></outcome></save><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
385 key="l3-network.network-id = $pfx.eipam-initial-subnet.network-id
\r
386 AND subnet.subnet-id = $eipam-ip-block.entity-id"></delete><execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
\r
387 <parameter name='api-name' value='subnet' />
\r
388 <parameter name='api-action' value='delete' />
\r
389 <parameter name='resp-prefix' value='contrailResp' />
\r
390 <parameter name='contrail-virtual-network-id' value='`$pfx.eipam-initial-subnet.network-id`' />
\r
391 <parameter name='ip-prefix' value='`$eipam-ip-block.ip-prefix`' />
\r
392 <outcome value='failure'>
\r
393 <return status='failure'>
\r
394 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
395 <parameter name="error-code" value="500" />
\r
396 <parameter name="error-message" value="`'Failed to delete subnet in Contrail. '+ $contrailResp.resp-code + ':' +$contrailResp.resp-message `" />
\r
397 </return></outcome></execute><set>
\r
398 <parameter name="eipam-ip-block.status" value="ERROR" /></set><return status='failure'>
\r
399 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
400 <parameter name="error-code" value="500" />
\r
401 <parameter name="error-message" value="'Cannot save subnet status to Created with l3 network-id=' + $pfx.eipam-initial-subnet.network-id + ' And subnet-id=' + $eipam-ip-block.entity-id + ' in AnAI'" /></return></block></outcome></update><save
\r
402 plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r
404 key="UPDATE EIPAM_IP_SUBNETS
\r
405 SET status = 'CREATED'
\r
406 WHERE entity_id = $eipam-ip-block.entity-id ; "
\r
408 pfx='pfx.eipam-subnet-row'>
\r
409 <outcome value='failure'>
\r
410 <return status="failure">
\r
411 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
412 <parameter name="error-code" value="500"/>
\r
413 <parameter name="error-message" value="An error occured while updating subnet to CREATED in mysql." />
\r
414 </return></outcome><outcome value="not-found"><return status="failure">
\r
415 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
416 <parameter name="error-code" value="500"/>
\r
417 <parameter name="error-message" value="An error occured while updating subnet to CREATED in mysql." />
\r
418 </return></outcome></save><!--subnet and subnet_keys are deleted in the EIPAMPlugin--><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="activateSubnet">
\r
419 <outcome value='failure'><return status="failure">
\r
420 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
421 <parameter name="error-code" value="500"/>
\r
422 <parameter name="error-message" value="An error occured while activating subnet in EIPAM." />
\r
423 </return></outcome></execute><save
\r
424 plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r
426 key="UPDATE EIPAM_IP_SUBNETS
\r
427 SET status = 'ACTIVE'
\r
428 WHERE entity_id = $eipam-ip-block.entity-id ; "
\r
430 pfx='pfx.eipam-subnet-row'>
\r
431 <outcome value='failure'>
\r
432 <return status="failure">
\r
433 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
434 <parameter name="error-code" value="500"/>
\r
435 <parameter name="error-message" value="An error occured while updating subnet to active in mysql." />
\r
436 </return></outcome><outcome value="not-found"><return status="failure">
\r
437 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
438 <parameter name="error-code" value="500"/>
\r
439 <parameter name="error-message" value="An error occured while updating subnet to active in mysql." />
\r
440 </return></outcome><outcome value='success'>
\r
441 </outcome></save><update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
443 key="l3-network.network-id = $aai.l3-network.network-id
\r
444 AND subnet.subnet-id = $eipam-ip-block.entity-id" >
\r
445 <parameter name="orchestration-status" value="Created" />
\r
446 <outcome value='failure'>
\r
447 <return status="failure">
\r
448 <parameter name="error-code" value="500"/>
\r
449 <parameter name="error-message" value="Failure updating orchestration-status in AAI for subnet." />
\r
450 </return></outcome><outcome value="not-found"><return status="failure">
\r
451 <parameter name="error-code" value="500"/>
\r
452 <parameter name="error-message" value="Failure updating orchestration-status in AAI for subnet. Subnet not found." />
\r
453 </return></outcome></update> <return status="success">
\r
454 <parameter name='eipam-ip-block.request-id' value="`$eipam-ip-block.entity-id + '-' + $aai.l3-network.contrail-network-fqdn`" />
\r
455 </return></block></outcome></execute></outcome></switch></block></method></service-logic>