I'm looking for tools that would help our team create and manage environments for our internal testing and debugging.

Each environment consists of single windows server and multiple windows clients. They should be on isolated network and there should be active directory set up for them. Then, either developer of CI would connect to the server, install our application and run UI tests.

We have local Hyper-V server available to run those environments.

Requirements I have for management of such environments (in decreasing order of importance):

  1. Ability to reset environment to default state
  2. Can create and remove new environments
  3. Helps setting up server and client's AD
  4. Multiple independent environments at the same time.
  5. Can define how many and of what type each client should be.
    • Windows version and x64/x86
    • Pre-installed applications
  6. Can create/clone environment quickly

My short reasearch found out these tools:

VirtualLab Lability Seems to be best fit for our need. But it is not mature and supported enough. I have yet to be able to run it properly.

Vagrant Might have problems setting up multiple machines. And I read it cannot create new switches for Hyper-V

Terraform has no support for Hyper-V.

Are there any tools that would help me with my requirements? I can always code it myself, but I'm starting to figure out that will be lots of work.

Another option that might also work is using different virtualization technology. But that is last-resort option.

Also, I don't have any budget, so I expect everything to be free. But I'm not against paid options if there are any.

  • side quesion - is Docker an option as well / relevant here at all? – Peter Muryshkin Jun 19 '18 at 14:30
  • @PeterMuryshkin I don't have much experience with Docker. But I would say no. – Euphoric Jun 19 '18 at 19:14

Browse other questions tagged or ask your own question.