1

Although I have read VMware's official blog post http://blogs.vmware.com/vsphere/2013/10/are-esxi-patches-cumulative.html very carefully, there is still quite some mist.

Now I ask one concise question here. On a pristine ESXi 5.0 machine, I update it like this:

$ esxcli software vib update -n esx-base -d /vmfs/volumes/chj1-datastore1/esxi-patch/update-from-esxi5.0-5.0_update03.zip
Installation Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
   VIBs Installed: VMware_bootbank_esx-base_5.0.0-3.41.1311175
   VIBs Removed: VMware_bootbank_esx-base_5.0.0-0.0.469512
   VIBs Skipped:

My question is: There are two versions for esx-base module inside patch archive update-from-esxi5.0-5.0_update03.zip ,

  • VMware_bootbank_esx-base_5.0.0-3.41.1311175.vib
  • VMware_bootbank_esx-base_5.0.0-2.38.1311177.vib

Then why is the 1311175 one used instead of the 1311177 one?

I know I can use esxcli software profile update to explicitly select the 1311177 one, however, I just want to know how esxcli software vib update deals with different profiles defined inside the patch archive.

enter image description here

Jimm Chen
  • 1,749
  • 5
  • 18
  • 32

1 Answers1

1

The "esxcli software vib update" command will by default pick the latest version of a VIB package, and if you carefully look at the full version number (not only the last segment that is the build number) then you will see that 5.0.0-3.41.1311175 is really a higher version than 5.0.0-2.38.1311177 (because 5.0.0-3... > 5.0.0-2...).

The reason why there are two different versions of esx-base in the U3 bundle is that VMware differentiates between security-only bug fixes and functional bug fixes. The version 5.0.0-2.38.1311177 of esx-base includes only the security fixes whereas 5.0.0-3.41.1311175 includes both functional and security fixes. So, you will want to install the latter!

BTW, you really should not update ESXi by applying individual VIBs, but use

esxcli software profile update ...

With

esxcli software sources profile list -d /path/to/bundle.zip

you can check what image profiles are in the bundle. In your case there is

  • ESXi-5.0.0-20131002001-standard (with functional and security fixes) and
  • ESXi-5.0.0-20131001001s-standard (with security-only fixes)

and you want to install the first one with

esxcli software profile update -d /path/to/bundle.zip -p ESXi-5.0.0-20131002001-standard

This will ensure that you do not only get the esx-base package updated, but also all other VIBs that are updated with the U3 bundle.

You can check what VIBs are updated with each VMware patch bundle by looking at my spreadsheet at http://vibmatrix.v-front.de.

VFrontDe
  • 1,508
  • 8
  • 13
  • Thank you for your great explanation on your website which even surpasses the VMware official blog on this topic. But could you tell me how do you get that conclusion 5.0.0-3.41 will be preferred over 5.0.0-3.38(due to 41>38), I mean, any VMware official info documenting this? – Jimm Chen Mar 10 '14 at 08:49
  • Please note it's 5.0.0-**3**.41 vs. 5.0.0-**2**.38. I'm not aware of a VMware document about these version strings, just about general info on this topic (e.g. http://en.wikipedia.org/wiki/Software_versioning). The scheme here obviously is ESXiVersion-PackageVersion. ESXiVersion has the format major.minor.maintenance (5.0.0) and PackageVersion is major.minor.buildno (3.41.1311175 vs. 2.38.1311177), but this is not really uniform across all vendors and VIBs. As a general guide line you just read the version strings from left to right and compare the first section that differs (here: 3 > 2). – VFrontDe Mar 11 '14 at 10:45