
On 01/21/2014 05:23 AM, apporc wrote:
When running feature tests, we get bunch of error messages as below:
*** Running feature tests *** libvirt: Domain Config error : internal error unknown protocol type 'http' libvirt: Domain Config error : internal error unknown protocol type 'https' libvirt: Domain Config error : internal error unknown protocol type 'ftp' libvirt: Domain Config error : internal error unknown protocol type 'ftps' libvirt: Domain Config error : internal error unknown protocol type 'tftp' *** Feature tests completed ***
By replacing default error handler of libvirt, this patch succeeded to avoid the error.
Signed-off-by: apporc <appleorchard2000@gmail.com> --- src/kimchi/featuretests.py | 7 +++++++ src/kimchi/model.py | 2 -- 2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/kimchi/featuretests.py b/src/kimchi/featuretests.py index a5755a2..641ec5b 100644 --- a/src/kimchi/featuretests.py +++ b/src/kimchi/featuretests.py @@ -30,6 +30,11 @@ import threading from kimchi import config
+def libvirt_errorhandler(userdata, error): + # A libvirt error handler to ignore annoying messages in stderr + pass + +
In addition to Cristian's comments, I'd suggest to also move this wrapper method inside the function used to register it
ISO_STREAM_XML = """ <domain type='kvm'> <name>ISO_STREAMING</name> @@ -60,6 +65,8 @@ class FeatureTests(object): xml = ISO_STREAM_XML % {'protocol': protocol} conn = None try: + # Register the error handler to hide libvirt error in stderr + libvirt.registerErrorHandler(f=libvirt_errorhandler, ctx=None) conn = libvirt.open('qemu:///system') dom = conn.defineXML(xml) dom.undefine() diff --git a/src/kimchi/model.py b/src/kimchi/model.py index 2c6d3a1..fe1ae5b 100644 --- a/src/kimchi/model.py +++ b/src/kimchi/model.py @@ -222,7 +222,6 @@ class Model(object): sys.exit(1)
def _set_capabilities(self): - kimchi_log.info("*** Running feature tests ***") self.qemu_stream = FeatureTests.qemu_supports_iso_stream() self.qemu_stream_dns = FeatureTests.qemu_iso_stream_dns()
@@ -231,7 +230,6 @@ class Model(object): if FeatureTests.libvirt_supports_iso_stream(p): self.libvirt_stream_protocols.append(p)
- kimchi_log.info("*** Feature tests completed ***") _set_capabilities.priority = 90
def get_capabilities(self):