SaltStack for Hyper-V



  • Currently looking at SaltStack as a centralized management tool for my servers. As far as I see SaltStack has great support for KVM (libvirt) that allows one to do almost everything in a virtualized environment based on KVM. Windows capabilities are pretty great for massive deployment and servers/computers management but I can not find something similar to libvirt capabilities for Hyper-V. The only thing I could find is this one https://github.com/bougie/salt-hyperv-formula but it allows only the installation and configuration of the role itself and is not developed for 3 years already.

    So far the only way to manage Hyper-V virtual machines that I see is using PowerShell commands being sent through SaltStack which seems not the best option. Am I missing something?



  • Its not so bad running powershell commands via salt if you are familiar with powershell commands already.
    salt -G 'os:windows' cmd.powershell 'Get-NetAdapter' > win-netadapter.txt



  • @net-runner said in SaltStack for Hyper-V:

    So far the only way to manage Hyper-V virtual machines that I see is using PowerShell commands being sent through SaltStack which seems not the best option. Am I missing something?

    But that is how Hyper-V is designed to be managed.
    What are you needing?



  • @net-runner said in SaltStack for Hyper-V:

    Currently looking at SaltStack as a centralized management tool for my servers. As far as I see SaltStack has great support for KVM (libvirt) that allows one to do almost everything in a virtualized environment based on KVM. Windows capabilities are pretty great for massive deployment and servers/computers management but I can not find something similar to libvirt capabilities for Hyper-V. The only thing I could find is this one https://github.com/bougie/salt-hyperv-formula but it allows only the installation and configuration of the role itself and is not developed for 3 years already.

    So far the only way to manage Hyper-V virtual machines that I see is using PowerShell commands being sent through SaltStack which seems not the best option. Am I missing something?

    For regular management, Hyper-V Manager and PowerShell is the best option.

    SaltStack would be for configuration management or state management, even some automation.... not meant for day-to-day tasks.

    If you have Hyper-V Hosts that aren't connected to anything like a domain or you can't remotely access them via PowerShell or Hyper-V Manager... then I suppose SaltStack would be handy due to ti allowing you to run Hyper-V commands remotely.



  • @tim_g said in SaltStack for Hyper-V:

    @net-runner said in SaltStack for Hyper-V:

    Currently looking at SaltStack as a centralized management tool for my servers. As far as I see SaltStack has great support for KVM (libvirt) that allows one to do almost everything in a virtualized environment based on KVM. Windows capabilities are pretty great for massive deployment and servers/computers management but I can not find something similar to libvirt capabilities for Hyper-V. The only thing I could find is this one https://github.com/bougie/salt-hyperv-formula but it allows only the installation and configuration of the role itself and is not developed for 3 years already.

    So far the only way to manage Hyper-V virtual machines that I see is using PowerShell commands being sent through SaltStack which seems not the best option. Am I missing something?

    For regular management, Hyper-V Manager and PowerShell is the best option.

    SaltStack would be for configuration management or state management, even some automation.... not meant for day-to-day tasks.

    If you have Hyper-V Hosts that aren't connected to anything like a domain or you can't remotely access them via PowerShell or Hyper-V Manager... then I suppose SaltStack would be handy due to ti allowing you to run Hyper-V commands remotely.

    What would day to day tasks be in this case? Like snapping a machine before doing a patch?



  • @scottalanmiller said in SaltStack for Hyper-V:

    @tim_g said in SaltStack for Hyper-V:

    @net-runner said in SaltStack for Hyper-V:

    Currently looking at SaltStack as a centralized management tool for my servers. As far as I see SaltStack has great support for KVM (libvirt) that allows one to do almost everything in a virtualized environment based on KVM. Windows capabilities are pretty great for massive deployment and servers/computers management but I can not find something similar to libvirt capabilities for Hyper-V. The only thing I could find is this one https://github.com/bougie/salt-hyperv-formula but it allows only the installation and configuration of the role itself and is not developed for 3 years already.

    So far the only way to manage Hyper-V virtual machines that I see is using PowerShell commands being sent through SaltStack which seems not the best option. Am I missing something?

    For regular management, Hyper-V Manager and PowerShell is the best option.

    SaltStack would be for configuration management or state management, even some automation.... not meant for day-to-day tasks.

    If you have Hyper-V Hosts that aren't connected to anything like a domain or you can't remotely access them via PowerShell or Hyper-V Manager... then I suppose SaltStack would be handy due to ti allowing you to run Hyper-V commands remotely.

    What would day to day tasks be in this case? Like snapping a machine before doing a patch?

    He wants to manage Virtual Machines... that's what I considered day-to-day.

    As to specifics on what he actually wants to do to virtual machines... we'll need to ask him. What are you looking to do @Net-Runner ?



  • @tim_g said in SaltStack for Hyper-V:

    @scottalanmiller said in SaltStack for Hyper-V:

    @tim_g said in SaltStack for Hyper-V:

    @net-runner said in SaltStack for Hyper-V:

    Currently looking at SaltStack as a centralized management tool for my servers. As far as I see SaltStack has great support for KVM (libvirt) that allows one to do almost everything in a virtualized environment based on KVM. Windows capabilities are pretty great for massive deployment and servers/computers management but I can not find something similar to libvirt capabilities for Hyper-V. The only thing I could find is this one https://github.com/bougie/salt-hyperv-formula but it allows only the installation and configuration of the role itself and is not developed for 3 years already.

    So far the only way to manage Hyper-V virtual machines that I see is using PowerShell commands being sent through SaltStack which seems not the best option. Am I missing something?

    For regular management, Hyper-V Manager and PowerShell is the best option.

    SaltStack would be for configuration management or state management, even some automation.... not meant for day-to-day tasks.

    If you have Hyper-V Hosts that aren't connected to anything like a domain or you can't remotely access them via PowerShell or Hyper-V Manager... then I suppose SaltStack would be handy due to ti allowing you to run Hyper-V commands remotely.

    What would day to day tasks be in this case? Like snapping a machine before doing a patch?

    He wants to manage Virtual Machines... that's what I considered day-to-day.

    As to specifics on what he actually wants to do to virtual machines... we'll need to ask him. What are you looking to do @Net-Runner ?

    Yes, but what does "manage virtual machines" mean? The management that I do of VMs would be stateful. At least normally.



  • @net-runner said in SaltStack for Hyper-V:

    So far the only way to manage Hyper-V virtual machines that I see is using PowerShell commands being sent through SaltStack which seems not the best option. Am I missing something?

    What are you wanting to do to your virtual machines through SaltStack? What are the goals?



  • As I already mentioned above the goal is to manage virtual machines. Literally. With salt.modules.virt I can do a lot of things with KVM like list_snapshots, migrate, pause, reset and resume the named VM along with setmem, setcpu and other great stuff. The idea is to have a script or possibly a set of scripts or some kind of self-made console that would allow me to manage VMs centrally on both Hyper-V and KVM the same way without having to rewrite each salt.modules.virt command using PowerShell or direct WMI calls. Of course it's doable and will work but seems to be out of SaltStack concept for me.


Log in to reply