Wok 2.4 and Kimchi 2.4 are now released!

On behalf of everyone who has worked hard on this release, I am pleased to announce the availability of *Wok 2.4* and *Kimchi 2.4*! Kimchi 2.4 depends on *Wok 2.4* and *Ginger Base 2.3*! So make sure to have both of them properly installed in your system. Among many features, Wok 2.4 release includes: ✔ Plugins management ✔ Block authentication request after too many failures ✔ Asynchronous UI notification using Websockets ✔ Bug fixes Kimchi 2.4 release includes: ✔ Initial s390x systems support ✔ Guest CPU hot plug and unplug ✔ Live migration over RDMA ✔ Live snapshot support ✔ Bug fixes We have worked hard to ensure that Wok and Kimchi run well on the most popular Linux distributions including: Fedora 25, Ubuntu 16.10, openSUSE LEAP 42.2, and CentOS 7. They use standard Linux interfaces so it should run well on many other distributions too. You can easily grab this release in tarball format or via git: ✔ https://github.com/kimchi-project/wok/archive/2.4.0.tar.gz ✔ https://github.com/kimchi-project/kimchi/archive/2.4.0.tar.gz ✔ git clone -b stable-2.4.x --recursivehttps://github.com/kimchi-project/wok.git There are also some packages available for download at: ✔http://kimchi-project.github.io/wok/downloads/ ✔http://kimchi-project.github.io/kimchi/downloads/ Go ahead! Give it a try and let us know what you think! Regards, Aline Manera

<snip>
Go ahead! Give it a try and let us know what you think!
Upgrading wok & kimchi 2.4 over 2.3.1 leads to the "Wok" tab in the GUI to be empty. "Host" and "Virtualization" seem to work fine. I do see the following error messages in wok-error.log, but I don't know whether they are related: ... *** Kimchi: Running dependable feature tests *** QEMU stream support .......: True Libvirt Stream Protocols ..: ['http', 'https', 'ftp', 'ftps', 'tftp'] *** Kimchi: Dependable feature tests completed *** [31/Mar/2017:18:04:09] ENGINE Bus STARTED [31/Mar/2017:18:04:12] ENGINE Started monitor thread 'Session cleanup'. [31/Mar/2017:18:04:18] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 111, in default context = template.render_cheetah_file(page, None) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_plugins_ginger_ui_pages_i18n_json_tmpl.py", line 105, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'ginger' [31/Mar/2017:18:04:21] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_ui_pages_tabs_user_log_html_tmpl.py", line 106, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'wok' WOKAUTH0002E: You are not authorized to access Wok. Please, login first. [31/Mar/2017:18:04:32] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 111, in default context = template.render_cheetah_file(page, None) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_plugins_ginger_ui_pages_i18n_json_tmpl.py", line 105, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'ginger' [31/Mar/2017:18:04:35] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_ui_pages_tabs_user_log_html_tmpl.py", line 106, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'wok' [31/Mar/2017:18:04:43] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_ui_pages_tabs_settings_html_tmpl.py", line 106, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'wok' [31/Mar/2017:18:04:59] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_plugins_ginger_ui_pages_tabs_host_network_html_tmpl.py", line 105, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'ginger' [31/Mar/2017:18:05:07] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_plugins_ginger_ui_pages_tabs_host_storage_html_tmpl.py", line 105, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'ginger' [31/Mar/2017:18:05:18] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_plugins_ginger_ui_pages_tabs_host_system_services_html_tmpl.py", line 105, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'ginger' [31/Mar/2017:18:05:24] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_plugins_ginger_ui_pages_tabs_host_admin_html_tmpl.py", line 105, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'ginger' [31/Mar/2017:18:05:46] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_ui_pages_tabs_user_log_html_tmpl.py", line 106, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'wok' Any idea on what might be going?

