I have previously been integrating with ILMT 7.x at a database level, but as this does not seem to be supported in 9.x, I’ve been transitioning to using the REST API. Some data relationships that were quite easy to access at the database level, seems not to be available via the REST API.
I am trying to obtain a list of all of the software installs per device which also takes the bundling process into account.
I can get the installed software instances via a call to ‘/api/sam/software_instances’, but there does not appear to be a way to relate the installed component to a product (Component -> Release -> Version -> Product). We would like to see the software installs after the bundling process, and have access to the product metric (PVU, RVU, Other).
I can get a list of products that are installed with a call to ‘/api/sam/swinventory/products’ and from this to the products releases ‘/api/sam/swinventory/product/{product_id}/releases’ and from the release to the release instances ‘/api/sam/swinventory/release/{release_id}/instances’; but there does not appear to be a way to relate this release instance information to the data pulled from ‘/api/sam/software_instances’.
Within the attributes pulled from ‘/api/sam/swinventory/release/{release_id}/instances’, there also does not appear to be a clean way to link to the ‘/api/sam/computer_systems’ data, as there is no computer_id or computer_system_id, only the ‘hostname’ is available.
How can I obtain a list of the installed software per device, with bundling taken into account, which also includes the product metric, via the REST API?
There is a list of columns visible by default and the hidden ones. To get the information software_title_name from catalog dimension use the following param in the API url - columns[]=catalog_dimension.software_title_name.
The API call ‘/api/sam/software_instances’ appears to return all of the discovered components, ignoring the bundling that has been applied. As the title of the post mentions, I’m looking to obtain installed software per device that takes the bundling into account. Is this possible?
Additionally, the API call ‘/api/sam/license_usages’ does not return any rows in the installation I am working with, why would this be? Does it rely on more than just the inventory data?
Does the ‘licenseType’ attribute on the API call ‘/api/sam/swinventory/products’ provide the metric that the installed instances should be measured by?
Currently it is not possible to easy combine output from software instances and from ‘bundling API’.
First is just to return all software discovered in environment. Second one is to retrieve all IBM Software with applied bundling and gives ability to perform actions like reassign, confirm or exclude.
About license usages, there could be some things to check.
Did you run capacity scan on your computers?
Is PVU table updated?
Is your product PVU or RVU?
Are you requesting data from good period of time?
About last thing, licenseType attribute is related to product, not software instance (component). It is telling under what type of license your product is licensed. You can have of course software components bundled to some product, but still license type is for product.
Just taking one of the point further regarding the license usages, I’m getting the following error during a data import which is likely the reason I’m not seeing the data:
“2015-10-13 23:02:41 (+0:00:00.001) INFO: (ImportThread) com.ibm.license.mgmt.etl.core.actions.AbstractNoTransactionEtlAction::process()::Starting execution of step: ImportCapacity
2015-10-13 23:02:42 (+0:00:01.004) WARN: (ImportCapacity-Thread:1) CapacityScanFileHandler::processTask::Some error occured during importing the capacity scan from file : tlm_hw_201510131032_1444728759.xml for endpoint : 3.
2015-10-13 23:02:42 (+0:00:00.002) WARN: (ImportCapacity-Thread:0) CapacityScanFileHandler::processTask::Some error occured during importing the capacity scan from file : ./tlm_hw_201510131140_1444732840.xml for endpoint : 1.
2015-10-13 23:02:42 (+0:00:00.144) WARN: (ImportCapacity-Thread:1) CapacityScanFileHandler::processTask::Some error occured during importing the capacity scan from file : tlm_hw_201510131421_1444742488.xml for endpoint : 3.
2015-10-13 23:02:42 (+0:00:00.026) WARN: (ImportCapacity-Thread:0) CapacityScanFileHandler::processTask::Some error occured during importing the capacity scan from file : ./tlm_hw_201510131421_1444742506.xml for endpoint : 1.
2015-10-13 23:08:01 (+0:05:18.599) INFO: (ImportThread) com.ibm.license.mgmt.etl.core.actions.CitScanImportStep::processCapacityScans::STATISTICS: 2 file packages were uncompressed. 0 files with capacity scan data were successfully imported. For 4 files the import failed.
2015-10-13 23:08:01 (+0:00:00.001) INFO: (ImportThread) com.ibm.license.mgmt.etl.core.actions.AbstractNoTransactionEtlAction::process()::Finished execution of step: ImportCapacity, with total time: 319776 ms.”
These are for VMware virtual machines. I’ve only found one article regarding this error, which suggested adding “SMBIOS.reflectHost = “true”” into the virtual machine’s .VMX file, but this has not corrected the issue.
Do you have any ideas what the problem is going to be?
This is with an ILMT all in on installation on Linux running 9.2.0 and the clients are running BigFix Client 9.2.1.
@GarySmith
Gary,
Can you grab one of those files from the endpoints and send it over to me, I will take a look at content of those files which may cause the problem. I will send you my email address via private msg.