"No such variable" and "failed to execute" in collector.log

"No such variable" and "failed to execute" in collector.log

I see several of these types of messages in my collector.log file where there is "No such variable" and the description indicates "failed to execute". Does this typically mean that Indeni is running n unsupported command for this specfic remote host?

WARN [2017-11-30 20:15:04,778] indeni.collector.actors.Monitor: Got Failure result on device: CP1100( command: chkp-ldap-fingerprint-check, indeni.collector.CommandFailure: Header = Command execution error,
Description = Command "chkp-ldap-fingerprint-check" failed to execute,
Message = Header = Execution Error,
Description = No such variable "multistepList" in "echo ${multistepList} | awk -F ":" {"print $1"} | while read ip; do cpopenssl s_client -connect $ip:636 | cpopenssl x509 | cpopenssl x509 -outform der |md5sum ; done ; echo ${multistepList} | awk -F ":" {"print "fingerprint: " $2; print "name: " $3"}",

Need some validation. Unfortunately, I don't have access to this device to test at the moment.

Hi Liz,

Yes, you are correct.

The above error may appear in several scenarios, "unsupported command for this specific remote host" is one of them.

The error occurs when a remote operation (command) requires one or more arguments (variable) to embed in. these arguments are fetched in previous command steps or within device interrogation, however the argument is missing.

In this case "chkp-ldap-fingerprint-check" is a command with more than one step, one of the previous steps in the command failed to fetch the variable `multistepList`, therefore the step which is using it failed.

In general the .ind script are build on "happy case" or "let it crash" which mean we are not including failure handling with .ind script rather assuming the data is there until a failure occurs.

A question which raise from this error: does the device CP1100( should result with a fingerprint for "chkp-ldap-fingerprint-check" ? If so we should understand why the step which extracts `multistepList` fails.