Ben Armstrong, principal program manager on the core virtualization team at Microsoft, gets you up and running in about an hour — coffee break included.


The process is as follows:

  1. Install Windows Server 2012 R2 / Windows Server 2016 TP3 on a physical computer
  2. Enable the Hyper-V role, and configure virtual networking to your preference
  3. Make sure your current user is a member of the Hyper-V administrators group
  4. Make sure you have a block of "public IP addresses" available for your network
  5. Download V-Magine (from
  6. Run V-Magine
  7. Answer the questions that you are asked
  8. Go get a coffee (or two)

About an hour later you will have OpenStack on Hyper-V ready to go! Nice and simple. You can now open up the OpenStack website (V-Magine always makes this available on and login with the username "admin" and the password you provided during installation.
The next thing you will want to do is to get a Windows image that you can deploy in your new OpenStack environment. This is a little more complicated. Here you will need to:

  1. Download the Windows Server 2012 R2 evaluation cloud image (from
  2. Setup a network share – I use PowerShell to do this by running the following commands (substitute paths and names as appropriate): new-smbshare -name CloudBase -path C:CloudBase Set-netfirewallrule -DisplayGroup "File and Printer Sharing" -Enabled True
  3. Login to the OpenStack controller virtual machine with the username "root" and the password you provided while installing V-Magine.
  4. Run the following commands inside the virtual machine: source keystonerc_admin mount // /mnt -o username=benjamin,password=P@ssw0rd Gunzip -cd /mnt/windows_server_2012_r2_standard_eval_hyperv_20140530.vhdx.gz | glance image-create –property hypervisor_type=hyperv –name "Windows Server 2012 R2 Eval" –container-format bare –disk-format vhd –is-public true

Obviously – replace IP addresses, paths, usernames and passwords with the right ones for your environment.

This post, based on his talk at OpenStack Day Seattle, first appeared on Armstrong’s blog.
You can also follow him on Twitter at @virtualpcguy.

Superuser is always interested in how-tos and other contributions, please get in touch: [email protected]

Cover Photo by Datmater // CC BY NC