...
Info |
---|
Information Refer VMware Supported OS for Guest Customization for supported Guest OS. |
Microsoft Hyper-V Requirements:
Hyper-V Templates must be placed in a Cluster Shared Volume in the form of VHDX files.
Ensure Hyper-V Integration Tools & service is installed and configured. (3)
Open Virtualization (Ovirt) KVM Requirements:
Ovirt Guest Agent & tools must be installed as described in Ovirt Guest Agent and Tools.
Ensure VM Templates are in the same datacenter used in HyperCloud to configure the Availability Zone.
VMware vCloud Director:
Ensure VM Tools is installed on vApp Templates. (4)
Ensure vApp Templates contain only one Tier (Single VM). It must be added to at least one Organization Catalog. (5)
Guest OS must belong to the list of the supported OS in VMware Supported OS for Guest Customization.
When creating a Template from an existing vApp, set vApp network = none.
VM Template Preparation (Pre-Install HyperCloud Agent) (Recommended):
This topic describes preinstalling the agent on VM Templates so HyperCloud does not need to install the agent on VMs deployed from the VM Template. (6)
...
Note |
---|
Caution (1) If the same vCenter Server will be used by more than one HCP, then clone the same VM Template for each HCP. (2) Update the HyperCloud_Platform_PROD_FQDN to HyperCloud_Platform_QA_FQDN for customizing VMs deployed from other HyperCloud_Platform(s). (3) For Linux VMs, remove the older version of the kernel and reboot the system. (4) Only vApp Templates created in vCloud or imported from vCenter are supported. ISO and OVA formats are not supported. (5) Use HyperCloud Blueprints to create a multi-tier deployment. (6) Use this only if the VMs deployed using HyperCloud do not have internet access. (7) For Hyper-V & KVM, run the following before shutting down the VM Template: sysprep.exe /oobe /generalize /shutdown /mode:vm # /unattend: Use an unattend.xml if available.
|
VM Template Preparation (cloud-init)
...
VMware vSphere Requirements:
Microsoft Hyper-V Requirements:
Hyper-V Templates must be placed in a Cluster Shared Volume in the form of VHDX files.
Refer VM Template Preparation (Installing Cloud-init) below,
VMware vCloud Director: Not Supported
VM Template Preparation (Installing Cloud-init):
Linux VM Templates (CentOS/Ubuntu): Update the following values:
#CentOS
#----------
sudo yum update -y
sudo yum install -y cloud-init
# Update /etc./cloud/cloud.cfg
# to allow root and password authentication run the following command
sudo sed -i 's/ssh_pwauth: false/ssh_pwauth: true/g' /etc./cloud/cloud.cfg
sudo sed -i 's/disable_root: true/disable_root: false/g' /etc./cloud/cloud.cfg
#vim:syntax=yaml
datasource_list: ["NoCloud", "ConfigDrive"]
CentOS 6.x and below*
#---------------------------
#remove udev rules for network adapters
rm /etc./udev/rules.d/70-persistent-net.rules
#Ubuntu
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install cloud-init -y
#Edit 90_dpkg.cfg to remove items in datasource_list except the following
datasource_list: [ NoCloud, ConfigDrive, None ]
Windows VM Templates (Window 2016):
Update the following 3 files as shown below before running sysprep via CloudBase-Init Installer
C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf |
[DEFAULT] username=Admin groups=Administrators first_logon_behaviour=no inject_user_password=false config_drive_raw_hhd=true config_drive_cdrom=true config_drive_vfat=true bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\ verbose=true debug=true logdir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\ logfile=cloudbase-init.log default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN logging_serial_port_settings= mtu_use_dhcp_config=true ntp_use_dhcp_config=true metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService plugins=cloudbaseinit.plugins.common.networkconfig.NetworkConfigPlugin, cloudbaseinit.plugins.common.mtu.MTUPlugin, cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin, cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin, cloudbaseinit.plugins.common.userdata.UserDataPlugin, cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts| |
C:\Program Files\Cloudbase Solutions\Cloudbase-Init\confcloudbase-init-unattend.conf |
[DEFAULT] username=Admin groups=Administrators first_logon_behaviour=no inject_user_password=false config_drive_raw_hhd=true config_drive_cdrom=true config_drive_vfat=true bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\ verbose=true debug=true logdir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\ logfile=cloudbase-init-unattend.log default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN logging_serial_port_settings= mtu_use_dhcp_config=true ntp_use_dhcp_config=true local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\ metadata_services= plugins= allow_reboot=false stop_service_on_exit=false check_latest_version=false |
| C:\Program Files\Cloudbase Solutions\Cloudbase-Init\confunattend.xml |
<?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="generalize"> <component name="Microsoft-Windows-PnpSysprep" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <PersistAllDeviceInstalls>true</PersistAllDeviceInstalls> </component> </settings> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"> <OOBE> <HideEULAPage>true</HideEULAPage> <NetworkLocation>Work</NetworkLocation> <ProtectYourPC>3</ProtectYourPC> <SkipMachineOOBE>true</SkipMachineOOBE> <SkipUserOOBE>true</SkipUserOOBE> </OOBE> <UserAccounts> <AdministratorPassword> <Value>SAB5AHAAZQByAEcAcgBpAGQAMQAyADMAQQBkAG0AaQBuAGkAcwB0AHIAYQB0AG8AcgBQAGEAcwBzAHcAbwByAGQA</Value> <PlainText>false</PlainText> </AdministratorPassword> </UserAccounts> </component> </settings> <settings pass="specialize"> <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RunSynchronous> <RunSynchronousCommand wcm:action="add"> <Order>1</Order> <Path>cmd.exe /c ""C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\Scripts\cloudbase-init.exe" --config-file "C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init-unattend.conf" && exit 1 | exit 2"</Path> <Description>Run Cloudbase-Init to set the hostname</Description> <WillReboot>OnRequest</WillReboot> </RunSynchronousCommand> </RunSynchronous> </component> </settings> </unattend> |
---|
Once all 3 files are edited, return to the Cloudbase-Init installer and select Sysprep and click Finish. This will generalize the system and shut down the VM. Mark the VM as a template based on the Hypervisor of your choice.
Note |
---|
Caution (1) For older Linux distributions remove the /etc./udev/rules.d/70-persistent-net.rules file before shutting down the VM. (2) Remove the NIC on the VM prior to converting the VM to Template. (3) Before installing cloudbase-init in the VM Template, take a snapshot of the VM. (4) Ensure the Administrator default password is configured. In this Example: HyperGrid123.
|