Dynamic_discovery_get_value in can_skip_sensor to use all oids in skip_values (#9495)

* Use of dynamic_discovery_get_value in can_skip_sensor in order to use all available oids in skip_values

* Use LibreNMS\Device\YamlDiscovery code instead of keeping duplicated function can_skip_sensor

* Fix Travis errors
This commit is contained in:
PipoCanaja
2018-12-05 19:40:29 +01:00
committed by Tony Murray
parent b39984994b
commit 0b3f1daed9
2 changed files with 6 additions and 49 deletions

View File

@@ -90,7 +90,7 @@ class YamlDiscovery
}
}
if (static::canSkipItem($current_data['value'], $current_data, $group_options, $snmp_data)) {
if (static::canSkipItem($current_data['value'], $index, $current_data, $group_options, $snmp_data)) {
continue;
}
@@ -227,15 +227,15 @@ class YamlDiscovery
* @param array $item_snmp_data The pre-cache data array
* @return bool
*/
private static function canSkipItem($value, $yaml_item_data, $group_options, $item_snmp_data = array())
public static function canSkipItem($value, $index, $yaml_item_data, $group_options, $pre_cache = array())
{
$skip_values = array_replace((array)$group_options['skip_values'], (array)$yaml_item_data['skip_values']);
foreach ($skip_values as $skip_value) {
if (is_array($skip_value) && $item_snmp_data) {
if (is_array($skip_value) && $pre_cache) {
// Dynamic skipping of data
$op = isset($skip_value['op']) ? $skip_value['op'] : '!=';
$tmp_value = $item_snmp_data[$skip_value['oid']];
$tmp_value = static::getValueFromData($skip_value['oid'], $index, $yaml_item_data, $pre_cache);
if (compare_var($tmp_value, $skip_value['value'], $op)) {
return true;
}