kimchi-project / kimchi

An HTML5 management interface for KVM guests
https://github.com/kimchi-project/kimchi/releases/latest
Other
3.08k stars 365 forks source link

Kimchi plugin won't load ? #1266

Open qwrty-ftw opened 5 years ago

qwrty-ftw commented 5 years ago

Hello

I installed wok and kimchi from source (debian 9), but I can't see kimchi plugin from the main page ?

https://image.noelshack.com/fichiers/2019/21/4/1558618766-capture.jpg

Any thoughts ?

Thank you

qwrty-ftw commented 5 years ago

Log:

Kimchi: Running feature tests Service Libvirtd running ...: True internal error: Child process (/sbin/showmount --no-headers --exports 127.0.0.1) unexpected exit status 1: clnt_create: RPC: Program not registered

NFS Target Probe support ...: True Fibre Channel Host support .: True Kernel VFIO support ........: True Network Manager running ....: False Memory Hotplug support .....: False Kimchi: Feature tests completed

Failed to import plugin plugins.kimchi.Kimchi, error: An error occurred, but the cause is unknown [23/May/2019:20:47:37] ENGINE Listening for SIGHUP. [23/May/2019:20:47:37] ENGINE Listening for SIGTERM. [23/May/2019:20:47:37] ENGINE Listening for SIGUSR1. [23/May/2019:20:47:37] ENGINE Bus STARTING [23/May/2019:20:47:37] ENGINE Serving on http://127.0.0.1:8010

Kimchi: Running dependable feature tests QEMU stream support .......: False Libvirt Stream Protocols ..: ['http', 'https', 'ftp', 'ftps', 'tftp'] * Kimchi: Dependable feature tests completed

maikgreubel commented 5 years ago

In case of the error comes from the showmount call:

http://www.tldp.org/HOWTO/NFS-HOWTO/troubleshooting.html

maikgreubel commented 5 years ago

But you can also extend the output by tracing exception cause.

Find the python site-packages directory on your disk. Open file wok/utils.py in your favourite editor. Search for method def load_plugin which looks like this:

def load_plugin(plugin_name, plugin_config):
    try:
        plugin_class = ('plugins.%s.%s' %
                        (plugin_name,
                         plugin_name[0].upper() + plugin_name[1:]))
        del plugin_config['wok']
        plugin_config.update(PluginConfig(plugin_name))
    except KeyError:
        return

    try:
        options = get_plugin_config_options()
        plugin_app = import_class(plugin_class)(options)
    except (ImportError, Exception), e:
        cherrypy.log.error_log.error(
            "Failed to import plugin %s, "
            "error: %s" % (plugin_class, e.message)
        )
        return

Then add some debugging to exception handler part:

    try:
        options = get_plugin_config_options()
        plugin_app = import_class(plugin_class)(options)
    except (ImportError, Exception), e:
        f = open("/var/log/wok/wok-exception.log", "w")
        f.write("{0}".format(str(e)))
        cherrypy.log.error_log.error(
            "Failed to import plugin %s, "
            "error: %s" % (plugin_class, e.message)
        )
        return

Then restart your wok service and look into /var/log/wok/wok-exception.log for more information.

HTH

alinefm commented 4 years ago

Kimchi 3.0 is now out and it was tested on Debian 10: https://github.com/kimchi-project/kimchi/issues/1268