August 28, 201411 yr Is anyone knows if using https://www.webvirtmgr.net/ to manage KVM on Unraid is working ?
August 28, 201411 yr Yes, I was contemplating creating a plug-in. However I was having some server issues which I think I've fixed with some new memory. The only thing I need to figure out is how to run it as a daemon. I can give you what I have now to get it working.
August 28, 201411 yr Can you upload the plugin ? We might give some help.. This plugin would be nice to have :-)
August 28, 201411 yr Yes, I was contemplating creating a plug-in. However I was having some server issues which I think I've fixed with some new memory. The only thing I need to figure out is how to run it as a daemon. I can give you what I have now to get it working. Can you just run it as a background process by appending '&' to the command like emhttp is done in the go file?
August 28, 201411 yr Can you upload the plugin ? We might give some help.. This plugin would be nice to have :-) Yeah, let me finish the file declarations and a basic install. I should have some time today. Yes, I was contemplating creating a plug-in. However I was having some server issues which I think I've fixed with some new memory. The only thing I need to figure out is how to run it as a daemon. I can give you what I have now to get it working. Can you just run it as a background process by appending '&' to the command like emhttp is done in the go file? Starting it isn't the problem. I was gonna look at python daemon to try and daemonize it so you could stop it nicely. Otherwise it could keep your array from stopping if it were on your cache drive.
August 29, 201411 yr Jonp, I think that would be awesome, is this something you are going to set up? //Peter
August 29, 201411 yr Hi dmacias, I assume a webserver need to be installed ? what would the input be in URL Base ? I get this error when go to the adress:port A server error occurred. Please contact the administrator. Great works ... hope I get it running .... //Peter
August 29, 201411 yr Hmm OK so the interface should show up in the browser on selected port? but I go t the error A server error occurred. Please contact the administrator What is the settings for URL Base //Peter
August 29, 201411 yr Hmm OK so the interface should show up in the browser on selected port? but I go t the error A server error occurred. Please contact the administrator What is the settings for URL Base //Peter This is a full complete plugin. After you run installplg. It installs a page in settings called KVM Manager. You have to install it from there and then run it. Then if you want access you have to create users with the command. INSTALLDIRECTORY/manage.py createsuperuser This plugin just runs webvirtmgr as a python script similar to sickbeard or sabnzbd. I initially tried running it like the instructions on his github which he uses nginx to serve up the webpages. Its just a lot more work and trouble and would be better suited for a docker. This way was easier and only requires a small amount of dependencies.
August 29, 201411 yr I still have same error, and I have created a user and add this to the config settings. starting this from command prompt like this cd to install folder... then ... sudo -H -u peter1 /usr/bin/python ./manage.py runserver 0:8000 Validating models... 0 errors found August 29, 2014 - 18:47:26 Django version 1.5.5, using settings 'webvirtmgr.settings' Development server is running at http://0:8000/ Quit the server with CONTROL-C. acessing the UNRAIDIP:port i see this Traceback (most recent call last): File "/usr/lib64/python2.7/wsgiref/handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "/usr/lib64/python2.7/site-packages/django/core/handlers/wsgi.py", line 255, in __call__ response = self.get_response(request) File "/usr/lib64/python2.7/site-packages/django/core/handlers/base.py", line 178, in get_response response = self.handle_uncaught_exception(request, resolver, sys.exc_info()) File "/usr/lib64/python2.7/site-packages/django/core/handlers/base.py", line 224, in handle_uncaught_exception return callback(request, **param_dict) File "/usr/lib64/python2.7/site-packages/django/utils/decorators.py", line 91, in _wrapped_view response = view_func(request, *args, **kwargs) File "/usr/lib64/python2.7/site-packages/django/views/defaults.py", line 41, in server_error return http.HttpResponseServerError(template.render(Context({}))) File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 140, in render return self._render(context) File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 134, in _render return self.nodelist.render(context) File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 830, in render bit = self.render_node(node, context) File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 844, in render_node return node.render(context) File "/usr/lib64/python2.7/site-packages/django/template/loader_tags.py", line 124, in render return compiled_parent._render(context) File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 134, in _render return self.nodelist.render(context) File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 830, in render bit = self.render_node(node, context) File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 844, in render_node return node.render(context) File "/usr/lib64/python2.7/site-packages/django/template/defaulttags.py", line 413, in render url = reverse(view_name, args=args, kwargs=kwargs, current_app=context.current_app) File "/usr/lib64/python2.7/site-packages/django/core/urlresolvers.py", line 496, in reverse return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)) File "/usr/lib64/python2.7/site-packages/django/core/urlresolvers.py", line 382, in _reverse_with_prefix possibilities = self.reverse_dict.getlist(lookup_view) File "/usr/lib64/python2.7/site-packages/django/core/urlresolvers.py", line 297, in reverse_dict self._populate() File "/usr/lib64/python2.7/site-packages/django/core/urlresolvers.py", line 286, in _populate lookups.appendlist(pattern.callback, (bits, p_pattern, pattern.default_args)) File "/usr/lib64/python2.7/site-packages/django/core/urlresolvers.py", line 230, in callback self._callback = get_callable(self._callback_str) File "/usr/lib64/python2.7/site-packages/django/utils/functional.py", line 31, in wrapper result = func(*args) File "/usr/lib64/python2.7/site-packages/django/core/urlresolvers.py", line 97, in get_callable mod = import_module(mod_name) File "/usr/lib64/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module __import__(name) File "/mnt/cache/appdata/webvirtmgr/instance/views.py", line 13, in <module> from vrtManager.instance import wvmInstances, wvmInstance File "/mnt/cache/appdata/webvirtmgr/vrtManager/instance.py", line 6, in <module> from libvirt import libvirtError, VIR_DOMAIN_XML_SECURE, VIR_MIGRATE_LIVE, VIR_MIGRATE_UNSAFE ImportError: No module named libvirt
August 29, 201411 yr I still have same error, and I have created a user and add this to the config settings. starting this from command prompt like this cd to install folder... then ... sudo -H -u peter1 /usr/bin/python ./manage.py runserver 0:8000 Validating models... 0 errors found August 29, 2014 - 18:47:26 Django version 1.5.5, using settings 'webvirtmgr.settings' Development server is running at http://0:8000/ Quit the server with CONTROL-C. acessing the UNRAIDIP:port i see this Traceback (most recent call last): File "/usr/lib64/python2.7/wsgiref/handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "/usr/lib64/python2.7/site-packages/django/core/handlers/wsgi.py", line 255, in __call__ response = self.get_response(request) File "/usr/lib64/python2.7/site-packages/django/core/handlers/base.py", line 178, in get_response response = self.handle_uncaught_exception(request, resolver, sys.exc_info()) File "/usr/lib64/python2.7/site-packages/django/core/handlers/base.py", line 224, in handle_uncaught_exception return callback(request, **param_dict) File "/usr/lib64/python2.7/site-packages/django/utils/decorators.py", line 91, in _wrapped_view response = view_func(request, *args, **kwargs) File "/usr/lib64/python2.7/site-packages/django/views/defaults.py", line 41, in server_error return http.HttpResponseServerError(template.render(Context({}))) File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 140, in render return self._render(context) File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 134, in _render return self.nodelist.render(context) File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 830, in render bit = self.render_node(node, context) File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 844, in render_node return node.render(context) File "/usr/lib64/python2.7/site-packages/django/template/loader_tags.py", line 124, in render return compiled_parent._render(context) File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 134, in _render return self.nodelist.render(context) File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 830, in render bit = self.render_node(node, context) File "/usr/lib64/python2.7/site-packages/django/template/base.py", line 844, in render_node return node.render(context) File "/usr/lib64/python2.7/site-packages/django/template/defaulttags.py", line 413, in render url = reverse(view_name, args=args, kwargs=kwargs, current_app=context.current_app) File "/usr/lib64/python2.7/site-packages/django/core/urlresolvers.py", line 496, in reverse return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)) File "/usr/lib64/python2.7/site-packages/django/core/urlresolvers.py", line 382, in _reverse_with_prefix possibilities = self.reverse_dict.getlist(lookup_view) File "/usr/lib64/python2.7/site-packages/django/core/urlresolvers.py", line 297, in reverse_dict self._populate() File "/usr/lib64/python2.7/site-packages/django/core/urlresolvers.py", line 286, in _populate lookups.appendlist(pattern.callback, (bits, p_pattern, pattern.default_args)) File "/usr/lib64/python2.7/site-packages/django/core/urlresolvers.py", line 230, in callback self._callback = get_callable(self._callback_str) File "/usr/lib64/python2.7/site-packages/django/utils/functional.py", line 31, in wrapper result = func(*args) File "/usr/lib64/python2.7/site-packages/django/core/urlresolvers.py", line 97, in get_callable mod = import_module(mod_name) File "/usr/lib64/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module __import__(name) File "/mnt/cache/appdata/webvirtmgr/instance/views.py", line 13, in <module> from vrtManager.instance import wvmInstances, wvmInstance File "/mnt/cache/appdata/webvirtmgr/vrtManager/instance.py", line 6, in <module> from libvirt import libvirtError, VIR_DOMAIN_XML_SECURE, VIR_MIGRATE_LIVE, VIR_MIGRATE_UNSAFE ImportError: No module named libvirt Were you installing the plugin or trying to run it manually? There's a few things you have to do if it's manual. To do it manually you have to sudo pip install -r /mnt/cache/appdata/webvirtmgr/requirements.txt And then # Create local settings file because the default settings has a specific timezone cp -f /mnt/cache/appdata/webvirtmgr/local/local_settings.py.example /mnt/cache/appdata/webvirtmgr/local/local_settings.py # This syncs the msqlite db and will ask you to create db user on first run /usr/bin/python /mnt/cache/appdata/webvirtmgr/manage.py syncdb # Moves static files otherwise webpages are messed up /usr/bin/python /mnt/cache/appdata/webvirtmgr/manage.py collectstatic # Also to create more users /usr/bin/python /mnt/cache/appdata/webvirtmgr/manage.py createsuperuser EDIT I just restarted unraid and its not working I'll have to see what its missing.
August 29, 201411 yr One line did not work, is this cp -f /mnt/cache/appdata/webvirtmgr/local/local_settings.py.example /mnt/cache/appdata/webvirtmgr/local/local_settings.py root@Tower:/mnt/cache/appdata/webvirtmgr# ls -l total 64 -rw-rw-rw- 1 peter1 users 720 Aug 29 17:10 MANIFEST.in -rw-rw-rw- 1 peter1 users 2097 Aug 29 17:10 README.rst drwxrwxrwx 1 peter1 users 6 Aug 29 17:10 _/ drwxrwxrwx 1 peter1 users 0 Aug 29 17:18 cache/ drwxrwxrwx 1 peter1 users 112 Aug 29 17:10 conf/ drwxrwxrwx 1 peter1 users 18 Aug 29 17:08 config/ drwxrwxrwx 1 peter1 users 102 Aug 29 17:10 console/ drwxrwxrwx 1 peter1 users 148 Aug 29 17:10 create/ drwxrwxrwx 1 peter1 users 12 Aug 29 17:10 deploy/ -rw-rw-rw- 1 peter1 users 85 Aug 29 17:10 dev-requirements.txt drwxrwxrwx 1 peter1 users 54 Aug 29 17:10 hostdetail/ drwxrwxrwx 1 peter1 users 18 Aug 29 17:10 images/ drwxrwxrwx 1 peter1 users 158 Aug 29 17:12 instance/ drwxrwxrwx 1 peter1 users 70 Aug 29 17:10 interfaces/ drwxrwxrwx 1 peter1 users 14 Aug 29 17:10 locale/ drwxrwxrwx 1 peter1 users 0 Aug 29 17:18 log/ -rwxrwxrwx 1 peter1 users 253 Aug 29 17:10 manage.py* drwxrwxrwx 1 peter1 users 70 Aug 29 17:10 networks/ -rw------- 1 peter1 users 0 Aug 29 19:36 nohup.out -rw-rw-rw- 1 peter1 users 147 Aug 29 17:10 requirements.txt drwxrwxrwx 1 peter1 users 70 Aug 29 17:10 secrets/ drwxrwxrwx 1 peter1 users 72 Aug 29 17:10 serverlog/ drwxrwxrwx 1 peter1 users 168 Aug 29 17:12 servers/ -rw-rw-rw- 1 peter1 users 2263 Aug 29 17:10 setup.py drwxrwxrwx 1 peter1 users 26 Aug 29 17:10 static/ drwxrwxrwx 1 peter1 users 70 Aug 29 17:10 storages/ drwxrwxrwx 1 peter1 users 518 Aug 29 17:10 templates/ drwxrwxrwx 1 peter1 users 350 Aug 29 17:12 vrtManager/ drwxrwxrwx 1 peter1 users 222 Aug 29 17:12 webvirtmgr/ -rw-r--r-- 1 peter1 users 38912 Aug 29 21:21 webvirtmgr.sqlite3 root@Tower:/mnt/cache/appdata/webvirtmgr# ls locale/ ru/ zh_CN/ but I have a subfolder also named webvirtmgron folder webvirtmgr root@Tower:/mnt/cache/appdata/webvirtmgr# ls webvirtmgr __init__.py __init__.pyc local/ settings.py settings.pyc settings_jenkins.py static/ urls.py urls.pyc utils/ wsgi.py wsgi.pyc
August 29, 201411 yr One line did not work, is this cp -f /mnt/cache/appdata/webvirtmgr/local/local_settings.py.example /mnt/cache/appdata/webvirtmgr/local/local_settings.py root@Tower:/mnt/cache/appdata/webvirtmgr# ls -l total 64 -rw-rw-rw- 1 peter1 users 720 Aug 29 17:10 MANIFEST.in -rw-rw-rw- 1 peter1 users 2097 Aug 29 17:10 README.rst drwxrwxrwx 1 peter1 users 6 Aug 29 17:10 _/ drwxrwxrwx 1 peter1 users 0 Aug 29 17:18 cache/ drwxrwxrwx 1 peter1 users 112 Aug 29 17:10 conf/ drwxrwxrwx 1 peter1 users 18 Aug 29 17:08 config/ drwxrwxrwx 1 peter1 users 102 Aug 29 17:10 console/ drwxrwxrwx 1 peter1 users 148 Aug 29 17:10 create/ drwxrwxrwx 1 peter1 users 12 Aug 29 17:10 deploy/ -rw-rw-rw- 1 peter1 users 85 Aug 29 17:10 dev-requirements.txt drwxrwxrwx 1 peter1 users 54 Aug 29 17:10 hostdetail/ drwxrwxrwx 1 peter1 users 18 Aug 29 17:10 images/ drwxrwxrwx 1 peter1 users 158 Aug 29 17:12 instance/ drwxrwxrwx 1 peter1 users 70 Aug 29 17:10 interfaces/ drwxrwxrwx 1 peter1 users 14 Aug 29 17:10 locale/ drwxrwxrwx 1 peter1 users 0 Aug 29 17:18 log/ -rwxrwxrwx 1 peter1 users 253 Aug 29 17:10 manage.py* drwxrwxrwx 1 peter1 users 70 Aug 29 17:10 networks/ -rw------- 1 peter1 users 0 Aug 29 19:36 nohup.out -rw-rw-rw- 1 peter1 users 147 Aug 29 17:10 requirements.txt drwxrwxrwx 1 peter1 users 70 Aug 29 17:10 secrets/ drwxrwxrwx 1 peter1 users 72 Aug 29 17:10 serverlog/ drwxrwxrwx 1 peter1 users 168 Aug 29 17:12 servers/ -rw-rw-rw- 1 peter1 users 2263 Aug 29 17:10 setup.py drwxrwxrwx 1 peter1 users 26 Aug 29 17:10 static/ drwxrwxrwx 1 peter1 users 70 Aug 29 17:10 storages/ drwxrwxrwx 1 peter1 users 518 Aug 29 17:10 templates/ drwxrwxrwx 1 peter1 users 350 Aug 29 17:12 vrtManager/ drwxrwxrwx 1 peter1 users 222 Aug 29 17:12 webvirtmgr/ -rw-r--r-- 1 peter1 users 38912 Aug 29 21:21 webvirtmgr.sqlite3 root@Tower:/mnt/cache/appdata/webvirtmgr# ls locale/ ru/ zh_CN/ but I have a subfolder also named webvirtmgron folder webvirtmgr root@Tower:/mnt/cache/appdata/webvirtmgr# ls webvirtmgr __init__.py __init__.pyc local/ settings.py settings.pyc settings_jenkins.py static/ urls.py urls.pyc utils/ wsgi.py wsgi.pyc Sorry I really need to setup a virtual unraid. I updated the plg with a newer version of python-libvirt 1.2.6.
August 29, 201411 yr I also removed libvirt package from the plugin, it's newer in unraid b7 //Peter I think the python-libvirt 1.2.6 didnt work on 6b6 so I used 1.2.0. I saw that 6b7 uses libvirt 1.2.7 and I think thats why I was installing different python-libvirt packages. But the python-libvirt 1.2.6 seems to work with libvirt 1.2.7 that's in 6b7 Edit: I'm gonna finish removing the bloat from the plugin thats not needed
August 29, 201411 yr I also removed libvirt package from the plugin, it's newer in unraid b7 //Peter Oh I see I put the libvirt package in instead of python-libvirt doh! But anyway it should work now.
August 30, 201411 yr It's OK now! Good work, now I need to see how to add a connection //Peter I removed all the leftovers from the headphones template and fix a few things. It should be completely functional now. It would be nice to add a DB user from the webgui. Not sure how to get vnc console to work. It works fine with virt manager but not web virt.
August 30, 201411 yr Author Wow, I just came here to see if I got 1 reply to this thread! Lots of interest I guess i'll wait for a wise guy to create a "Unraid friendly" docker of that or if it will go on the Plugin router like the Extended docker page?
August 30, 201411 yr It's OK now! Good work, now I need to see how to add a connection //Peter I removed all the leftovers from the headphones template and fix a few things. It should be completely functional now. It would be nice to add a DB user from the webgui. Not sure how to get vnc console to work. It works fine with virt manager but not web virt. I think I have a solution to add user from the GUI! But I need assistance how to make a connection! I have try TCP and SSH , but cant get it to work, how do you do it ? EDIT TCP connection is fixed, updated libvirtd.conf //Peter
August 30, 201411 yr 2 more things to solve ... Networks : give this messages this function is not supported by the connection driver: virConnectNumOfNetworks Interfaces: give this messages this function is not supported by the connection driver: virConnectNumOfInterfaces Any solution to get this working ? //Peter
August 30, 201411 yr I think this was a bug in libvirt. Something about libnetcf not included. Not sure if a fix needs to be added or compiled in. Or if it's how unraid configures networking. You can always configure a bridge from the unraid webgui.
August 30, 201411 yr It's OK now! Good work, now I need to see how to add a connection //Peter I removed all the leftovers from the headphones template and fix a few things. It should be completely functional now. It would be nice to add a DB user from the webgui. Not sure how to get vnc console to work. It works fine with virt manager but not web virt. I think I have a solution to add user from the GUI! But I need assistance how to make a connection! I have try TCP and SSH , but cant get it to work, how do you do it ? EDIT TCP connection is fixed, updated libvirtd.conf //Peter I was thinking a popup console or separate entries for username, email and password that were passed to createsuperuser
Archived
This topic is now archived and is closed to further replies.