Configuration Item Reclassification

Gopi22
Giga Guru

Hi,

We have got a requirement to remove couple of classes in CMDB and reclassify the CIs to existing classes. Also, OOB classes like Computer and Software needs to be removed.

Please let me know the challenges in doing the same.

Thanks,

Gopi

5 REPLIES 5

Jaspal Singh
Mega Patron
Mega Patron

Hi Gopikrishnan,



All you need is to go into the dictionary entry for the table you want to remove from the choice list and de-activate the dictionary entry.



Link How do I add/remove/manage CI Class values?should help.


Chuck Tomasi
Tera Patron

Hi Gopi,



Because of the hierarchical nature of the CMDB, removing cmdb_ci_computer and cmdb_ci_software, would be a bad idea because it would remove all the classes below them and also possibly impact other applications like asset management in the future that may interact with these tables. Under strong recommendation, do not remove those tables.



If you have CIs in those tables and need to move to other tables, (e.g. move a computer to the Linux Server table, I recommend doing an export and import of that information and remove the old records. Others may have some creative options. I'll be curious to see what they come up with.


Fabian Kunzke
Kilo Sage
Kilo Sage

Hi,



Theoretically speaking the challenge in this is not the excecution, nor the coding required. Your main issue will be, that the data has to be extracted out of one table and has to be moved to another one.



This results in the lost of any references (e.g. incident->cmdb_ci). The only way of preventing this is by keeping the unique ids (in this case sys_ids, except if you changed it before). This again should theoretically work, since the sys_id has to be unique up to the top level (cmdb). BUT it would mean, that on inserting the extracted data, the "old" one has to be already gone. This by it self is a huge risk, since it allows a timeframe where data could potentially drop since it has to be nonexisting the moment you insert it again.



Therefore the times i had costumers do this, they copied it instead. BUT that also ment that the same sys_ids could not be used (which is not that good of an idea anyways).



So to get around the above mentioned conundrum the script that handles the data migration should also check all references and update them. The scripts workflow would match something like this:


get all the cis to move => copy them => replace references => deactivate the "old" cis



This (depending on the amount of data) ist time consuming and should be done one ci at a time (to reduce pontential damage in case of a shut off/down).



Other than that i would generally dissaprove to delete classes.



I hope i could help.



Greetings


Fabian


Oh and a point i forgot:



If you don't need the references, just export and import the data (as mentioned by ctomasi).



Greetings


Fabian