To create a custom Windows AMI with cloudbase-init for AWS:
Deploy a Windows VM
Connect to the VM using RDP
Download the right cloudbase-init installer from https://github.com/cloudbase/cloudbase-init
Run the installer
Do not select the Use metadata password checkbox, because Amazon does not support password setting through metadata.
Click Next
Do not select the checkboxes to Run Sysprep… or Shutdown when Sysprep terminates
Click Finish
In the VM again, edit the cloudbase-init.conf (located by default at “C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf”) and add:
“metadata_services=cloudbaseinit.metadata.services.ec2service.EC2Service” “plugins=cloudbaseinit.plugins.common.userdata.UserDataPlugin”
The “UserDataPlugin” runs the Abiquo bootstrap script, sets up VM variables, and sets up the guest initial password for the “Administrator” user.
Do not add the “SetUserPasswordPlugin” and “CreateUserPlugin” plugins in the configuration file because they cannot post the generated password to the metadata provider. They will generate a random password instead of the guest initial password generated by Abiquo.
Continue to customize the configuration file as required.
Shut down the VM
In Abiquo, open the virtual appliance create an instance template from the VM
By default, logs are located at “C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log”