Hi Laurens, Have you updated Ginger Base as well? There were JS changes. Maybe you just need to clean up your browser cache. Regards, Aline Manera On 03/31/2017 03:11 PM, Laurens Vets wrote:
<snip>
Go ahead! Give it a try and let us know what you think!
Upgrading wok & kimchi 2.4 over 2.3.1 leads to the "Wok" tab in the GUI to be empty. "Host" and "Virtualization" seem to work fine. I do see the following error messages in wok-error.log, but I don't know whether they are related:
... *** Kimchi: Running dependable feature tests *** QEMU stream support .......: True Libvirt Stream Protocols ..: ['http', 'https', 'ftp', 'ftps', 'tftp'] *** Kimchi: Dependable feature tests completed ***
[31/Mar/2017:18:04:09] ENGINE Bus STARTED [31/Mar/2017:18:04:12] ENGINE Started monitor thread 'Session cleanup'. [31/Mar/2017:18:04:18] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 111, in default context = template.render_cheetah_file(page, None) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_plugins_ginger_ui_pages_i18n_json_tmpl.py", line 105, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'ginger'
[31/Mar/2017:18:04:21] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_ui_pages_tabs_user_log_html_tmpl.py", line 106, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'wok'
WOKAUTH0002E: You are not authorized to access Wok. Please, login first. [31/Mar/2017:18:04:32] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 111, in default context = template.render_cheetah_file(page, None) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_plugins_ginger_ui_pages_i18n_json_tmpl.py", line 105, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'ginger'
[31/Mar/2017:18:04:35] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_ui_pages_tabs_user_log_html_tmpl.py", line 106, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'wok'
[31/Mar/2017:18:04:43] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_ui_pages_tabs_settings_html_tmpl.py", line 106, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'wok'
[31/Mar/2017:18:04:59] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_plugins_ginger_ui_pages_tabs_host_network_html_tmpl.py", line 105, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'ginger'
[31/Mar/2017:18:05:07] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_plugins_ginger_ui_pages_tabs_host_storage_html_tmpl.py", line 105, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'ginger'
[31/Mar/2017:18:05:18] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_plugins_ginger_ui_pages_tabs_host_system_services_html_tmpl.py", line 105, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'ginger'
[31/Mar/2017:18:05:24] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_plugins_ginger_ui_pages_tabs_host_admin_html_tmpl.py", line 105, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'ginger'
[31/Mar/2017:18:05:46] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_ui_pages_tabs_user_log_html_tmpl.py", line 106, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'wok'
Any idea on what might be going?

