Troubleshooting vSphere update woes

It’s 2020 and I still occasionally stumble on products that can’t handle international characters.

I’ve been running my update rounds on our vSphere environment, but one host simply refused to perform is update compliance check.

To troubleshoot, I enabled the ssh service and remoted in to the host, looking for errors in /var/log/vua.log. Sure enough, I found an interesting error message:

--> UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 33643: ordinal not in range(128)

The number 0xc3 sounds a lot like a Swedish or Norwegian character, so I grep’d the output of esxcfg-info until I found the culprit:

esxcfg-info | grep å
               |----Name............................................Virtual Lab Tången vSAN
                     |----Portset Name..............................Virtual Lab Tången vSAN
                     |----Virtual Switch............................Virtual Lab Tången vSAN
                     |----Virtual Switch............................Virtual Lab Tången vSAN
                     |----Virtual Switch............................Virtual Lab Tången vSAN
                     |----Virtual Switch............................Virtual Lab Tången vSAN
                     |----Virtual Switch............................Virtual Lab Tången vSAN
                     |----Virtual Switch............................Virtual Lab Tången vSAN
                     |----Virtual Switch............................Virtual Lab Tången vSAN
                  |----Name.........................................Virtual Lab Tången vSAN
                        |----Portset Name...........................Virtual Lab Tången vSAN
                        |----Virtual Switch.........................Virtual Lab Tången vSAN
                        |----Virtual Switch.........................Virtual Lab Tången vSAN
                        |----Virtual Switch.........................Virtual Lab Tången vSAN
                        |----Virtual Switch.........................Virtual Lab Tången vSAN
                        |----Virtual Switch.........................Virtual Lab Tången vSAN
                        |----Virtual Switch.........................Virtual Lab Tången vSAN
                        |----Virtual Switch.........................Virtual Lab Tången vSAN
            |----World Command Line.................................grep å

A vLab I created for a couple of my Veeam SureBackup jobs had a Nordic character in its name, and blocked updates. After removing all traces of the virtual lab and the Standard Switch it had created on the host, the same command showed no traces of characters outside of the limited ASCII set, and updating the host went as smoothly as it usually does.

Lesson learned: Client-side issues with localization may have mostly been solved for a decade or two, but server-side there are still reasons – not good ones, but reasons – to stick to plain English descriptors for everything.