Customers will experience reconciliation failure across products after the instance is upgraded from Madrid (or older) to New York (or later) releases when they have suite components configured for non-licensable products. Failure occurs when the Suite Engine consumes software installs whose inferred suite is populated but the inferred suite level is set to 0.
We introduced a field called Inferred Suite Level on the software install table in NY which has a defaulted value of 0. If a customer has non-licensable suite components configured in software models and when they upgrade, from say Madrid to NY, the inferred suite is already set for those installs that were discovered before the upgrade. During the upgrade, the inferred suite level takes the default value for the existing installs which is 0.
From the logs, we can see below exceptions when reconciliation is run.
SAM:ReconciliationEngine: at sys_script_include.444d8294c32222006081face81d3aebf.script:478 (anonymous)
at sys_script_include.444d8294c32222006081face81d3aebf.script:47 (anonymous)
at sys_script_include.444d8294c32222006081face81d3aebf.script:270 (anonymous)
at sys_script_include.30bbdf9587f52300923aa75fe5cb0b97.script:251 (anonymous)
at sys_script_include.30bbdf9587f52300923aa75fe5cb0b97.script:229 (anonymous)
at sys_script_include.6761b0dd0b1232001a17650d37673a77.script:69 (anonymous)
at <refname>:3 (sampSoftwareLicenseReconciliation)
: no thrown error
TypeError: Cannot set property "ef31eb9d1b658054849721be6e4bcb03" of undefined to "1"
Script Include used :
Steps to Reproduce
Customer upgrading from Madrid (or London) to New York (or higher) releases and are having non-licensable suite components configured in their software models.
- Run reconciliation and notice the reconciliation is failing.
- Verify the logs to see the exception as per the description.
Below is the script to fix the installs:
var install = new GlideMultipleUpdate('cmdb_sam_sw_install');
- Go to installs list view (cmdb_sam_sw_install)
- Add a filter with inferred suite is not empty, inferred suite level is 0 and Normalized Product is empty
Once the script is executed and all installs are fixed, run reconciliation.
Related Problem: PRB1381108