
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-14-2020 04:21 PM
When a software is uninstalled or installed on a server & next discovery scan executes on this CI. How is the corresponding record in the cmdb_sam_sw_install table reconciled and records added / deleted.
Note - We have Software Asset Mgmt (Pro) activated
When checked under the discovery logs(ECC queue) we could not locate any triggered pattern that collects software installation entries. We checked the "Windows - Installed Software" sensor and it doesn't seem to handle updates into cmdb_sam_sw_install either.
Can anyone clarify what process handles record management for the cmdb_sam_sw_install table. Or is this something that is protected and native to the product?
Edited : Just to clarify that this question is not related to software license harvesting or software model management. Below simple example to explain my question better,
Day x - CI has 25 software installations displayed in CMDB under "Software Installation" related list
Day x+2 - Two days later, server team performs few un-installation on the server
Day x+5 - Discovery executes and it finds 23 software installation on the server
Now we would like to know
1 - what process deletes the additional two software installation records on the CI
2 - is this process real time (part of some pattern or probe) or is it a scheduled job ?
Solved! Go to Solution.
- Labels:
-
Discovery

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-08-2020 12:32 PM
Pasting the feedback from tech support . From this response it seems like an internal java code processes data reconciliation on the Software Installs table
The Windows - Installed Software" sensor calls the below line : this.addToRelatedList('cmdb_ci_spkg', filteredPackages, '', ''); https://<instance>.service-now.com/nav_to.do?uri=discovery_sensor.do?sys_id=df4bcfab0a0a0ba5007f09a96a434b74
addtoRelatedlist function is implemented in the DiscoverySensor script include
In the DiscoverySensor script include, we call the process function in the DiscoveryReconciler Script include and pass the table name "cmdb_ci_spkg" as a parameter. https://<instance>.service-now.com/nav_to.do?uri=sys_script_include.do?sys_id=4fa2ef960a0a0ba500d0ac5d968efa2d
In the DiscoveryReconciler script include, we have the below code snippet :
if (tableName == 'cmdb_ci_spkg')
{ var cmsoft = new GlideappCMDBSoftwareHelper(this.cmdbGr);
cmsoft.reconcile(obj.data);
So the above code calls the java class GlideappCMDBSoftwareHelper and the function reconcile which is responsible for populating the cmdb_sam_software_install table.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-14-2020 08:45 PM
Hello Dhanraj,
There are some business rules written on this, which searching for a matching record on the Software Discovery Model [cmdb_sam_sw_discovery_model] table. If a record exists in the Software Discovery Model table, then the Software Installation table updates the record. If no record exists in the Software Discovery Model table, then one is created.
For deletion Process suite component deletion this business rule is written on [cmdn_sam_sw_install] table.
Refer below link for more on this topic,
Hope this will helps.
Kindly mark an answer as correct and helpful if it will resolve your query.
Regards,
Akshata

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-15-2020 03:14 AM
HI,
We use this:
Thanks,
Ashutosh

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-15-2020 11:37 AM
Thank-you for your responses Akshata Ashutosh. I have logged an HI ticket as well to explain the core software discovery process..
Its seems the Server attributes are discovered and mapped via a transparent process using Patterns / Probes. However software discovery and the related process of insert to the cmdb_sam_sw_install is unclear and probably be protected. Will post the response from technical support here.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-16-2020 01:43 AM
HI,
Basically we have to do reconcilliation and purging on our own for discovery.
For software table as well you have to removal procedure as shown in link. It will give you proper insights of usage and which software can be removed from table.
Thanks,
Ashutosh