You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.0 KiB

Geco-cloudbase-init

This is a Proxmox patch that allows us to use Cloudbase-init with windows hosts.

What can you do with this patch? Use Cloudbase-Init with Windows VMs to:

  • Create a new user with username or enable administrator.
  • Set a password on the new user or administrator.
  • Set static ip or dhcp on network adapters.
  • Set machine hostname.
  • Insert public ssh keys to "user/.ssh/authorized_keys" file of created/enabled user.
  • Expand partition volumes automatically when there's a resized disk.

You can do all below on system startup with the data provided by the cloud-init section of the proxmox gui.

There is two files that we need to modify Qemu.pm and Cloudinit.pm.

  • Qemu.pm to get password as cleartext in meta_data drive when it is a Windows VM.
  • Cloudinit.pm to generate a metadata json file with variables that are compatible with Cloudbase-Init.

If you want to apply the patch manually you can follow these steps: Manual Patching

Scripts

We have two scripts that do some fonctionality that we needed; enabling administrator user and enabling dhcp You need to move those scripts into Cloudbase Solutions\Cloudbase-Init\LocalScripts\ in your program files.

Powershell Script

This powershell script has a few uses.

  • Deletes the "cloudbase-init" user, delegates "cloudbase-init" service to local Systeme user and modifies execution path of the script also to use local system user.
  • Installs OpenSSH-Server from optional features of Windows.
  • Removes a store language package that causes an error when generelazing for sysprep.

You need to run this script after installing Cloudbase-Init Continous Build. We need continous build to use Username fonctionality of openstack service.

When everythin is installed simply run below in powershell to launch sysprep:

cd C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf
C:\Windows\System32\sysprep\sysprep.exe /generalize /oobe /unattend:Unattend.xml