December 28, 20187 yr Author Hmm, I can't seem to get this working. I downloaded the plugin, and installed Python from the Nerd Tools plugin (v2.7.14a) and used the same android app (as well as a smartthings automation app called WebCore) to send a WoL command using the MAC address found in the VM config, but so far nothing. Any suggestions as to what I could try? Look through the past few posts about vm bridge name. I also have a wakeonlan plugin you could try
December 28, 20187 yr Author I've been working with ipmi and vm's recently and I think VirtualBMC would be a great addition to this plugin. You already have libvirt-python and the only other requirement to get it installed via pip is subprocess32 (if using python 2) which I had no problem building once I installed the build dependencies in unraid from slackware64-current repo. Pip will build it fine but the slackbuild is more convenient. Would you consider adding it? I would be happy to help or collaborate.I'll see about creating a slackware package and adding it to the plugin Explain to me a little more how it works
December 30, 20187 yr I'm having problems with this as well; I can confirm br0 is set right and: root@Tower:~# ps aux | grep libvirtwol root 19502 0.0 0.0 9812 2136 pts/2 S+ 19:33 0:00 grep libvirtwol root 22023 0.0 0.0 143204 22008 ? S 19:15 0:00 /usr/bin/python /usr/local/emhttp/plugins/libvirtwol/scripts/libvirtwol.py br0 is the output from checking what's running while the plugin is enabled. I've never been able to get this plugin to work for a couple years now, it hasn't been a big deal until now where I want to add some automations with something else sending a magic packet to turn on some VMs. I'm interested in trying any other alternative as well, given the situation.
December 30, 20187 yr I figured out that the plugin worked fine, the problem was my network environment -- once I fixed what was blocking the magic packet everything does work fine. Thanks for the great plugin!
December 30, 20187 yr On 12/28/2018 at 12:24 PM, dmacias said: I'll see about creating a slackware package and adding it to the plugin Explain to me a little more how it works Basically it lets you use ipmitool to control VM's over the network Power the virtual machine on, off, graceful off, NMI, and reset Check the power status Set the boot device Get the current boot device Very useful for automation tools that already support ipmi for these tasks for baremetal servers. Here's an example of how it's configured and used. https://x-vps.com/blog/?p=16
December 30, 20187 yr Author 2 hours ago, brunnels said: Basically it lets you use ipmitool to control VM's over the network Power the virtual machine on, off, graceful off, NMI, and reset Check the power status Set the boot device Get the current boot device Very useful for automation tools that already support ipmi for these tasks for baremetal servers. Here's an example of how it's configured and used. https://x-vps.com/blog/?p=16 Ok thanks. I didn't see the port option on the github page. So I did know how it would control different vm's.
December 30, 20187 yr Author 14 hours ago, AboveUnrefined said: I figured out that the plugin worked fine, the problem was my network environment -- once I fixed what was blocking the magic packet everything does work fine. Thanks for the great plugin! Good to hear.
December 31, 20187 yr On 12/28/2018 at 1:22 PM, dmacias said: On 12/27/2018 at 2:33 PM, Coolsaber57 said: Hmm, I can't seem to get this working. I downloaded the plugin, and installed Python from the Nerd Tools plugin (v2.7.14a) and used the same android app (as well as a smartthings automation app called WebCore) to send a WoL command using the MAC address found in the VM config, but so far nothing. Any suggestions as to what I could try? Look through the past few posts about vm bridge name. I also have a wakeonlan plugin you could try My bridge name is br0 and bridging is enabled in my network settings. Edited December 31, 20187 yr by Coolsaber57
December 31, 20187 yr On 12/29/2018 at 8:29 PM, AboveUnrefined said: I figured out that the plugin worked fine, the problem was my network environment -- once I fixed what was blocking the magic packet everything does work fine. Thanks for the great plugin! What did you end up needing to do in your network environment?
January 4, 20197 yr Author I've been working with ipmi and vm's recently and I think VirtualBMC would be a great addition to this plugin. You already have libvirt-python and the only other requirement to get it installed via pip is subprocess32 (if using python 2) which I had no problem building once I installed the build dependencies in unraid from slackware64-current repo. Pip will build it fine but the slackbuild is more convenient. Would you consider adding it? I would be happy to help or collaborate.I worked on this a bit. It'll take a bit more time to figure out which other packages will be needed to just run it. Most likely it will require all the packages from the requirements.txt but some of those also require other packages too. On my dev system pip installed 20+ packages but all those may not be needed to run it.
January 4, 20197 yr Author What did you end up needing to do in your network environment?Maybe describe your network environment and equipment a bit. Something may be blocking the wol packets also what motherboard and network card. You may need to enable wol in your bios.
January 4, 20197 yr 1 hour ago, dmacias said: On 12/30/2018 at 11:16 PM, Coolsaber57 said: What did you end up needing to do in your network environment? Maybe describe your network environment and equipment a bit. Something may be blocking the wol packets also what motherboard and network card. You may need to enable wol in your bios. Hey there, sorry I was just going to investigate my setup if I could get a tip on where to start from the other guy, but my setup includes: Ubiquiti USG Ubiquiti US-48 switch Gigabyte GA-7PESH2 dual socket LGA2011 mainboard w/ 2x e5-2630 v2, connected via 10gbase-T to sfp+ to the US-48 Sending WoL packets via phone app and WebCore (home automation s/w) I'll see how to enable WoL in the bios in my MB, I wasn't aware that was needed. Edit: the default setting for WoL is ON on my MB, and I can double check when I get home, but I would imagine it's enabled. Edited January 4, 20197 yr by Coolsaber57
January 5, 20197 yr 12 hours ago, dmacias said: I worked on this a bit. It'll take a bit more time to figure out which other packages will be needed to just run it. Most likely it will require all the packages from the requirements.txt but some of those also require other packages too. On my dev system pip installed 20+ packages but all those may not be needed to run it. I installed a bunch of build packages I download from slackware64-current repo and ran the slackbuild for subprocess32 I linked before. Then I installed that package, libvirt-python (from slackware64-current), and python-setuptools (from slackware64-current). Finally I ran `pip install virtualbmc` None of the build packages were needed for the install detailed in the log file. I did a reboot to make sure they were all gone before doing it. I attached the log and list of packages I installed to make the slackbuild. Also my subprocess package in case it helps. virtualbmc-install.txt build-packages.txt subprocess32-3.5.2-x86_64-2_SBo.tgz Edited January 5, 20197 yr by brunnels
January 5, 20197 yr 20 hours ago, dmacias said: I worked on this a bit. It'll take a bit more time to figure out which other packages will be needed to just run it. Most likely it will require all the packages from the requirements.txt but some of those also require other packages too. On my dev system pip installed 20+ packages but all those may not be needed to run it. I was thinking on this more last night and since a lot of small python packages get installed by pip could you just run the pip install during the plugin install script? It's pretty fast so I don't think it would be a problem. Another alternative which would probably be useful for a lot of people or other plugins would be a new plugin for "persistent pip" that essentially restores the state of /usr/lib64/python2.7/site-packages/ from the flash drive on boot.
January 5, 20197 yr Author Hey there, sorry I was just going to investigate my setup if I could get a tip on where to start from the other guy, but my setup includes: Ubiquiti USG Ubiquiti US-48 switch Gigabyte GA-7PESH2 dual socket LGA2011 mainboard w/ 2x e5-2630 v2, connected via 10gbase-T to sfp+ to the US-48 Sending WoL packets via phone app and WebCore (home automation s/w) I'll see how to enable WoL in the bios in my MB, I wasn't aware that was needed. Edit: the default setting for WoL is ON on my MB, and I can double check when I get home, but I would imagine it's enabled.I have similar hardware (usg pro and usw 24). The only thing I can think of is if you have some traffic blocked or if enabled, an ISP rule that blocks magic packets. Also you need to be on the same subnet as the unraid server. The script works by listening to all packets on udp port 7, udp port 9 or ether proto 0x0842 and matching mac in the magic packet to mac for virtual machine.
January 5, 20197 yr Author I was thinking on this more last night and since a lot of small python packages get installed by pip could you just run the pip install during the plugin install script? It's pretty fast so I don't think it would be a problem. Another alternative which would probably be useful for a lot of people or other plugins would be a new plugin for "persistent pip" that essentially restores the state of /usr/lib64/python2.7/site-packages/ from the flash drive on boot. Along with setuptools and subprocess32 it needs pbr, six, enum34, pycparser, cffi, asn1crypto, idna, ipaddress, cryptography, pyghmi, PyYAML, pyperclip, contextlib2, pyparsing, wcwidth, cmd2, stevedore, PrettyTable, unicodecsv, cliff, pyzmq.As a rule none of my plugins need to download anything on server boot. There have been too many problems in the past with servers hanging or not working due to connectivity issues at boot. I would just prefer everything be there on the flash drive already.I could install subprocess32 and setuptools and package everything else into one package (which I don't necessarily like) or just create 21 different ones.
January 5, 20197 yr 9 hours ago, dmacias said: I could install subprocess32 and setuptools and package everything else into one package (which I don't necessarily like) or just create 21 different ones. Found slackbuilds for most of those: pbr six enum34 pycparser cffi idna ipaddress cryptography PyYAML pyperclip pyparsing wcwidth stevedore PrettyTable unicodecsv pyzmq Didn't see them for these: asn1crypto pyghmi contextlib2 cmd2 cliff python-six and python-idna are actually in official repos. Edited January 5, 20197 yr by brunnels
January 7, 20197 yr Author Found slackbuilds for most of those: pbr six enum34 pycparser cffi idna ipaddress cryptography PyYAML pyperclip pyparsing wcwidth stevedore PrettyTable unicodecsv pyzmq Didn't see them for these: asn1crypto pyghmi contextlib2 cmd2 cliff python-six and python-idna are actually in official repos. I decided to use a python virtual environment and load everything into one package. Created multiple packages based on unraid version/libvirt version. I also add a Virtual BMC service to the VM settings page. I'll add more Virtual BMC settings to the WebGUI when I have time. E.g. vm's and port settings. Also I wondering if you knew where Virtual BMC stored the vm/ports settings, so they can be restored on boot. Edit: Nm I figured out where the settings are stored. They are in the user home directory. So /root/.vbmc
January 9, 20197 yr Awesome work. Thank you. I'm testing it out now. One note so far. The verbose on the uninstall logging to the webpage makes it take a really long time delete all the files in the virtual environment
January 11, 20197 yr Just been trying to get this to work with no success until i realised my VLANS were causing the issue. I worked around it by overriding the code in the /etc/rc.d/rc.libvirtwol file. i replaced the variable $BRNAME directly with the hard coded value br0.1 (for br0 vlan 1) is it possible to get some sort of option for this added to the plugin?
January 13, 20197 yr Author On 1/11/2019 at 1:45 PM, Fma965 said: Just been trying to get this to work with no success until i realised my VLANS were causing the issue. I worked around it by overriding the code in the /etc/rc.d/rc.libvirtwol file. i replaced the variable $BRNAME directly with the hard coded value br0.1 (for br0 vlan 1) is it possible to get some sort of option for this added to the plugin? Is your Default network bridge not set to bro.1? That is what the variable $BRNAME is.
January 30, 20197 yr On 1/11/2019 at 3:45 PM, Fma965 said: Just been trying to get this to work with no success until i realised my VLANS were causing the issue. I worked around it by overriding the code in the /etc/rc.d/rc.libvirtwol file. i replaced the variable $BRNAME directly with the hard coded value br0.1 (for br0 vlan 1) is it possible to get some sort of option for this added to the plugin? I have VMs on both br0 and br0.40 VLAN (default) and the script will not start w/ the variable $BRNAME or if br0.40 is hard coded. If I hard code br0, the service reports as started but I cannot seem to start any VMs via WoL Any advice? Also, how does one access VBMC? EDIT: I am running 6.6.6 Edited January 30, 20197 yr by therapist
January 31, 20197 yr Author On 1/30/2019 at 1:07 PM, therapist said: I have VMs on both br0 and br0.40 VLAN (default) and the script will not start w/ the variable $BRNAME or if br0.40 is hard coded. If I hard code br0, the service reports as started but I cannot seem to start any VMs via WoL Any advice? Also, how does one access VBMC? EDIT: I am running 6.6.6 It not necessary to hard code anything. Everything works fine for me as is. I have the Default vm bridge set to br0.80. I doesn't really matter what bridge the VMs are on. The default bridge is what matters as it is the interface the script will be listening on. It will be looking for any magic packet. It will then compare the magic packet mac to all the vm macs and start a matching vm. Wol packets have to be broadcast on the same network. Are you setting your Default vm bridge to br0.40 in the Unraid webgui? Are you sending the wol from the br0.40 network? I can send etherwake -i br0.40 vmmacaddress from the server and the vm starts up. The VBMC is command line only for now. You'll have to google how to use it. But basically you assign vms to different ports and then you use ipmi commands/software to send ipmi commands to server.ip:vmport#. You'll need something like my cmdline plugin to save and restore your /root directory on server restart also. All the VBMC settings are saved in /root/.vbmc
February 11, 20197 yr On 12/30/2018 at 11:16 PM, Coolsaber57 said: What did you end up needing to do in your network environment? Hey, sorry for the delay. The problem had to do with network access in a virtual machine container -- it wasn't so much the network itself as the container's access to the network.
November 16, 20196 yr WOL plugin daemon is running ,but in fact wont work and no config at all Nerdpack all plugins installed. After research found Quote /usr/local/emhttp/plugins/libvirtwol/scripts/libvirtwol.py br0 Traceback (most recent call last): File "/usr/local/emhttp/plugins/libvirtwol/scripts/libvirtwol.py", line 26, in <module> import pcap ImportError: No module named pcap Any solution please? Edited November 16, 20196 yr by ingus16
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.