74 views

Description

 The current version of the GSS probe/sensor does not support configuring domain_lists for GSS load balancer.  

Steps to Reproduce

 

  1. Run a Service Mapping discovery on a business service.  
  2. After the process is complete, right-click the application and select Show Discovery Log
  3. Check the log for the <> GSS pattern, specifically the Identification for all entry points identification section.
    Note that for the get system type step, the value cmdb_ci_lb_gss is returned.  
  4. From this identification section, click Debug button to open this identification section in the <> GSS Pattern. 
  5. If not already entered, run debug with this entry point value. 
  6. Run a test on the first get system type step.
    Note that this returns with this cmdb_ci_lb_netscaler value instead of the expected cmdb_ci_lb_gss

Workaround

The Cisco GSS - Get Domains sensor needs to be changed as follows (see highlighted areas:

new DiscoverySensor({

/* The result of the probe can be in two different formats:

  • Domains are assigned to the load balancer without configuring any domain lists. In result back from the probe is as a list of domain names seperated by ','. Forexample d1,d2,d3,d4
  • Domains are assigned through some domain-lists. For example d1 and d2 are assigned to dList1 and d3 and d4 are assigned to the dList2.
    In this case the result of the probe is as following (owner and comments are optional)


domain-list dList1 owner OwnerName comments "SomeComments"
domain d1
domain d2

domain-list dList2 owner OwnerName comments "SomeComments"
domain d3
domain d4

*/

process: function(result) {

var domains = this.getDomains(result);


if (!domains && result.commands.command.result) { 
         domains = this.getDomains(result.commands.command.result); 

// get the current ip_address gr

var iGr = new GlideRecord('cmdb_ci_ip_address');

....

},

getDomains: function (result) {

if (result.indexOf('domain-list') == -1 )
    return result.split(',');

var domainLists = result.split('domain-list ');
var domains = [];
for (var i = 0 ; i < domainLists.length ; i++) {

var domainList = domainLists[i].trim();
if (!domainList)
        continue;

var dList = domainList.split(/\s+domain\s+/);
for (var j = 1 ; j < dList.length; j++ ) {

var domain = dList[j].trim();

if (domain && domain.indexOf(' ') == -1)
         domains.push(domain);

}

}

return domains;

},

_updateDNSTable: function (domain, ipGr){

      .....

 },

type: "DiscoverySensor" });


Related Problem: PRB906070

Seen In

There is no data to report.

Associated Community Threads

There is no data to report.

Article Information

Last Updated:2017-06-15 10:08:04
Published:2017-06-15