2 xmlns='http://www.onap.org/sdnc/svclogic'
\r
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}'>
\r
4 <method rpc='rollback-generated-names' mode='sync'>
\r
5 <block atomic="true">
\r
6 <switch test='`$rollback-generated-names-input.context-id`'>
\r
8 <return status='failure'>
\r
9 <parameter name='ack-final' value='Y'/>
\r
10 <parameter name="error-code" value="500" />
\r
11 <parameter name="error-message" value="rollback-generated-names-input.context-id can not be null" />
\r
15 <switch test='`$rollback-generated-names-input.naming-type`'>
\r
17 <return status='failure'>
\r
18 <parameter name='ack-final' value='Y'/>
\r
19 <parameter name="error-code" value="500" />
\r
20 <parameter name="error-message" value="rollback-generated-names-input.naming-type can not be null" />
\r
23 <outcome value='VM_INSTANCE'>
\r
25 <parameter name='rollback-generated-names.index-table-name' value='NAMING_POLICY_VM_NAME_INDEX' />
\r
26 <parameter name='rollback-generated-names.index-table.name-prefix-column' value='vm_name_prefix' />
\r
29 <outcome value='VNFC_INSTANCE'>
\r
31 <parameter name='rollback-generated-names.index-table-name' value='NAMING_POLICY_VNFC_NAME_INDEX' />
\r
32 <parameter name='rollback-generated-names.index-table.name-prefix-column' value='vnfc_name_prefix' />
\r
35 <outcome value='CLIENT_KEY'>
\r
37 <parameter name='rollback-generated-names.index-table-name' value='EIPAM_CLIENT_KEY_INDEX' />
\r
38 <parameter name='rollback-generated-names.index-table.name-prefix-column' value='vnf_name_prefix' />
\r
41 <outcome value='NETWORK_INSTANCE'>
\r
43 <parameter name='rollback-generated-names.index-table-name'
\r
44 value='NETWORK_INSTANCE_NAME_INDEX' />
\r
45 <parameter name='rollback-generated-names.index-table.name-prefix-column'
\r
46 value='network_instance_name_prefix' />
\r
49 <outcome value='SERVICE_INSTANCE'>
\r
52 <parameter name='rollback-generated-names.index-table-name'
\r
53 value='SERVICE_INSTANCE_NAME_INDEX' />
\r
54 <parameter name='rollback-generated-names.index-table.name-prefix-column'
\r
55 value='service_instance_name_prefix' />
\r
57 <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
58 key='DELETE from GENERIC_RESOURCE_NAME WHERE type = $rollback-generated-names-input.naming-type
\r
59 AND context_id = $rollback-generated-names-input.context-id AND prefix IS NULL AND name_index IS NULL'></delete>
\r
62 <outcome value='VNF_INSTANCE'>
\r
64 <parameter name='rollback-generated-names.index-table-name' value='VNF_NAME_INDEX' />
\r
65 <parameter name='rollback-generated-names.index-table.name-prefix-column'
\r
66 value='vnf_name_prefix' />
\r
69 <outcome value='Other'>
\r
70 <return status='failure'>
\r
71 <parameter name='ack-final' value='Y'/>
\r
72 <parameter name="error-code" value="500" />
\r
73 <parameter name="error-message" value="`'Unknown rollbck-generated-name-input.naming-type: ' + $rollback-generated-names-input.naming-type`" />
\r
78 <parameter name='db.grn.' value='' />
\r
80 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
81 key='SELECT distinct prefix from GENERIC_RESOURCE_NAME WHERE type = $rollback-generated-names-input.naming-type
\r
82 AND context_id = $rollback-generated-names-input.context-id'
\r
83 pfx='db.grn.distinct-prefix[]'>
\r
84 <outcome value='failure'>
\r
85 <return status='failure'>
\r
86 <parameter name='error-code' value='500'/>
\r
87 <parameter name='error-message' value="Encountered error reading GENERIC_RESOURCE_NAME table to retrieve distinct prefix"/>
\r
90 <outcome value='not-found'>
\r
92 <parameter name='db.grn.distinct-prefix_length' value='0' />
\r
96 <for index='prefix-index' start='0' end='`$db.grn.distinct-prefix_length`' >
\r
97 <block atomic='true'>
\r
99 <parameter name='db.grn.subset.' value='' />
\r
102 <parameter name='tmp.rb.' value='' />
\r
105 <parameter name='tmp.rb.grn.prefix' value='`$db.grn.distinct-prefix[$prefix-index].prefix`' />
\r
107 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
108 key='SELECT * from GENERIC_RESOURCE_NAME WHERE type = $rollback-generated-names-input.naming-type
\r
109 AND context_id = $rollback-generated-names-input.context-id
\r
110 AND prefix = $tmp.rb.grn.prefix order by name_index'
\r
111 pfx='db.grn.subset[]'>
\r
112 <outcome value='failure'>
\r
113 <return status='failure'>
\r
114 <parameter name='error-code' value='500'/>
\r
115 <parameter name='error-message' value="Encountered error reading GENERIC_RESOURCE_NAME table"/>
\r
118 <outcome value='not-found'>
\r
119 <return status='failure'>
\r
120 <parameter name='error-code' value='500'/>
\r
121 <parameter name='error-message' value="`'No entry found in GENERIC_RESOURCE_NAME where context_id = ' + $rollback-generated-names-input.context-id + ' and type = ' + $rollback-generated-names-input.naming-type + ' and prefix = ' + $db.grn.distinct-prefix[$prefix-index].prefix`"/>
\r
125 <block atomic='true'>
\r
127 <parameter name='tmp.rb.sql'
\r
128 value="`'SELECT * from ' + $rollback-generated-names.index-table-name
\r
129 + ' WHERE ' + $rollback-generated-names.index-table.name-prefix-column
\r
130 + ' = $tmp.rb.grn.prefix'`" />
\r
132 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
133 key="`$tmp.rb.sql`" pfx='db.grn.index-table'>
\r
134 <outcome value='failure'>
\r
135 <return status='failure'>
\r
136 <parameter name='error-message' value="`'Error reading the '
\r
137 + $rollback-generated-names.index-table-name
\r
138 + ' table with ' + $rollback-generated-names.name-prefix-column
\r
139 + ' = ' + $tmp.rb.grn.prefix
\r
140 + '. MANUAL clean up is required!'`" />
\r
143 <outcome value='not-found'>
\r
144 <return status='failure'>
\r
145 <parameter name='error-message' value="`'No entries found in '
\r
146 + $rollback-generated-names.index-table-name
\r
148 + $rollback-generated-names.name-prefix-column
\r
150 + $tmp.rb.grn.prefix `" />
\r
156 <parameter name='tmp.rb.grn.max-index'
\r
157 value='`$db.grn.subset[$db.grn.subset_length - 1].name-index`' />
\r
160 <parameter name='tmp.rb.delta-index'
\r
161 value='`$db.grn.index-table.index-number - $tmp.rb.grn.max-index`' />
\r
164 <parameter name='tmp.rb.net-index'
\r
165 value='`$db.grn.index-table.index-number - $db.grn.subset_length`' />
\r
167 <switch test="`$tmp.rb.delta-index == 0`">
\r
168 <outcome value='true'>
\r
169 <switch test="`$tmp.rb.net-index == 0`">
\r
170 <outcome value='true'>
\r
171 <block atomic='true'>
\r
173 <parameter name='tmp.rb.sql'
\r
174 value="`'DELETE from ' + $rollback-generated-names.index-table-name
\r
175 + ' WHERE ' + $rollback-generated-names.index-table.name-prefix-column
\r
176 + ' = $tmp.rb.grn.prefix'`" />
\r
178 + ' = $tmp.rb.grn.prefix AND index_number = $db.grn.index-table.index-number'`" />
\r
181 <update plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
182 key="`$tmp.rb.sql`">
\r
183 <outcome value='failure'>
\r
184 <return status='failure'>
\r
185 <parameter name='error-message' value="`'Error deleting '
\r
186 + $rollback-generated-names.index-table-name
\r
187 + ' WHERE ' + $rollback-generated-names.name-prefix-column
\r
188 + ' = ' + $tmp.rb.grn.prefix
\r
189 + ' AND index_number = ' + $db.index-table.index-number
\r
190 + '. MANUAL clean up is required!'`" />
\r
193 <outcome value='not-found'>
\r
199 <outcome value='false'>
\r
200 <block atomic='true'>
\r
202 <parameter name='tmp.rb.sql'
\r
203 value="`'UPDATE ' + $rollback-generated-names.index-table-name
\r
204 + ' set index_number = ' + $tmp.rb.net-index
\r
205 + ' WHERE ' + $rollback-generated-names.index-table.name-prefix-column
\r
206 + ' = $tmp.rb.grn.prefix'`" />
\r
208 <update plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
209 key="`$tmp.rb.sql`">
\r
210 <outcome value='failure'>
\r
211 <return status='failure'>
\r
212 <parameter name='error-message' value="`'Error updating '
\r
213 + $rollback-generated-names.index-table-name + '.index_number = '
\r
214 + $tmp.rb.net-index
\r
215 + ' WHERE ' + $rollback-generated-names.name-prefix-column
\r
216 + ' = ' + $tmp.rb.grn.prefix
\r
217 + '. MANUAL clean up is required!'`" />
\r
220 <outcome value='not-found'>
\r
221 <return status='failure'>
\r
222 <parameter name='error-message' value="`'Error updating '
\r
223 + $rollback-generated-names.index-table-name + '.index_number = '
\r
224 + $tmp.rb.net-index
\r
225 + ' WHERE ' + $rollback-generated-names.name-prefix-column
\r
226 + ' = ' + $tmp.rb.grn.prefix
\r
227 + '. MANUAL clean up is required!'`" />
\r
235 <outcome value='false'>
\r
239 <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
240 key='DELETE from GENERIC_RESOURCE_NAME WHERE type = $rollback-generated-names-input.naming-type
\r
241 AND context_id = $rollback-generated-names-input.context-id
\r
242 AND prefix = $tmp.rb.grn.prefix'>
\r
243 <outcome value='failure'>
\r
244 <return status='failure'>
\r
245 <parameter name='error-message' value="`'Error deleting GENERIC_RESOURCE_NAME WHERE type = '
\r
246 + $rollback-generated-names-input.naming-type
\r
247 + ' AND context_id = ' + $rollback-generated-names-input.context-id
\r
248 + ' AND prefix = '+ $tmp.rb.grn.prefix
\r
249 + '. MANUAL clean up is required!'`" />
\r
252 <outcome value='not-found'>
\r
256 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
257 key='SELECT * from GENERIC_RESOURCE_NAME WHERE type = $rollback-generated-names-input.naming-type
\r
258 AND prefix = $tmp.rb.grn.prefix order by name_index'
\r
259 pfx='db.grn.prefix[]'>
\r
260 <outcome value='failure'>
\r
261 <return status='failure'>
\r
262 <parameter name='error-code' value='500'/>
\r
263 <parameter name='error-message' value="Encountered error reading GENERIC_RESOURCE_NAME table"/>
\r
266 <outcome value='not-found'>
\r
269 <parameter name='tmp.rb.sql'
\r
270 value="`'DELETE from ' + $rollback-generated-names.index-table-name
\r
271 + ' WHERE ' + $rollback-generated-names.index-table.name-prefix-column
\r
272 + ' = $tmp.rb.grn.prefix'`" />
\r
274 + ' = $tmp.rb.grn.prefix AND index_number = $db.grn.index-table.index-number'`" />
\r
277 <update plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
278 key="`$tmp.rb.sql`">
\r
279 <outcome value='failure'>
\r
280 <return status='failure'>
\r
281 <parameter name='error-message' value="`'Error deleting '
\r
282 + $rollback-generated-names.index-table-name
\r
283 + ' WHERE ' + $rollback-generated-names.name-prefix-column
\r
284 + ' = ' + $tmp.rb.grn.prefix
\r
285 + ' AND index_number = ' + $db.index-table.index-number`" />
\r
288 <outcome value='not-found'>
\r
294 <outcome value='success'>
\r
297 <parameter name='tmp.rb.grn.last-max-index'
\r
298 value='`$db.grn.prefix[$db.grn.prefix_length - 1].name-index`' />
\r
300 <switch test="`$tmp.rb.net-index > $tmp.rb.grn.last-max-index`">
\r
301 <outcome value='true'>
\r
304 <parameter name='tmp.rb.sql'
\r
305 value="`'UPDATE ' + $rollback-generated-names.index-table-name
\r
306 + ' set index_number = ' + $tmp.rb.grn.last-max-index
\r
307 + ' WHERE ' + $rollback-generated-names.index-table.name-prefix-column
\r
308 + ' = $tmp.rb.grn.prefix'`" />
\r
310 <update plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
311 key="`$tmp.rb.sql`">
\r
312 <outcome value='failure'>
\r
313 <return status='failure'>
\r
314 <parameter name='error-message' value="`'Error updating '
\r
315 + $rollback-generated-names.index-table-name + '.index_number = '
\r
316 + $tmp.rb.grn.last-max-index
\r
317 + ' WHERE ' + $rollback-generated-names.name-prefix-column
\r
318 + ' = ' + $tmp.rb.grn.prefix`" />
\r
321 <outcome value='not-found'>
\r
322 <return status='failure'>
\r
323 <parameter name='error-message' value="`'Error updating '
\r
324 + $rollback-generated-names.index-table-name + '.index_number = '
\r
325 + $tmp.rb.grn.last-max-index
\r
326 + ' WHERE ' + $rollback-generated-names.name-prefix-column
\r
327 + ' = ' + $tmp.rb.grn.prefix`" />
\r