Name
global.DiscoveryAjax
Description
Client-callable AJAX functions for Discovery.
Script
var DiscoveryAjax = Class.create();
DiscoveryAjax.prototype = Object.extendsObject(AbstractAjaxProcessor, {
ajaxFunction_getSysID: function() {
var d = new Discovery();
var sys_id = d.discoveryFromCI(this.getParameter('sysparm_cmdb_ci'));
return sys_id;
},
/**
* Creates range sets for all IP Networks that have been freshly discovered.
* @return boolean TRUE on success
*/
ajaxFunction_createRangesFromNetworkDiscovery: function() {
return new DiscoveryCreateRangeSets().processNetworks();
},
ajaxFunction_setAllToReady: function() {
var gr = new GlideRecord('cmdb_ci_ip_network');
gr.addQuery('state', 'Processed');
gr.query();
while (gr.next()) {
gr.setValue('state', 'Ready');
gr.update();
}
},
ajaxFunction_countECCRecords: function() {
var sysId = this.getParameter("sysparm_sys_id");
var ga = new GlideAggregate("ecc_queue");
ga.addQuery("agent_correlator", sysId);
ga.addAggregate('COUNT');
ga.query();
var count = 0;
if (ga.next())
count = ga.getAggregate('COUNT');
var max = gs.getProperty('glide.discovery.timeline.max_entries');
var answer = count + ',' + max;
return answer;
},
ajaxFunction_quickDiscovery: function() {
var targetIP = this.getParameter("sysparm_target");
var midserver = this.getParameter("sysparm_agent_name");
var midSysId = this.getParameter("sysparm_agent_sysId");
var d = new Discovery();
var statusID = d.discoveryFromIP(targetIP+'', midserver, 'Quick_Discovery');
if (statusID)
Discovery.throttlingInfoMessage();
session.getUser().setPreference('quick_discovery.ip', targetIP);
session.getUser().setPreference('quick_discovery.midserver_name', midserver);
session.getUser().setPreference('quick_discovery.midserver_sysId', midSysId);
return statusID;
},
ajaxFunction_discoverNow: function() {
var schedGR = new GlideRecord('discovery_schedule');
if(!schedGR.get('sys_id', this.getParameter('sysparm_schedule_sysId')))
return null;
var disco = new Discovery();
var statusID = disco.discoverNow(schedGR);
Discovery.throttlingInfoMessage();
return statusID;
},
ajaxFunction_MIDServerFinderByIP: function() {
var targetIP = this.getParameter("sysparm_target");
var application = this.getParameter("sysparm_app_name");
var midSelector = new SNC.MidSelector();
var midserver = null;
try {
// As per PRB1317165, we are now checking against application value for selecting MID Server
midserver = midSelector.selectAnyDegradedOrBetterMidServer(application, [targetIP+''], null) + '';
} catch (e) {
gs.log('Unable to find any MID server for ip ' + targetIP + ' with exception ' + e);
}
return midserver;
},
ajaxFunction_testSensor: function() {
var name = this.getParameter('sysparm_name');
var sensor_id= this.getParameter('sysparm_sensor_id');
var probe_id = this.getParameter('sysparm_probe_id');
var sensor_type = this.getParameter('sysparm_sensor_type');
var class_name = this.getParameter('sysparm_sys_class_name');
var payload = this.getParameter('sysparm_payload');
var dst = new DiscoverySensorTest(payload);
var sensorCache = new SNC.SensorCache();
var gr = sensorCache.getBySysId(sensor_id);
var ds = eval(gr.script);
var result = dst.getResults();
gs.log("result is " + result);
return result;
},
ajaxFunction_deletePendingApplications: function() {
var gr = new GlideRecord("cmdb_ci_appl_pending");
gr.addNullQuery("classifier");
gr.deleteMultiple();
},
ajaxFunction_getStartDate: function() {
var gdt = new GlideDateTime();
return gdt.getDisplayValueInternal();
},
ajaxFunction_getEndDate: function() {
var gdt = new GlideDateTime();
gdt.addWeeks(1);
return gdt.getDisplayValueInternal();
},
ajaxFunction_testMidSelection: function() {
var selector = new CommonMIDServerSelector();
session.getUser().setPreference('mid_selection_test.ip', this.getParameter('sysparm_target'));
session.getUser().setPreference('mid_selection_test.app', this.getParameter('sysparm_app_name'));
session.getUser().setPreference('mid_selection_test.cap', this.getParameter('sysparm_capability'));
gs.log('parameters mid select ' + this.getParameter('sysparm_target') + ' ' + this.getParameter('sysparm_app_name') + ' ' + this.getParameter('sysparm_capability'));
return selector.findAgentCandidates(this.getParameter('sysparm_target'), '', this.getParameter('sysparm_app_name'), this.getParameter('sysparm_capability'));
},
});
Sys ID
08afbbf60a0a0bb40013aec7661ec767