Utilizing vSphere ESXi Image Builder with Partner Software Depots

ESXi Image Builder seems to be one of those unsung heroes that can really make life easier but rarely gets the spotlight. I rarely even hear this feature come up unless I’m involved with an Auto Deploy design. The ability to custom bake in partner software packages into your own ISO image is awesome, especially when you realize how rich the ecosystem is with software depots just waiting for you to tap into them.

This post will go into the basics of the ESXi Image Builder process with a focus on two depots that I use quite often for building custom ESXi ISO images in various environments.

For a more detailed look at just ESXi Image Builder itself, check out this blog post provided by VMware.

VMware Base Image

The process of building an ESXi Image requires “software depots” which are a collection of software packages that are usually in zip format and include an index.xml file in the root. You can use as many software depots to build an image as you would like. You’ll always need the ESXi base image software depot to get things started, which is available on VMware’s website in the offline bundle format.

I’ve highlighted the term “VMware Image Builder” in the information field of the correct download

Now that you have this offline bundle saved somewhere, fire up PowerCLI. Your first command will be to add this software depot:

Add-EsxSoftwareDepot VMware-ESXi-5.1.0-799733-depot.zip

If successful, you’ll see a response stating that the Depot URL has added the zip file. Now you have provided all of the necessary base image components to move to the next step.

HP Software Delivery Repository (vibsdepot)

HP has done a fantastic job at providing all of their software in an online repository named “vibsdepot“. The full, fancy name is “Software Delivery Repository” but everyone I know just calls it vibsdepot. If you are working with HP hardware, such as their popular ProLiant servers, it’s typically best to include their CIM and iLO packages.

If you don’t have any HP equipment, you will need to find the offline bundle for your specific vendor (such as Dell or Cisco).

Rather than downloading an offline bundle, you can point your software depot directly to the URL at vibsdepot (neat!). The only portion of the URL that changes is the date. In this case, the latest software depot is in the sep2012 folder. So, the PowerCLI command would be:

Add-EsxSoftwareDepot http://vibsdepot.hp.com/hpq/sep2012/index.xml

If you’re not sure what the name of the latest folder is, you can navigate to the hpq folder via browser and look.

I’ve highlighted the latest folder on HP’s vibsdepot site

I’ll cover how you use their software packages towards the end. For now, I just want to make sure that you have the software depot added to your PowerCLI session.

[symple_box color=”black” fade_in=”false” float=”center” text_align=”left” width=””]You can find all of my various PowerShell scripts in my GitHub repository[/symple_box]

EMC PowerPath Virtual Edition

Another popular software package that I work with often is EMC’s PowerPath for VMware, also known as PowerPath Virtual Edition or simply PP/VE. It has a lot of name variations, but you get my drift. Rather than adding PP/VE via VUM after the fact, it’s often easier to just bake it into your custom ISO. You’ll need to log into PowerLink and grab the “PowerPath for VMware” software package which also includes the offline bundle.

I’ve highlighted the offline bundle, which is included in the PP/VE download

Add the software depot to your PowerCLI session:

Add-EsxSoftwareDepot EMCPower.VMWARE.5.7.P02.b003.zip

Create a Custom Image Profile

Before we fire away at adding new software packages you’ll need your own custom image profile. The image profile is the personality of the image and I typically just copy the VMware base image. To do this, issue this Power CLI command and make sure to change the name “WN-Custom” and vendor “Wahl Network” to whatever suits you:

New-EsxImageProfile -CloneProfile ESXi-5.1.0-799733-standard -Name WN-Custom -AcceptanceLevel PartnerSupported -Vendor "Wahl Network"

Note: The profile name “ESXi-5.1.0-799733-standard” will change depending on the VMware software depot you downloaded. Use Get-EsxImageProfile to browse available profiles to ensure you have the right name for the clone process above.

You now have your own custom image profile with a snazzy new name and vendor name.

Add Software Packages

At this point we’re ready to begin adding the software packages that live inside the software depots. One easy way to find the names of your partner software packages is with a simple PowerCLI get loop. For example, if I want to find all the EMC vendor software packages, I use “e*” as the search filter to find any software package with a vendor name beginning with E:

Get-EsxSoftwarePackage | Where {$_.Vendor -like "e*"} | ft -AutoSize

There are three PowerPath software packages available to me and I want to add all three of them. Let’s try adding them to the image profile:

Add-EsxSoftwarePackage -ImageProfile WN-ESXi-5.1.0-799733-standard -SoftwarePackage powerpath.cim.esx,powerpath.lib.esx,powerpath.plugin.esx

Interestingly enough, this command would actually give you an error as shown below:

Add-EsxSoftwarePackage : VIB EMC_bootbank_powerpath.cim.esx_5. requires powerpath.lib.esx, but the requirement cannot be satisfied within the ImageProfile. However, additional VIB(s) EMC_bootbank_powerpath.lib.esx_5. from depot can satisfy this requirement.

This is because some software packages have dependencies. This particular package is stating that I can’t load the CIM package before loading the LIB package. Alter the order of the PowerCLI command to fix this (notice that I put LIB first, then CIM second):

Add-EsxSoftwarePackage -ImageProfile WN-ESXi-5.1.0-799733-standard -SoftwarePackage powerpath.lib.esx,powerpath.cim.esx,powerpath.plugin.esx

Repeat this process for any HP software you wish to add.

Export to ISO

The last step is to export your shiny new image profile to an ISO file. I also suggest exporting it to a bundle (zip) file in case you need to do further edits later on.

Export-EsxImageProfile -ImageProfile WN-Custom -ExportToIso -FilePath WN-Image.iso
Export-EsxImageProfile -ImageProfile WN-Custom -ExportToBundle -FilePath WN-Image.zip


Although I highlight HP and EMC, as they are very common software depots for me to work with, there are many other depots available. The key takeaway is that when you use this new ISO to install ESXi it will already contain all your partner software packages from the moment the hypervisor is installed. This saves you a ton of time and effort of having to use VUM to remediate hosts after they are brought online, and also guarantees that your new hosts contain these software packages.

I also wanted to point out a great read from Eric Shanks entitled “Updating HP ESXi Hosts with VUM” which leverages vibsdepot via Update Manager. Worth a read!

As always, I’m interested in hearing your tips, tricks, and experiences with Image Builder!