From a33638509b4c0c3c1f228829b7ae1bfb8c572d3e Mon Sep 17 00:00:00 2001 From: Adam Amstrong Date: Mon, 9 Apr 2012 12:40:43 +0000 Subject: [PATCH] fix cisco entity-sensors discoverer. don't set ports deleted when they are already deleted. git-svn-id: http://www.observium.org/svn/observer/trunk@3001 61d68cd4-352d-0410-923a-c4978735b2b8 --- includes/discovery/cisco-entity-sensor.inc.php | 4 ++-- includes/polling/ports.inc.php | 11 ++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/includes/discovery/cisco-entity-sensor.inc.php b/includes/discovery/cisco-entity-sensor.inc.php index 4ffaf851e..ba3f35bdd 100644 --- a/includes/discovery/cisco-entity-sensor.inc.php +++ b/includes/discovery/cisco-entity-sensor.inc.php @@ -138,8 +138,8 @@ if ($device['os_group'] == "cisco") if ($descr == "") { $ok = FALSE; } ## Invalid description. Lots of these on Nexus if ($ok) { -# echo("\n".$valid['sensor'].", $type, $device, $oid, $index, 'cisco-entity-sensor', $descr, $divisor, $multiplier, $limit_low, $warn_limit_low, $limit, $warn_limit, $current"); - discover_sensor($valid['sensor'], $type, $device, $oid, $index, 'cisco-entity-sensor', $descr, $divisor, $multiplier, $limit_low, $warn_limit_low, $limit, $warn_limit, $current, 'snmp', $entPhysicalIndex, $entry['entSensorMeasuredEntity']); +# echo("\n".$valid['sensor'].", $type, $device, $oid, $index, 'cisco-entity-sensor', $descr, $divisor, $multiplier, $limit_low, $warn_limit_low, $warn_limit, $limit, $current"); + discover_sensor($valid['sensor'], $type, $device, $oid, $index, 'cisco-entity-sensor', $descr, $divisor, $multiplier, $limit_low, $warn_limit_low, $warn_limit, $limit, $current, 'snmp', $entPhysicalIndex, $entry['entSensorMeasuredEntity']); } $cisco_entity_temperature = 1; unset($limit, $limit_low, $warn_limit, $warn_limit_low); diff --git a/includes/polling/ports.inc.php b/includes/polling/ports.inc.php index 9a182440f..e832fdd1f 100755 --- a/includes/polling/ports.inc.php +++ b/includes/polling/ports.inc.php @@ -143,8 +143,10 @@ foreach ($port_stats as $ifIndex => $port) $ports[$ifIndex]['deleted'] = "0"; } } else { - dbUpdate(array('deleted' => '1'), 'ports', '`interface_id` = ?', array($ports[$ifIndex]['interface_id'])); - $ports[$ifIndex]['deleted'] = "1"; + if($ports[$port['ifIndex']]['deleted'] != "1") { + dbUpdate(array('deleted' => '1'), 'ports', '`interface_id` = ?', array($ports[$ifIndex]['interface_id'])); + $ports[$ifIndex]['deleted'] = "1"; + } } } ### End New interface detection @@ -443,7 +445,10 @@ foreach ($ports as $port) elseif ($port['disabled'] != "1") { echo("Port Deleted"); ### Port missing from SNMP cache. - dbUpdate(array('deleted' => '1'), 'ports', '`device_id` = ? AND `ifIndex` = ?', array($device['device_id'], $port['ifIndex'])); + if($port['deleted'] != "1") + { + dbUpdate(array('deleted' => '1'), 'ports', '`device_id` = ? AND `ifIndex` = ?', array($device['device_id'], $port['ifIndex'])); + } } else { echo("Port Disabled."); }