Hi Aline, I didn't know there were updates for ginger-base and ginger. I've updated both, but I still have the same issue. I also still have the same python errors. Current installed versions: root@lof:/var/log/wok# dpkg -l | grep wok ii wok 2.4.0 all Wok - Webserver Originated from Kimchi root@lof:/var/log/wok# dpkg -l | grep ginger ii ginger 2.4.0 all Ginger plug-in for Wok - Webserver Originated from Kimchi ii ginger-base 2.3.0 all Ginger Base is an open source base host management plugin for Wok (Webserver Originated from Kimchi), that provides an intuitive web panel with common tools for configuring and managing the Linux systems. root@lof:/var/log/wok# dpkg -l | grep kimchi ii kimchi 2.4.0 all Kimchi web application root@lof:/var/log/wok# Kind regards, Laurens
Have you updated Ginger Base as well?
There were JS changes. Maybe you just need to clean up your browser cache.
Regards, Aline Manera
On 03/31/2017 03:11 PM, Laurens Vets wrote:
<snip>
Go ahead! Give it a try and let us know what you think!
Upgrading wok & kimchi 2.4 over 2.3.1 leads to the "Wok" tab in the GUI to be empty. "Host" and "Virtualization" seem to work fine. I do see the following error messages in wok-error.log, but I don't know whether they are related:
... *** Kimchi: Running dependable feature tests *** QEMU stream support .......: True Libvirt Stream Protocols ..: ['http', 'https', 'ftp', 'ftps', 'tftp'] *** Kimchi: Dependable feature tests completed ***
[31/Mar/2017:18:04:09] ENGINE Bus STARTED [31/Mar/2017:18:04:12] ENGINE Started monitor thread 'Session cleanup'. [31/Mar/2017:18:04:18] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 111, in default context = template.render_cheetah_file(page, None) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_plugins_ginger_ui_pages_i18n_json_tmpl.py", line 105, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'ginger'
[31/Mar/2017:18:04:21] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_ui_pages_tabs_user_log_html_tmpl.py", line 106, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'wok'
WOKAUTH0002E: You are not authorized to access Wok. Please, login first. [31/Mar/2017:18:04:32] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 111, in default context = template.render_cheetah_file(page, None) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_plugins_ginger_ui_pages_i18n_json_tmpl.py", line 105, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'ginger'
[31/Mar/2017:18:04:35] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_ui_pages_tabs_user_log_html_tmpl.py", line 106, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'wok'
[31/Mar/2017:18:04:43] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_ui_pages_tabs_settings_html_tmpl.py", line 106, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'wok'
[31/Mar/2017:18:04:59] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_plugins_ginger_ui_pages_tabs_host_network_html_tmpl.py", line 105, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'ginger'
[31/Mar/2017:18:05:07] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_plugins_ginger_ui_pages_tabs_host_storage_html_tmpl.py", line 105, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'ginger'
[31/Mar/2017:18:05:18] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_plugins_ginger_ui_pages_tabs_host_system_services_html_tmpl.py", line 105, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'ginger'
[31/Mar/2017:18:05:24] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_plugins_ginger_ui_pages_tabs_host_admin_html_tmpl.py", line 105, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'ginger'
[31/Mar/2017:18:05:46] HTTP Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 217, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 61, in __call__ return self.callable(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/wok/root.py", line 129, in tabs context = template.render('/tabs/' + page, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 133, in render return render_cheetah_file(resource, data) File "/usr/lib/python2.7/dist-packages/wok/template.py", line 108, in render_cheetah_file return Template(file=filename, searchList=params).respond() File "_usr_share_wok_ui_pages_tabs_user_log_html_tmpl.py", line 106, in respond File "/usr/lib/python2.7/gettext.py", line 487, in translation raise IOError(ENOENT, 'No translation file found for domain', domain) IOError: [Errno 2] No translation file found for domain: 'wok'
Any idea on what might be going?

Just migrated off a number of VMs from a U16.4 LTS host running kim.2.3.1 then did an in place upgrade using dpkg -i and apt-get -f (to get a few deps). rebooted and system came right up. The only issue I have encounter is that in the Network section. I had 3 networks set up. The default and two additional (one vTap and a LAN bridge). I wanted to remove one of them and move it to another port. In the UI, all options are greyed out (i.e Stop, Edit, Delete). This occurs both on FireFox and on Edge on a Windows 10 desktop I have cleared cache etc and still have the issue. From the command line I had no problem using virsh net-destroy NET1 and virsh net-undefine NET1 Back on the UI, of course kimchi showed that it was gone. I then used the kimchi UI to recreate the Network with no problem and all the normal UI options are available for the newly recreated Network. The remaining networks are still stuck. I guess I go ahead and undefine and then redefine them as well, but I am curious if anyone else ran into this issue. Sincerely, William Kern

more info. if you net-destroy, net-dumpxml, net-undefine and then turn around and net-define, net-start the network, it is still stuck (i.e. all greyed out) You must create either 'create' the network in the kimchi UI (instead of net-define) OR the Network must have a different name. Clearly something in the UI is holding onto the Network Name. I tried just changing the UUID, but its the Network Name that is significant -bill On 4/3/2017 12:08 PM, WK wrote:
Just migrated off a number of VMs from a U16.4 LTS host running kim.2.3.1
then did an in place upgrade using dpkg -i and apt-get -f (to get a few deps).
rebooted and system came right up.
The only issue I have encounter is that in the Network section. I had 3 networks set up. The default and two additional (one vTap and a LAN bridge).
I wanted to remove one of them and move it to another port. In the UI, all options are greyed out (i.e Stop, Edit, Delete).
This occurs both on FireFox and on Edge on a Windows 10 desktop
I have cleared cache etc and still have the issue.
From the command line I had no problem using virsh net-destroy NET1 and virsh net-undefine NET1
Back on the UI, of course kimchi showed that it was gone. I then used the kimchi UI to recreate the Network with no problem and all the normal UI options are available for the newly recreated Network.
The remaining networks are still stuck.
I guess I go ahead and undefine and then redefine them as well, but I am curious if anyone else ran into this issue.
Sincerely,
William Kern
_______________________________________________ Kimchi-devel mailing list Kimchi-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/kimchi-devel

Hi Bill, The Kimchi UI blocks user to stop/edit/undefine an Network in use by Templates or Guests. That should be the cause of the 'issue' you are seeing. I plan to remove that from Kimchi UI and only show a warning message to user and let she/he decide on what to do. Regards, Aline Manera On 04/03/2017 05:48 PM, WK wrote:
more info.
if you net-destroy, net-dumpxml, net-undefine and then turn around and net-define, net-start the network, it is still stuck (i.e. all greyed out)
You must create either 'create' the network in the kimchi UI (instead of net-define)
OR
the Network must have a different name. Clearly something in the UI is holding onto the Network Name.
I tried just changing the UUID, but its the Network Name that is significant
-bill
On 4/3/2017 12:08 PM, WK wrote:
Just migrated off a number of VMs from a U16.4 LTS host running kim.2.3.1
then did an in place upgrade using dpkg -i and apt-get -f (to get a few deps).
rebooted and system came right up.
The only issue I have encounter is that in the Network section. I had 3 networks set up. The default and two additional (one vTap and a LAN bridge).
I wanted to remove one of them and move it to another port. In the UI, all options are greyed out (i.e Stop, Edit, Delete).
This occurs both on FireFox and on Edge on a Windows 10 desktop
I have cleared cache etc and still have the issue.
From the command line I had no problem using virsh net-destroy NET1 and virsh net-undefine NET1
Back on the UI, of course kimchi showed that it was gone. I then used the kimchi UI to recreate the Network with no problem and all the normal UI options are available for the newly recreated Network.
The remaining networks are still stuck.
I guess I go ahead and undefine and then redefine them as well, but I am curious if anyone else ran into this issue.
Sincerely,
William Kern
_______________________________________________ Kimchi-devel mailing list Kimchi-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/kimchi-devel
_______________________________________________ Kimchi-devel mailing list Kimchi-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/kimchi-devel

Hi, well I made sure that not only the old instances were stopped, but I also went in there an undefined them. so virsh list -all is blank # virsh list --all Id Name State --------------------------------------------------- So none of those networks are 'in use' Yet the kimchi interface still has the 'default' network greyed out (probably because it *is* the default and thus still in use). Obviously not a stop issue, as it would be unusual to need to turn off the default network, but it something to be aware. yes, a warning would be nicer. I'll let you know if anything else comes up with the new version. So far so good. On 4/3/2017 2:07 PM, Aline Manera wrote:
Hi Bill,
The Kimchi UI blocks user to stop/edit/undefine an Network in use by Templates or Guests. That should be the cause of the 'issue' you are seeing.
I plan to remove that from Kimchi UI and only show a warning message to user and let she/he decide on what to do.
Regards, Aline Manera
On 04/03/2017 05:48 PM, WK wrote:
more info.
if you net-destroy, net-dumpxml, net-undefine and then turn around and net-define, net-start the network, it is still stuck (i.e. all greyed out)
You must create either 'create' the network in the kimchi UI (instead of net-define)
OR
the Network must have a different name. Clearly something in the UI is holding onto the Network Name.
I tried just changing the UUID, but its the Network Name that is significant
-bill
On 4/3/2017 12:08 PM, WK wrote:
Just migrated off a number of VMs from a U16.4 LTS host running kim.2.3.1
then did an in place upgrade using dpkg -i and apt-get -f (to get a few deps).
rebooted and system came right up.
The only issue I have encounter is that in the Network section. I had 3 networks set up. The default and two additional (one vTap and a LAN bridge).
I wanted to remove one of them and move it to another port. In the UI, all options are greyed out (i.e Stop, Edit, Delete).
This occurs both on FireFox and on Edge on a Windows 10 desktop
I have cleared cache etc and still have the issue.
From the command line I had no problem using virsh net-destroy NET1 and virsh net-undefine NET1
Back on the UI, of course kimchi showed that it was gone. I then used the kimchi UI to recreate the Network with no problem and all the normal UI options are available for the newly recreated Network.
The remaining networks are still stuck.
I guess I go ahead and undefine and then redefine them as well, but I am curious if anyone else ran into this issue.
Sincerely,
William Kern
_______________________________________________ Kimchi-devel mailing list Kimchi-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/kimchi-devel
_______________________________________________ Kimchi-devel mailing list Kimchi-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/kimchi-devel
participants (3)
-
Aline Manera
-
Laurens Vets
-
WK