in Infrastructure

Resolving a ‘Broken pipe’ error when patching ESXi

In the process of patching some servers using the trusty esxcli utility, I ran into an error I have never seen before. Normally, the most difficult part of patching ESXi servers is finding something to do for 30 minutes whilst all the VMs migrate off the host server. But in this case, this tiny error popped up:

[InstallationError]
[Errno 32] Broken pipe
vibs = VMware_locker_tools-light_6.0.0-2.43.4192238
Please refer to the log file for more details.

The esxcli.log was not helpful, merely parroting the same error message. But the esxupdate.log had a crucial detail regarding the /store directory: it was not found. /store (or the symlink, /locker) appear to be temporary storage locations for VIBs during upgrade operations. VMware even has a KB (KB2030665) detailing this error (sort of). The suggested answer is oh-so-close to what worked in my case.

I found that simply renaming the /store directory forced esxcli to refresh the locker, and the upgrade worked:

mv /store /store.old esxcli software profile update -d /vmfs/volumes/MyVolume1/ESXi600-201608001.zip -p ESXi-6.0.0-20160804001-standard

Update Result Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective. ... 

Hopefully this saves you a few hours of troubleshooting. Happy upgrading!

Write a Comment

Comment

  1. Thank you!! That worked perfectly for me, and saved me what I’m sure would have been a wasted couple of hours trying to figure it out. Great job!