Applying an image profile to the host
The whole purpose of creating an image profile is to assign it to a host and apply it. This is particularly useful when performing upgrades or driver updates on auto-deployed ESX servers.
Getting ready
Read the recipes Downloading an ESXi offline bundle, Creating an image profile by cloning a predefined image profile, and Adding a VIB (software package) to an image profile as a preparation before you start learning how to apply an image profile to an ESXi host.
How to do it...
The following procedure will guide you through the steps required to assign and apply an image profile to an ESX server:
- Use the cmdlet
Connect-VIServer
to add the vCenter server to the PowerCLI session:Connect-VIServer -Server vcenterhost001 -User Administrator -Password pass123
- Use the
Get-VMHost
cmdlet to fetch a list of ESX servers inMaintenance
mode:Get-VMHost –State Maintenance
- Save the output of the
Get-VMHost
command to a user-defined variable:$esxhost = Get-VMHost -State Maintenance
- Use the
Apply-EsxImageProfile
cmdlet to apply the image profile to the ESX servers:Apply-ESXImageProfile -ImageProfile "Profile001" -Entities $esxhost
- Check whether the auto deployed ESX server is compliant with the created profile:
Test-DeployRuleSetCompliance -VMHost $esxhost
- If there are servers that are non-compliant, assign the compliance test output to a user-defined variable and then use that to do the repair (remediate) operation:
$compliance_result = Test-DeployRuleSetCompliance -VMHost $esxhost
- Once done, use the cmdlet
Repair-DeployRuleSetCompliance
to remediate the ESXi server:Repair-DeployRuleSetCompliance $compliance_result[0]
- Once you are done with working on the vCenter server, it is important to make sure that you disconnect the session as a best practice and to clear idle sessions:
Disconnect-VIServer –Server vcenterhost001
How it works...
Applying an image profile to an ESXi host is a way to update software changes, such as a driver update. The ESXi hosts need to be in maintenance mode for this to be done. Although the host is checked for compliance and remediated, the software change (for example, the inclusion of a newer device driver version) is not immediately seen by the ESXi host. The ESXi host will load the updated image into memory only during its next reboot.