Part of my process before upgrading to new software in a production environment, whether it’s a major or minor release, is to let it bake in a development lab. While finishing up the upgrade of my vSphere 4.1 lab, I had one additional component to install, CapacityIQ. To my surprise (but not really), it is incompatible with vSphere 4.1.

CapacityIQ is distributed as a VMware virtual appliance that runs on CentOS 5.2. As part of the installation you are asked to configure both a password for both the root and ciqadmin account. Since this is just a linux host, I decided to SSH in and poke around to see where this check might be taking place. It only took a few minutes using the linux command find to locate some Perl modules that seem to be in the very early stages of a client side stub to a CapacityIQ API.

There is a Perl module called CIQExtension.pm which actually does the validation of your vCenter Server build. Within the script, there are two hardcoded values 2.5.0 and 4.0.0 which are the version that are supported by CapIQ.

What I did was add an extra “OR” statement to allow for vCenter Server 4.1.0:

Once I saved the changes, I went back to the CapIQ admin page to try to re-register my vCenter 4.1 and voila, it fully registered and started CapIQ!

I also verified by checking the status tab:

At this point, I was optimistic that the change has worked and decided to login to vCenter server to verify by loading the CapIQ application:

There you have it! CapacityIQ 1.0.3 running on vSphere 4.1

Even though there are new performance statistics with the release of vSphere 4.1, these stats will most likely not be used or seen by CapIQ, which leads me to believe that this should work. However, I would not recommend doing this in a live production environment without consulting with VMware first. If you do work for VMware or part of the CapacityIQ team, I would love to know if this hack works or do we just need to wait for another release of CapIQ?
 
I was aware of the VMware View Issue but I was not able to find any documentation or KB article documenting this compatibility issue with the latest version of CapacityIQ 1.0.3. This tends to happen more often where there is a disconnect between the core VMware products (ESX, ESXi, vCenter) and the rest of the auxiliary products that VMware provides. Sometimes, I wonder if the various product teams actually talk to each other with regards to integration and compatibility.

UPDATE: 

While browsing around, I also found an undocumented Perl script called ciq-admin.pl which can also be used to administrator and configure your CapacityIQ. Using the utility, you can register your vCenter with CapIQ and there is a hidden flag which allows you to bypass the version check. This also allows you to get vSphere 4.1 working with CapIQ without having to manually edit any files.

To use this utility, you must login as the ciqadmin user. If you are logged in as root, you can just switch user.

The syntax will be the following:

/usr/lib/ciq/ciq-admin.pl register --vc-server [server] --force --user [username] --password [password] --noversioncheck

Here is an example of registering vSphere 4.1 vCenter using the CLI:

You can verify on the command line that operation is successful by running the status command, which is the same status tab in the CapIQ admin page :

4 thoughts on “How to get vSphere 4.1 to work with CapacityIQ 1.0.3 using unsupported method

  1. Thank you. I opened an SR with VMware and they couldn’t help me with this issue. This fix worked and probably saved me 2 days of headaches. I did need to make a small change to the command. I had to add in the --use-ip to make it work for me.

    /usr/lib/ciq/ciq-admin.pl register --vc-server VCSERVERNAME --force --use-ip --user USERNAME --password PASSWORD --noversioncheck

    Regards,
    Marc

  2. @Anonymous

    Glad this hack worked for you, though CapIQ 1.0.4 actually just released last week and officially supports vSphere 4.1. You may want to upgrade to the official release

  3. I should have added that I actually upgraded to 1.0.4 and it still didnt work with 4.1. I had to run this hack despite upgrading to 1.0.4.

Thanks for the comment!