summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMehdi Abaakouk <sileht@redhat.com>2017-08-01 10:51:40 +0200
committerMehdi Abaakouk (sileht) <sileht@sileht.net>2017-08-12 08:08:07 +0000
commitc0dabd1c43e2468a175db38181c60fe233f22f4c (patch)
tree40be984b713ec54d446eb39e255a6c6689b239cd
parent8534c18ecdc3f3619024af849b0c0654ceccb988 (diff)
downloadceilometer-c0dabd1c43e2468a175db38181c60fe233f22f4c.tar.gz
snmp: Fix discovery when total memory is missing
In 7348c156a8032c09e2046aa23d95fcf996b39db3, we fix some case where the oid value was not existed. The post operation for "memory_avail" does not use the generic function for getting oid value and is impacted by already fixed bug. This change uses get_oid_value for "memory_avail" like any other place to fix the issue. Change-Id: I4b944716af301534a0906dd0ea6117c18c913d50 Closes-bug: #1707859 (cherry picked from commit 61fec88d4e7798d9301f36495ed4c1d54515a43b)
-rw-r--r--ceilometer/hardware/inspector/snmp.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/ceilometer/hardware/inspector/snmp.py b/ceilometer/hardware/inspector/snmp.py
index c891010f..fc9d410c 100644
--- a/ceilometer/hardware/inspector/snmp.py
+++ b/ceilometer/hardware/inspector/snmp.py
@@ -274,8 +274,12 @@ class SNMPInspector(base.Inspector):
_memory_total_oid = "1.3.6.1.4.1.2021.4.5.0"
if _memory_total_oid not in cache[self._CACHE_KEY_OID]:
self._query_oids(host, [_memory_total_oid], cache, False)
- value = int(cache[self._CACHE_KEY_OID][_memory_total_oid]) - value
- return value
+
+ total_value = self.get_oid_value(cache[self._CACHE_KEY_OID],
+ (_memory_total_oid, int))
+ if total_value is None:
+ return None
+ return total_value - value
def _post_op_net(self, host, cache, meter_def,
value, metadata, extra, suffix):