Partial Case Sensitivity with esxcfg-advcfg

I was working on some documentation this afternoon that centered around the use of esxcfg-advcfg to set some NFS-related parameters in VMware ESX. While verifying the command syntax, I noticed something interesting about the esxcfg-advcfg command: it’s only partially case-sensitive.

OK, this isn’t world-shattering news or a discovery of paramount importance, but I do find this a bit odd given that with the Linux-based Service Console most everything should be entirely case-sensitive. However, I found that with esxcfg-advcfg only part of the command needs to be properly capitalized.

Consider these examples. If I wanted to increase the maximum number of NFS datastores on VMware ESX, I would use this command:

esxcfg-advcfg -s 32 /NFS/MaxVolumes

This command will also work (note the capitalization, or lack thereof):

esxcfg-advcfg -s 32 /NFS/maxvolumes

But this command won’t work; it will report that it can’t find the parameter:

esxcfg-advcfg -s 32 /nfs/maxvolumes

I noticed the same behavior with a couple of other settings, so I’m reasonably confident that it’s not just this one setting. It appears that esxcfg-advcfg only cares if the first portion of the path is properly capitalized, and the rest of the parameter is case insensitive.

Interesting, no?

Tags: , , , ,

  1. Paul’s avatar

    QA must have only been on their second pot of coffee!

  2. Kyle Mestery’s avatar

    I noticed this as well when forcing software VLAN config using esxcfg-advcfg. Only the first part of the path is checked for case sensitivity.

  3. william bishop’s avatar

    considering most of the commands to begin with, I don’t see it as unusual. Case in point

    service mgmt-vmware
    service vmware-vpxa

    Who does this? If it weren’t for the fact that my environment is bloody huge, and I have to do this almost every day, I’d need to refer to a manual every time I wanted to run a command, because you don’t know which order it’s going to be in.