Ionix IP/Smarts IP: Logical ASL error for the discovery ASL file "ic-interface-displayname.asl": ASL-ERROR_UNDEFINED_VARIABLE_ACCESS-Variable 'ipObjs' has not been assigned a value
search cancel

Ionix IP/Smarts IP: Logical ASL error for the discovery ASL file "ic-interface-displayname.asl": ASL-ERROR_UNDEFINED_VARIABLE_ACCESS-Variable 'ipObjs' has not been assigned a value

book

Article ID: 304228

calendar_today

Updated On:

Products

VMware

Issue/Introduction

Symptoms:


Can you can change the condition to "if (ifObj->isInstanceOf("Interface")) {" in Ionix IP/Smarts IP?

Ionix IP/Smarts IP is assuming that everything what is not "Port" is "Interface", which is not true in our environment
When creating new class in Ionix IP/Smarts IP as a subclass of "NetworkAdapter", the new class is not an Interface class and it does not need to have "getIPs" functio,n but Ionix IP/Smarts IP is still treating the class as an interface
 

Logical error received for the following Ionix IP/Smarts IP ASL file:

local/rules/discovery/ic-interface-displayname.asl



Receive the following Ionix IP/Smarts IP ASL error:

[29-Oct-2010 10:10:25 AM+773ms India Standard Time] t@1916 Discovery #7
ASL-W-ERROR_RULE_SOURCE-While executing rule set
'c:\manohara\IP703_7\IP\smarts\local\rules\discovery\ic-interface-displayname.asl'
ASL-ERROR_ACTION-While executing action at:
ASL-CALL_STACK_RULE- RuleName: START, Line: 90
ASL-ERROR_UNDEFINED_VARIABLE_ACCESS-Variable 'ipObjs' has not been assigned a value



Environment

VMware Smart Assurance - SMARTS

Resolution

If you receive the ASL error mentioned above related to the ic-interface-displayname.asl file, do the following:
  1. Open the ic-interface-displayname.asl file located in the IP\smarts\local\rules\discovery for editing in your ASL editor.
  2. Change the code to add the ipObjs = list() line in your local file as in the following:

    Index: discovery/adapter/ic-interface-displayname.asl
    ===================================================================
    RCS file: /apps/cvs/smarts/smarts/discovery/adapter/ic-interface-displayname.asl,v
    retrieving revision 1.4.388.1.8.2
    diff -r1.4.388.1.8.2 ic-interface-displayname.asl
    87c87,88
    < ipObjs = ifObj->getIPs()?IGNORE;
    ---

    > ipObjs = list(); //<---- newly added line for initialization of ipObjs to list
    > ipObjs = ifObj->getIPs()?IGNORE;

Adding the above line initializes the ipObjs variable as list, where before the ASL code was throwing an error while checking sizeof. After initialization, the count will take 0 as its value by default and should resolve this issue.