From 3b28243ccb893627bbe2a91cdb5b82f79d4ca59b Mon Sep 17 00:00:00 2001 From: "Carl D. Roth" Date: Thu, 24 May 2018 13:27:55 -0700 Subject: [PATCH] Suppress dmidecode warnings for KVM systems --- .../all/vendor-config-onl/src/python/onl/platform/base.py | 5 ++++- .../src/python/onl/platform/baseconfig.py | 7 +++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/base/all/vendor-config-onl/src/python/onl/platform/base.py b/packages/base/all/vendor-config-onl/src/python/onl/platform/base.py index a2d00feb..4fb86ddf 100755 --- a/packages/base/all/vendor-config-onl/src/python/onl/platform/base.py +++ b/packages/base/all/vendor-config-onl/src/python/onl/platform/base.py @@ -11,7 +11,7 @@ import pprint import json -import os +import os, sys import re import yaml import onl.YamlUtils @@ -386,6 +386,9 @@ class OnlPlatformBase(object): rv[field['name']] = v['data'][field['key']] except: pass + finally: + if 'dmidecodemod' in sys.modules: + sys.modules['dmidecodemod'].clear_warnings() return rv def upgrade_manifest(self, type_, override_dir=None): diff --git a/packages/base/all/vendor-config-onl/src/python/onl/platform/baseconfig.py b/packages/base/all/vendor-config-onl/src/python/onl/platform/baseconfig.py index 30976a3a..c30832bb 100644 --- a/packages/base/all/vendor-config-onl/src/python/onl/platform/baseconfig.py +++ b/packages/base/all/vendor-config-onl/src/python/onl/platform/baseconfig.py @@ -67,6 +67,13 @@ def baseconfig(): f.write(dmidecode.QuerySection('system')['0x0001']['data']['Version']) except: pass + finally: + if 'dmidecodemod' in sys.modules: + mod = sys.modules['dmidecodemod'] + buf = mod.get_warnings() + if buf: + [msg("*** %s\n" % x) for x in buf.splitlines(False)] + mod.clear_warnings() if not platform.baseconfig(): msg("*** platform class baseconfig failed.\n", fatal=True)