[PLUGIN] Web Virtual Manager (depreciated)


dmacias

Recommended Posts

This plugin is depreciated. See here for newer integrated plugin.

http://lime-technology.com/forum/index.php?topic=35858.msg334148.msg#334148

WebVirtMgr is a libvirt-based Web interface for managing virtual machines. It allows you to create and configure new domains, and adjust a domain's resource allocation. A VNC viewer over a web socket tunnel presents a full graphical console to the guest domain. KVM is currently the only hypervisor supported

 

Current Version: 2014.10.12

 

Copy this link and paste in the Install Extension form in the Extensions menu of the unRAID webgui. Then click install.

https://raw.githubusercontent.com/dmacias72/webvirtmgr/master/webvirtmgr.plg

 

After install go to Settings then VM Manager

Here you can change the settings for the plugin

 

Plugin Settings

Install Directory:

Directory where Web Virtual Manager will be installed.  Should be changed to a Cache Only share or a non-array  mounted drive for permanent settings.

Port:

Port on your unRAID server where you access Web Virtual Manager. Default is 8000. (ie.  HTTP://TOWER:8000)

Run as User:

The user you wish to run plugin as (nobody, root, or other unRAID user)

Username:

The User to access Web Virtual Manager. Select New to create a New User.  Users can be created but not deleted for now.

Password:

The Password for User.  Enter Password for New User or Change Password for selcted User.  Can't be blank.

 

Select Install to install. Then Start to Start, Stop to Stop and so on

Username and Password won't be visible until WebVirtMgr is installed.

You must create a username and password before you can login to WebVirtMgr.

You can create and change passwords at anytime, even if it's running.

 

Setting up Web Virtual Manager

1. Login to Web VIrtual Manager (ie. http:SERVERNAME:8000) with the username/password you created in the webgui settings page

2. Click Add connection (creates a connection to unRAID).  Select Local Socket.  Name must be lowercase. (I don't know why)

3. Click on your newly created unraid connection.  Then go to Storages. Click New Storage. 

    Select Type: dir, Name: default, Path:  The path to your images ie /mnt/cache/images (should be cache only)

4. The easiest way to add your existing VM's is through webvrtmgr.  Just click New Instance. Then Click From XML.

    Then paste your existing xml content in the window. Click Create.

 

 

 

Web Virtual Manager Settings

 

You can access WebVirtMgr by clickin the green RUNNING

For an new install Login with the username and password you create.

Click add connection, then select Local Socket and pick a name like unRAID.

You should now be able to access unRAID's KVM Virtual Machines

 

Virtman Libvirt Plugin

 

As of beta 10 libvirt doesn't auto start/stop with the array so you'll need the virtMan.plg below.

In unRAID 6 beta 9 default libvirt package has listen_tcp = 1 and auth_tcp = "none"  So everything will work without a custom libvirt package. If you want your vm xml files to be saved along with network and storage you'll need to install this plugin also.  All xml files will be stored in vitrman.img in /boot/config/plugins/vitrman.  virtman.img will be mounted at /etc/libvirt  Existing conf files can be copied to /etc/libvirt once the plugin is installed. You can edit conf files to you needs. You can put your vm xml files in /etc/libvirt/qemu. You will then need to restart the virtMan plugin for any changes made.  No need for symlink scripts, powerdown scripts or anything else.

You can also paste your xml files in WebVirtMgr. No restart needed. (see above instructions)

WARNING! Restarting virtMan plugin will restart libvirt and any Virtual Machines Running.  It is best to make any VM XML file, Storage or Network changes in Web Virtual Manager (no restart of libvirt needed)

 

 

Copy this link and paste in the Install Plugin form in the Plugins menu of the unRAID webgui. Then click install.

 

https://raw.githubusercontent.com/dmacias72/virtMan/master/virtMan.plg

 

If you have any problems remove the plugin from the plugin menu then reinstall.  Your settings will still be there.

 

Virtual Machines

 

You need to edit the vnc section in your vm xml file for console to work. Should look like this.

    <graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>

 

Screenshots

webvirtmgr-Screenshot.png

webvirtmgr-Screenshot2.png

 

Change Log webvirtmgr

2014.10.12

-changed back to gethostname() instead of ip address to access

 

2014.10.04-2014.10.04

-removed login page from settings page and added it to main unRAID tabs as KVM uses ipaddr for our MAC friends.

-updated webvirtmgr.png and add icons

-created webvirtmgr.php then move it back to page file

-removed Running link then readded and set to ip from unRAID network.cfg

 

2014.09.30a

-fix apply settings

-remove tar on plugin removal

 

2014.09.30

-converted to new tar based plugin

-changed repo to webvirtmgr

-moved packages to unRAID_6.0 repo

 

2014.09.13a

-added checkboxes

-changed some variables

 

2014.09.13

-added online version check

 

2014.09.12d

-added display login page if you scroll down

-removed old code

-restart plg if install directory changed

 

2014.09.12c

-updated remove scripts

 

2014.09.12a

-added username dropdown

-added placeholder text for forms

 

Change Log virtman

2014.09.30a

-remove tar on plugin removal

 

2014.09.30

-added enable/disable libvirt service

 

2014.09.28

-changed name to virtMan

-changed repo to virtMan

-added start/stop array events

-reformated plugin structure to tar based

-removed enable/disable service. will readd in next release

 

2014.09.13

-add check box

 

2014.09.12c

-removed default storage from image

 

Link to comment
  • Replies 157
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Bug Report:

 

When I click the "RUNNING", it open a tab with "Unraid:91" (the port I choose).  On a mac, that doesn't work.  It need to be either :

 

http://Unraid.local:91 or http://192.168.2.6:91

 

(those are my Tower name and Ports and IP as an exemple).

Just using Unraid:91 give an error page.

 

Suggestion :

 

When we click in the "Install directory", you should do like the Docker Extended plugins and load the list of folders in the Unraid, it will be easier than typing a path. 

 

Question :

 

Is this normal to still have this error when going into "Networks" in WebVirtMgr ? :

 

this function is not supported by the connection driver: virConnectNumOfNetworks

Link to comment

 

 

Are you just manually installing the updated libvirt package each time you boot into unRAID now?

 

Me? I do not install anything else.  I thought the plugin was arrange to do it.  Or it will be in Beta9 maybe?

 

Yes. Until beta9 (I hope) you will have to install manually the libvirt-1.2.8.... package that Peter compiled if you still need to create networks or vm's. It should still be in /boot/packages. I started creating a separate plugin for libvirt but I was gonna wait for beta 9. You would still need to symlink /etc/libvirt for your settings to be permanent.

Oh and thanks for the idea about browsing unraid. I'll see what I can do.

@dmacias Are you just manually installing the updated libvirt package each time you boot into unRAID now?

No I just connect through local socket. I already have my vm's created.  If Beta 9 gets delayed or doesn't have what we need.  I'll finish and post my virtman.plg.

Link to comment

 

 

Bug Report:

 

When I click the "RUNNING", it open a tab with "Unraid:91" (the port I choose).  On a mac, that doesn't work.  It need to be either :

 

http://Unraid.local:91 or http://192.168.2.6:91

 

(those are my Tower name and Ports and IP as an exemple).

Just using Unraid:91 give an error page.

 

Suggestion :

 

When we click in the "Install directory", you should do like the Docker Extended plugins and load the list of folders in the Unraid, it will be easier than typing a path. 

 

Question :

 

Is this normal to still have this error when going into "Networks" in WebVirtMgr ? :

 

this function is not supported by the connection driver: virConnectNumOfNetworks

 

Would http://unraid:91 work?

Link to comment

So I just updated the latest version of your plugin but web virt manager will not start on my server. The file location is /mnt/cache/appdata/webvirtmgr. I deleted everything from the webvirtmgr folder and reboot unRAID but virt manager refuses to start. It just tells me "application did not start for some reason"... Any ideas?

Link to comment

@dmacias

Can you list all created user in the GUI ?

 

//Peter

Good idea.  I could store them in a file then present them in a list like run as and new would present a form to add. Like other does in run as.

 

Or I'll have to see how he stores them in the database and get them that way.  I think that would be better.

 

Maybe delete them too.

Link to comment

Can you check what's in that folder? It didn't exist before? Appdata may have root privileges and your running it as nobody, might be a scenario it would not work

 

I looked up the permissions on the folder and appdata is nobody users and webvirtmgr is nobody users as well.

 

Here is whats in the folder

 

MANIFEST.in           hostdetail/  requirements.txt  templates/
README.rst            images/      secrets/          vrtManager/
conf/                 instance/    serverlog/        webvirtmgr/
console/              interfaces/  servers/          webvirtmgr.sqlite3
create/               locale/      setup.py
deploy/               manage.py*   static/
dev-requirements.txt  networks/    storages/

Link to comment

First I would try and remove from the plugin menu delete /mnt/cache. ..webvirtmgr folder then reinstall plugin.  You do need an Internet connection to install cause it downloads django and a couple other python addons.

 

You could also try running it from the default /usr/local/webvirtmgr.

 

If that doesn't work try running this command

/mnt/cache/appdata/webvirtmgr/manage.py runserver 0:8000

Link to comment

So I just updated the latest version of your plugin but web virt manager will not start on my server. The file location is /mnt/cache/appdata/webvirtmgr. I deleted everything from the webvirtmgr folder and reboot unRAID but virt manager refuses to start. It just tells me "application did not start for some reason"... Any ideas?

 

Do you have Owncloud running as a container on port 8000 already?  I think port conflicts would cause this as well...

Link to comment

First I would try and remove from the plugin menu delete /mnt/cache. ..webvirtmgr folder then reinstall plugin.  You do need an Internet connection to install cause it downloads django and a couple other python addons.

 

You could also try running it from the default /usr/local/webvirtmgr.

 

If that doesn't work try running this command

/mnt/cache/appdata/webvirtmgr/manage.py runserver 0:8000

 

Ok I deleted the plugin and /mnt/cache/appdata. I reinstalled the plg and used the the same location and it finally installed and started. I then restarted to server to verify and now it will not start. I ran the command above and here is its output:

 

Traceback (most recent call last):
  File "/mnt/cache/appdata/webvirtmgr/manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
ImportError: No module named django.core.management

 

I also tried installing the plugin to "/usr/local/webvirtmgr" after the reboot but it still refused to start. This shouldn't have anything to do with the K00 and S00 scripts right?

Link to comment

So I just updated the latest version of your plugin but web virt manager will not start on my server. The file location is /mnt/cache/appdata/webvirtmgr. I deleted everything from the webvirtmgr folder and reboot unRAID but virt manager refuses to start. It just tells me "application did not start for some reason"... Any ideas?

 

Do you have Owncloud running as a container on port 8000 already?  I think port conflicts would cause this as well...

 

Nope, port 8000 should be free (as in I am not using any plugins that use that port).

Link to comment

I bet It's something to do with your network not being available during boot.  Maybe increase the timer at the top of the plugin. Default is 30.  I will look again to see if I can get the python requirements in a package so you don't need network if you've already installed it.

Link to comment

I bet It's something to do with your network not being available during boot.  Maybe increase the timer at the top of the plugin. Default is 30.  I will look again to see if I can get the python requirements in a package so you don't need network if you've already installed it.

 

nano /etc/libvirt/libvirtd.conf and tell me what your address is set to (127.0.0.1 or 0.0.0.0).

Link to comment

I bet It's something to do with your network not being available during boot.  Maybe increase the timer at the top of the plugin. Default is 30.  I will look again to see if I can get the python requirements in a package so you don't need network if you've already installed it.

 

nano /etc/libvirt/libvirtd.conf and tell me what your address is set to (127.0.0.1 or 0.0.0.0).

 

My "listen_addr" is commented # and I also modified that line so I am not sure which address it was set to orginally. I don't see any other address in the libvirtd.conf. Should that be uncommented? and if so, what address should it be set to?

Link to comment

My "listen_addr" is commented # and I also modified that line so I am not sure which address it was set to orginally. I don't see any other address in the libvirtd.conf. Should that be uncommented? and if so, what address should it be set to?

 

Try uncommenting and setting to 0.0.0.0.  See if that helps with this race-condition issue...  I think there are comments written above that line that describe using it in this way.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.