RHEL 10 Guest OS Customization Failure and Password Configuration in VMware Cloud Director
search cancel

RHEL 10 Guest OS Customization Failure and Password Configuration in VMware Cloud Director

book

Article ID: 405326

calendar_today

Updated On:

Products

VMware Cloud Director

Issue/Introduction

When deploying a RHEL 10 or Rocky 10 template in VMware Cloud Director, the admin password is not set by guest customization, as expected.

  • Admin (root) password is not set during VM deployment.
  • Guest OS Customization script fails to run.
  • Network interfaces appear disconnected after deployment.
  • VMware Tools logs show errors indicating conflict with cloud-init.

Environment

  • VMware Cloud Director 10.6.x
  • RHEL 10.x / Rocky 10.x
  • vSphere 8.0

Cause

Guest customization functionality is provided by the underlying vSphere and is contingent on compatibility with that environment. For example, RHEL 10 deprecates the ifcfg-rh format and removes the /etc/sysconfig/network-scripts/ directory. VMware’s traditional Perl-based customization engine relies on this path. If cloud-init is installed on the template, open-vm-tools may hand over customization control to cloud-init, which often lacks the configuration to process VCD-specific UI data.

For more details, see the related vCenter Article:

Guest OS Customization may fail to customize RHEL 10.x

Resolution

Choose one of the two methods below to resolve this conflict.

Method 1: Switch to Perl-based customization engine (Legacy Path)

  1. Log in to the RHEL 10 VM template.
  2. Install required packages: sudo dnf install open-vm-tools perl -y
  3. Ensure the legacy network directory exists: sudo mkdir -p /etc/sysconfig/network-scripts
  4. Modify the cloud-init configuration to disable VMware customization: Edit /etc/cloud/cloud.cfg and ensure the following is removed or set to truedisable_vmware_customization: true
  5. Power off the VM and save as a template.

Method 2: Use cloud-init customization engine

  1. Log in to the RHEL 10 VM template.
  2. Edit /etc/cloud/cloud.cfg and set: disable_vmware_customization: false
  3. Ensure the datasource for VMware is configured correctly in cloud-init (refer to KB 311873).
  4. Clean the cloud-init instance: sudo cloud-init clean --seed
  5. Power off the VM and save as a template.

 

Additional Information

For more information regarding guest customization compatibility, please refer to the following:

Guest OS Compatibility

Configure a guest customization method for an unsupported Linux distribution

For additional information on how cloud-init is used to customize a Linux VM, please refer to the following article:

How does vSphere Guest OS Customization work with cloud-init to customize a Linux VM