vSphere Guest OS Customization Workflow for RHEL 8 & 9 and Network Configuration Path Behavior
search cancel

vSphere Guest OS Customization Workflow for RHEL 8 & 9 and Network Configuration Path Behavior

book

Article ID: 420713

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

Administrators managing Red Hat Enterprise Linux 8 (RHEL 8) environments often have the following technical inquiries regarding vSphere Guest OS Customization:

  1. Internal Scripts: What specific internal scripts or commands does vSphere Guest OS customization execute inside the RHEL 8 Guest OS to configure IP addresses, Subnet Masks, Gateways, and DNS servers?
  2. Configuration Path: Why is the network configuration written to the legacy/deprecated path (/etc/sysconfig/network-scripts/) instead of the newer NetworkManager Keyfile format path, given that RHEL 8 supports NetworkManager?

Environment

VMware vSphere ESXi 8.0x

Resolution

1. Internal Workflow of vSphere Guest Customization on RHEL

The specific scripts and commands executed by OpenVM Tools inside the Guest OS are proprietary to Broadcom/VMware and are not publicly documented in source code form. However, the architecture utilizes a standard open-source handoff mechanism.

The high-level workflow for RHEL 8 network configuration is as follows:

  • Intermediary Role: The VMware Tools package installed within the RHEL Guest OS acts as the primary intermediary.
  • Data Injection: vCenter Server uses API calls to pass the network configuration specifications (IP, Mask, Gateway, DNS) to the VMware Tools service running inside the VM.
  • Cloud-init Integration (Recommended): For modern Linux distributions like RHEL 8, vSphere Guest OS Customization is designed to leverage cloud-init. VMware Tools hands off the configuration data to cloud-init, which then executes the actual OS-level network configuration commands.

Note: For a deeper technical dive into the prerequisites and setup, refer to the Broadcom Knowledge Base article on How does vSphere Guest OS Customization work with cloud-init to customize a Linux VM

2. Network Configuration File Path Discrepancy (RHEL 8 vs. RHEL 9)

There is a deliberate difference in where vSphere writes network configuration files depending on the version of the Red Hat Enterprise Linux Guest OS.

Guest OS Version

Configuration Path Used

File Format

RHEL 8

/etc/sysconfig/network-scripts/ifcfg-{NAME}

Legacy ifcfg scripts

RHEL 9

/etc/NetworkManager/system-connections/VMware-customization-{NAME}.nmconnection

NetworkManager Keyfile

3. Why RHEL 8 Uses the "Deprecated" Path

Users often observe that RHEL 8 customization writes to /etc/sysconfig/network-scripts/ and flag this as using a "deprecated" feature. This behaviour is by design and valid for the following reasons:

  • Definition of Deprecated: In the context of RHEL lifecycle management, "deprecated" indicates that a feature is planned for removal in a future major release (e.g., RHEL 10), but it is still fully supported, operational, and reliable in the current version (RHEL 8).
  • Stability and Support: RHEL 8 has not eliminated support for legacy ifcfg files. vSphere customization utilizes this path to ensure maximum compatibility and reliability for the lifespan of the RHEL 8 OS.
  • Transition Strategy: Broadcom/VMware is transitioning to the newer NetworkManager Keyfile format based on the OS capability. As seen in the table above, the transition is fully implemented for RHEL 9, where the legacy path is no longer the standard.

Additional Information

Local Name Resolution (/etc/hosts)

As part of the customization process, the script will automatically update the /etc/hosts file.

  • Format: IP_Address Canonical_Hostname Aliases
  • Purpose: This allows the Linux VM to locally resolve its own hostname and is expected behaviour by design.

Related Articles: