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
51 <parameter name='rollback-generated-names.index-table-name'
\r
52 value='SERVICE_INSTANCE_NAME_INDEX' />
\r
53 <parameter name='rollback-generated-names.index-table.name-prefix-column'
\r
54 value='service_instance_name_prefix' />
\r
57 <outcome value='VNF_INSTANCE'>
\r
59 <parameter name='rollback-generated-names.index-table-name' value='VNF_NAME_INDEX' />
\r
60 <parameter name='rollback-generated-names.index-table.name-prefix-column'
\r
61 value='vnf_name_prefix' />
\r
64 <outcome value='Other'>
\r
65 <return status='failure'>
\r
66 <parameter name='ack-final' value='Y'/>
\r
67 <parameter name="error-code" value="500" />
\r
68 <parameter name="error-message" value="`'Unknown rollbck-generated-name-input.naming-type: ' + $rollback-generated-names-input.naming-type`" />
\r
73 <parameter name='db.grn.' value='' />
\r
75 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
76 key='SELECT distinct prefix from GENERIC_RESOURCE_NAME WHERE type = $rollback-generated-names-input.naming-type
\r
77 AND context_id = $rollback-generated-names-input.context-id'
\r
78 pfx='db.grn.distinct-prefix[]'>
\r
79 <outcome value='failure'>
\r
80 <return status='failure'>
\r
81 <parameter name='error-code' value='500'/>
\r
82 <parameter name='error-message' value="Encountered error reading GENERIC_RESOURCE_NAME table to retrieve distinct prefix"/>
\r
85 <outcome value='not-found'>
\r
87 <parameter name='db.grn.distinct-prefix_length' value='0' />
\r
91 <for index='prefix-index' start='0' end='`$db.grn.distinct-prefix_length`' >
\r
92 <block atomic='true'>
\r
94 <parameter name='db.grn.subset.' value='' />
\r
97 <parameter name='tmp.rb.' value='' />
\r
100 <parameter name='tmp.rb.grn.prefix' value='`$db.grn.distinct-prefix[$prefix-index].prefix`' />
\r
102 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
103 key='SELECT * from GENERIC_RESOURCE_NAME WHERE type = $rollback-generated-names-input.naming-type
\r
104 AND context_id = $rollback-generated-names-input.context-id
\r
105 AND prefix = $tmp.rb.grn.prefix order by name_index'
\r
106 pfx='db.grn.subset[]'>
\r
107 <outcome value='failure'>
\r
108 <return status='failure'>
\r
109 <parameter name='error-code' value='500'/>
\r
110 <parameter name='error-message' value="Encountered error reading GENERIC_RESOURCE_NAME table"/>
\r
113 <outcome value='not-found'>
\r
114 <return status='failure'>
\r
115 <parameter name='error-code' value='500'/>
\r
116 <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
120 <block atomic='true'>
\r
122 <parameter name='tmp.rb.sql'
\r
123 value="`'SELECT * from ' + $rollback-generated-names.index-table-name
\r
124 + ' WHERE ' + $rollback-generated-names.index-table.name-prefix-column
\r
125 + ' = $tmp.rb.grn.prefix'`" />
\r
127 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
128 key="`$tmp.rb.sql`" pfx='db.grn.index-table'>
\r
129 <outcome value='failure'>
\r
130 <return status='failure'>
\r
131 <parameter name='error-message' value="`'Error reading the '
\r
132 + $rollback-generated-names.index-table-name
\r
133 + ' table with ' + $rollback-generated-names.name-prefix-column
\r
134 + ' = ' + $tmp.rb.grn.prefix
\r
135 + '. MANUAL clean up is required!'`" />
\r
138 <outcome value='not-found'>
\r
139 <return status='failure'>
\r
140 <parameter name='error-message' value="`'No entries found in '
\r
141 + $rollback-generated-names.index-table-name
\r
143 + $rollback-generated-names.name-prefix-column
\r
145 + $tmp.rb.grn.prefix `" />
\r
151 <parameter name='tmp.rb.grn.max-index'
\r
152 value='`$db.grn.subset[$db.grn.subset_length - 1].name-index`' />
\r
155 <parameter name='tmp.rb.delta-index'
\r
156 value='`$db.grn.index-table.index-number - $tmp.rb.grn.max-index`' />
\r
159 <parameter name='tmp.rb.net-index'
\r
160 value='`$db.grn.index-table.index-number - $db.grn.subset_length`' />
\r
162 <switch test="`$tmp.rb.delta-index == 0`">
\r
163 <outcome value='true'>
\r
164 <switch test="`$tmp.rb.net-index == 0`">
\r
165 <outcome value='true'>
\r
166 <block atomic='true'>
\r
168 <parameter name='tmp.rb.sql'
\r
169 value="`'DELETE from ' + $rollback-generated-names.index-table-name
\r
170 + ' WHERE ' + $rollback-generated-names.index-table.name-prefix-column
\r
171 + ' = $tmp.rb.grn.prefix'`" />
\r
173 + ' = $tmp.rb.grn.prefix AND index_number = $db.grn.index-table.index-number'`" />
\r
176 <update plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
177 key="`$tmp.rb.sql`">
\r
178 <outcome value='failure'>
\r
179 <return status='failure'>
\r
180 <parameter name='error-message' value="`'Error deleting '
\r
181 + $rollback-generated-names.index-table-name
\r
182 + ' WHERE ' + $rollback-generated-names.name-prefix-column
\r
183 + ' = ' + $tmp.rb.grn.prefix
\r
184 + ' AND index_number = ' + $db.index-table.index-number
\r
185 + '. MANUAL clean up is required!'`" />
\r
188 <outcome value='not-found'>
\r
194 <outcome value='false'>
\r
195 <block atomic='true'>
\r
197 <parameter name='tmp.rb.sql'
\r
198 value="`'UPDATE ' + $rollback-generated-names.index-table-name
\r
199 + ' set index_number = ' + $tmp.rb.net-index
\r
200 + ' WHERE ' + $rollback-generated-names.index-table.name-prefix-column
\r
201 + ' = $tmp.rb.grn.prefix'`" />
\r
203 <update plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
204 key="`$tmp.rb.sql`">
\r
205 <outcome value='failure'>
\r
206 <return status='failure'>
\r
207 <parameter name='error-message' value="`'Error updating '
\r
208 + $rollback-generated-names.index-table-name + '.index_number = '
\r
209 + $tmp.rb.net-index
\r
210 + ' WHERE ' + $rollback-generated-names.name-prefix-column
\r
211 + ' = ' + $tmp.rb.grn.prefix
\r
212 + '. MANUAL clean up is required!'`" />
\r
215 <outcome value='not-found'>
\r
216 <return status='failure'>
\r
217 <parameter name='error-message' value="`'Error updating '
\r
218 + $rollback-generated-names.index-table-name + '.index_number = '
\r
219 + $tmp.rb.net-index
\r
220 + ' WHERE ' + $rollback-generated-names.name-prefix-column
\r
221 + ' = ' + $tmp.rb.grn.prefix
\r
222 + '. MANUAL clean up is required!'`" />
\r
230 <outcome value='false'>
\r
234 <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
235 key='DELETE from GENERIC_RESOURCE_NAME WHERE type = $rollback-generated-names-input.naming-type
\r
236 AND context_id = $rollback-generated-names-input.context-id
\r
237 AND prefix = $tmp.rb.grn.prefix'>
\r
238 <outcome value='failure'>
\r
239 <return status='failure'>
\r
240 <parameter name='error-message' value="`'Error deleting GENERIC_RESOURCE_NAME WHERE type = '
\r
241 + $rollback-generated-names-input.naming-type
\r
242 + ' AND context_id = ' + $rollback-generated-names-input.context-id
\r
243 + ' AND prefix = '+ $tmp.rb.grn.prefix
\r
244 + '. MANUAL clean up is required!'`" />
\r
247 <outcome value='not-found'>
\r
251 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
252 key='SELECT * from GENERIC_RESOURCE_NAME WHERE type = $rollback-generated-names-input.naming-type
\r
253 AND prefix = $tmp.rb.grn.prefix order by name_index'
\r
254 pfx='db.grn.prefix[]'>
\r
255 <outcome value='failure'>
\r
256 <return status='failure'>
\r
257 <parameter name='error-code' value='500'/>
\r
258 <parameter name='error-message' value="Encountered error reading GENERIC_RESOURCE_NAME table"/>
\r
261 <outcome value='not-found'>
\r
264 <parameter name='tmp.rb.sql'
\r
265 value="`'DELETE from ' + $rollback-generated-names.index-table-name
\r
266 + ' WHERE ' + $rollback-generated-names.index-table.name-prefix-column
\r
267 + ' = $tmp.rb.grn.prefix'`" />
\r
269 + ' = $tmp.rb.grn.prefix AND index_number = $db.grn.index-table.index-number'`" />
\r
272 <update plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
273 key="`$tmp.rb.sql`">
\r
274 <outcome value='failure'>
\r
275 <return status='failure'>
\r
276 <parameter name='error-message' value="`'Error deleting '
\r
277 + $rollback-generated-names.index-table-name
\r
278 + ' WHERE ' + $rollback-generated-names.name-prefix-column
\r
279 + ' = ' + $tmp.rb.grn.prefix
\r
280 + ' AND index_number = ' + $db.index-table.index-number`" />
\r
283 <outcome value='not-found'>
\r
289 <outcome value='success'>
\r
292 <parameter name='tmp.rb.grn.last-max-index'
\r
293 value='`$db.grn.prefix[$db.grn.prefix_length - 1].name-index`' />
\r
295 <switch test="`$tmp.rb.net-index > $tmp.rb.grn.last-max-index`">
\r
296 <outcome value='true'>
\r
299 <parameter name='tmp.rb.sql'
\r
300 value="`'UPDATE ' + $rollback-generated-names.index-table-name
\r
301 + ' set index_number = ' + $tmp.rb.grn.last-max-index
\r
302 + ' WHERE ' + $rollback-generated-names.index-table.name-prefix-column
\r
303 + ' = $tmp.rb.grn.prefix'`" />
\r
305 <update plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
306 key="`$tmp.rb.sql`">
\r
307 <outcome value='failure'>
\r
308 <return status='failure'>
\r
309 <parameter name='error-message' value="`'Error updating '
\r
310 + $rollback-generated-names.index-table-name + '.index_number = '
\r
311 + $tmp.rb.grn.last-max-index
\r
312 + ' WHERE ' + $rollback-generated-names.name-prefix-column
\r
313 + ' = ' + $tmp.rb.grn.prefix`" />
\r
316 <outcome value='not-found'>
\r
317 <return status='failure'>
\r
318 <parameter name='error-message' value="`'Error updating '
\r
319 + $rollback-generated-names.index-table-name + '.index_number = '
\r
320 + $tmp.rb.grn.last-max-index
\r
321 + ' WHERE ' + $rollback-generated-names.name-prefix-column
\r
322 + ' = ' + $tmp.rb.grn.prefix`" />
\r