Troubleshooting Steps for iRecommend

Troubleshooting steps for resolving common issues with iRecommend, including service not starting, internal server error, resource not found, could not get any response, model not found/empty, incorrect recommendations/empty set, failed to build model, and failed to recommend jobs.

iRecommend is the component responsible for providing the relevant recommendations of a list of runbooks for a particular ticket that is picked up by BigFix Runbook AI for automation. It is a component developed using python and is hosted on Apache Web server as a service under the name HCL.iAutomate.iRecommend.

HCL.iAutomate.iRecommend service is not starting

Table 1. Table 79 – iRecommend: Scenario 1
Issue Description HCL.iAutomate.iRecommend service is not starting
Modules Impacted iRecommend
Probable Root Cause Invalid “iRecommend.conf” file content

Steps to resolve

  1. Check for existence of the file iRecommend.conf at location <Apache_Root_Folder_Path>/conf.
  1. For e.g. - “C:/Apache24/conf” has <Apache_Root_Folder_Path> as “C:/Apache24”
  2. Verify the contents of file iRecommend.conf by checking the snippet with paths to << iRecommend_Directory>>. Verify and change the <VirtualHost *> tag with correct path entries to << iRecommend_Directory>> as shown below. Where << iRecommend_Directory>> is “C:/iAutomate/Middleware/iRecommend” in the snippet from iRecommend.conf

<VirtualHost *>

WSGIScriptAlias /iRecommend C:/iAutomate/Middleware/iRecommend/main.wsgi

SSLVerifyClient require

SSLVerifyDepth 10

<Directory C:/iAutomate/Middleware/iRecommend>

WSGIApplicationGroup %{GLOBAL}

Require all granted

</Directory>

</VirtualHost>

  1. Ensure that service was created through Service Account and not through Local account. Refer to below figure to check the status.
Figure 1. Figure 129 - HCL.iAutomate.iRecommend service is not starting
1
  1. If not, open Windows Command Prompt in Administrator mode and run the below command:

sc config HCL.iAutomate.iRecommend obj= “ID” password= “PSWD”

where ID is the [Domain\SA ID] and PSWD is the [Password of SA] and SA is [Service Account].

‘Log On As’ field corresponding to the service HCL.iAutomate.iRecommend should be changed to ‘Service Account’. Click Start to start the service.

Service returns Internal Server Error - status code 500

Table 2. Table 80 – iRecommend: Scenario 2
Issue Description Service is reachable but returns Internal Server Error with status code 500.
Modules Impacted iRecommend
Probable Root Cause Python package not available

Steps to resolve

  1. Check the Apache error log at <Apache_Root_Folder_Path>/logs/error.log
  1. If the error is because of the missing package, perform the following steps:
  1. Open Windows Command Prompt in Administrative mode in Apache_Root_Folder_Path:.
  1. If open internet access is available, run the below command:

pip install package_name

  1. If open internet access is not available, download wheel file for package from where user has internet connectivity and move onto server at same location where it needs to be installed. E.g. https://pypi.org has a repository of most used wheel files, else other sources are available as well. Subsequently, run the below commend:

pip install package_name.whl

If the issue pertains due to problem in the code, contact the System Administrator.

‘404 Resource Not Found’

Table 3. Table 81 - iRecommend: Scenario 3
Issue Description Error message ‘404 Resource Not Found’ when iRecommend is hit
Modules Impacted iRecommend
Probable Root Cause
  • Paths are not correct in iRecommend.conf
  • Port is not correct

Steps to resolve

  1. If the issue is due to the incorrect paths, refer to resolution steps mentioned for issue in Table 79 – iRecommend: Scenario 1 .
  1. Also, check if correct port is being used. To identify the correct port, perform the following steps:
  • Open iRecommend.conf
  • Search for Listen xxxx

e.g. – Here the image below shows the port set for iRecommend component is 9000

#

Listen 9000

# ports, instead of the default. See also the <VirtualHost>

# directive

  1. The set port is one where iRecommend is deployed.

‘Could not get any response’

Table 4. Table 82 - iRecommend: Scenario 4
Issue Description Error message ‘Could not get any response’ appears when iRecommend is being hit.
Modules Impacted iRecommend
Probable Root Cause HCL.iAutomate.iRecommend service is not running

Steps to resolve

  1. Press Win+R, type services.msc and press Enter to open Windows Services.
Figure 2. Figure 130 – iRecommend Troubleshooting
  1. Find service HCL.iAutomate.iRecommend and select it.
  2. Click Start to start the service, if it’s not running already.
Figure 3. Figure 131 - iRecommend Troubleshooting (cont.)

‘Model Not Found’/‘Model is empty’

Table 5. Table 83 - iRecommend: Scenario 5
Issue Description Error message ‘Model Not Found’ or ‘Model is empty’ are logged.
Modules Impacted iRecommend
Probable Root Cause Runbooks are not mapped

Steps to resolve

  1. If the model is not found, following scenarios need to be checked:
  1. Open Build Model tab and check if model building is triggered. If not, trigger Build Model else check the other scenarios.
  1. In Map Runbook tab, check if any runbooks mapped against respective organization and module. If not, map the runbooks and rebuild the model.
Figure 4. Figure 132 - Error message ‘Model Not Found’
  1. User can also save the model on disk with settings fetched from “iRecommend.cfg” by setting “PROPERTY_LOCATION=FILE”. If model is created, then there is a settings mismatch w.r.t organization; so cross check the properties.

Incorrect recommendations /an empty set is returned

Table 6. Table 84 – iRecommend: Scenario 7
Issue Description For a given test case, the recommendation is incorrect and at times an empty set is returned
Modules Impacted iRecommend
Probable Root Cause Wrong configuration of model parameters

Steps to resolve

For a test case, if the recommendations are incorrect, or empty sets are returned, the following scenarios need to be checked:

  1. Check if any “Discriminators” or “Named Entities” are set in a manner which are filtering out the appropriate runbook wrongly. Either correct these entries if wrongly marked with values or weigh down the best options respective to the case and add these parameters accordingly.

Discriminators and Named Entities should always be thoughtfully identified in an environment to avoid any clashes between the use cases.

  1. Check if the important words of the ticket description exist in your model. If not, then the model is not aware of such content and hence cannot recommend properly for such a case. Enrich the vocabulary via Runbook Meta-Data, Description, etc.
  2. If user has the ‘Expected Runbook’, check if the ‘Expected Runbook’ has enriched tags and content sufficient to cover the domain of the ticket.
  3. If the ticket contains information which is domain specific and isn’t getting priority, addition of new Entities should be done to the Entity Module, so that due weightage can be given to the specific entities.

Failed to Build Model

Table 85 – iRecommend: Scenario 7

Issue description Failed to build model due to incorrect URL of the server running IRecommend service.
Modules Impacted IRecommend
Probable root cause

Incorrect URL provided for the server running IRecommend service.

C:\Users\ananya.s\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\53417F21.tmp

Figure 133 - Failed to build model

Steps to resolve

1. Go to Product -> Product configuration -> Check the load balancer URL

2. Check whether the connection is successful

Failed to Recommend Jobs

Table 86 – iRecommend: Scenario 8

Issue description Failed to recommend jobs after setting configuration
Module impacted IRecommend
Probable root cause

C:\Users\ananya.s\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\463E2ED7.tmp

Figure 134 - Failed to recommend jobs

Steps to resolve
  1. Check whether the IRecommend service is running in the app server.
  2. Start the IRecommend service if not started.
  3. Go to Product configuration --> check the load balancer url and check whether the connection is successful.