VMware {code} Community
sochry
Enthusiast
Enthusiast
Jump to solution

Problems with vihostupdate.pl

Running the command below results in the assoicated error:

C:\Program Files (x86)\VMware\VMware VI Remote CLI\bin>vihostupdate.pl -server <xxx.xxx.xx.xx> -query

Enter username: root

Enter password:

Operation not applicable : A general system error occurred: Internal error

This is with ESXi and I am running the script form Vists 64. Any ideas?

Steve

0 Kudos
1 Solution

Accepted Solutions
lamw
Community Manager
Community Manager
Jump to solution

I think you might be using a miss-match version between either vCLI or ESX(i) hosts.

Can you provide the version of vCLI/RCLI you're running and version of ESXi you're running? I only because I just ran a few tests and unfortunately the errors are not always helpful and requires additional testing before figuring out the root case.

With vSphere, there's been a new release of vCLI (formally RCLI) which contains two different version of vihostupdate:

vihostupdate = vSphere ESXi 4.0

vihostupdate35 = VI ESXi 3.5

If you try to run the command against an ESX (classic ESX w/Service Console) versus ESXi using old RCLI, then you may see the following error:

Operation not applicable : The operation is not supported on the object.

So, I would double check to make sure everything matches up.

You should be able to query the patches using the new vCLI vihostupdate on both ESX and ESXi:

[vi-admin@scofield ~]$ vihostupdate --server himalaya.primp-industries.com --username root --query
Enter password:
---------Bulletin ID--------- -----Installed----- ----------------Summary-----------------

and here is vCLI running against ESXi 3.5:

[vi-admin@scofield ~]$ vihostupdate35 --server  esxi-7.primp-industries.com --username primp --query
Enter password:
VMware ESX Server 3i 3.5.0 build-110271

Installed packages:
firmware        110271
viclient        103682
tools           110271

If you're using the older version of RCLI which it seems like since your path is VI Remote CLI then you need to be pointing it against ESXi 3.5 and not ESXi 4.0:

[vi-admin@vima ~]$ vihostupdate.pl --server esxi-7.primp-industries.com --username primp --query
Enter password:
VMware ESX Server 3i 3.5.0 build-110271

Installed packages:
firmware        110271
viclient        103682
tools           110271

All my examples are using the vCLI/RCLI on vMA but this is the same result you should get using vCLI on Windows which can be downloaded here depending if you're working with ESXi 4.0 or ESXi 3.5.x : http://www.vmware.com/support/developer/vcli/

=========================================================================

William Lam

VMware vExpert 2009

VMware ESX/ESXi scripts and resources at:

VMware Code Central - Scripts/Sample code for Developers and Administrators

If you find this information useful, please award points for "correct" or "helpful".

View solution in original post

0 Kudos
3 Replies
lamw
Community Manager
Community Manager
Jump to solution

I think you might be using a miss-match version between either vCLI or ESX(i) hosts.

Can you provide the version of vCLI/RCLI you're running and version of ESXi you're running? I only because I just ran a few tests and unfortunately the errors are not always helpful and requires additional testing before figuring out the root case.

With vSphere, there's been a new release of vCLI (formally RCLI) which contains two different version of vihostupdate:

vihostupdate = vSphere ESXi 4.0

vihostupdate35 = VI ESXi 3.5

If you try to run the command against an ESX (classic ESX w/Service Console) versus ESXi using old RCLI, then you may see the following error:

Operation not applicable : The operation is not supported on the object.

So, I would double check to make sure everything matches up.

You should be able to query the patches using the new vCLI vihostupdate on both ESX and ESXi:

[vi-admin@scofield ~]$ vihostupdate --server himalaya.primp-industries.com --username root --query
Enter password:
---------Bulletin ID--------- -----Installed----- ----------------Summary-----------------

and here is vCLI running against ESXi 3.5:

[vi-admin@scofield ~]$ vihostupdate35 --server  esxi-7.primp-industries.com --username primp --query
Enter password:
VMware ESX Server 3i 3.5.0 build-110271

Installed packages:
firmware        110271
viclient        103682
tools           110271

If you're using the older version of RCLI which it seems like since your path is VI Remote CLI then you need to be pointing it against ESXi 3.5 and not ESXi 4.0:

[vi-admin@vima ~]$ vihostupdate.pl --server esxi-7.primp-industries.com --username primp --query
Enter password:
VMware ESX Server 3i 3.5.0 build-110271

Installed packages:
firmware        110271
viclient        103682
tools           110271

All my examples are using the vCLI/RCLI on vMA but this is the same result you should get using vCLI on Windows which can be downloaded here depending if you're working with ESXi 4.0 or ESXi 3.5.x : http://www.vmware.com/support/developer/vcli/

=========================================================================

William Lam

VMware vExpert 2009

VMware ESX/ESXi scripts and resources at:

VMware Code Central - Scripts/Sample code for Developers and Administrators

If you find this information useful, please award points for "correct" or "helpful".

0 Kudos
sochry
Enthusiast
Enthusiast
Jump to solution

That appears to have been the issue. Originally, I verified that I was running the most current version of RCLI, unaware that vCLI had replaced it. Upgrading to vCLI allowed me to query.

Thanks,

Steve

0 Kudos
rocketjoe
Contributor
Contributor
Jump to solution

Actually, I'm having this problem too. I'm trying to figure out how to get versions of components installed on my (freshly installed) ESX 3.5i update 5 machine and I keep running into the same problem I think:

C:\Program Files\VMware\VMware vSphere CLI\bin>perl vihostupdate35.pl --server 192.168.105.228 --username root --password password --query Operation not applicable : A general system error occurred: Internal error

I tried with the earlier remote CLI but that also didn't work.

Anybody with suggestions out there?

0 Kudos