Standalone ESXi 5 Host Upgrade
Have an ESXi host which is a standalone box? No VMware Update Manager? No vMA?
Well, they still require patches. Luckily enough, you can still use the stripped down version of the console which is included in ESXi to update it.
Start by heading out to the VMware Patches portal http://www.vmware.com/patchmgr/download.portal and download the neccessary patches for the server that needs patched.
Upload the patch zip file to a datastore that the server can talk to via either SCP or the datastore browser
Next, make sure the SSH service has been started.
To do this while in the vSphere Client, click on the desired host, and click on the "Configuration" tab followed by the "Security Profile" link in the "Software" box, then click on "Properties" in the top right side.
Highlight "SSH" and then click "Options", after the SSH Options screen pops up, click on "Start", then click "OK" twice to get back to the Configuration tab.

After getting connected to the ESXi host, run the command: esxcli software vib install -d *full path to uploaded zip*
Example: esxcli software vib install -d /vmfs/volumes/VMO-01 Datastore/Temp/update-from-esxi5.0-5.0_update01.zip
There should be a message showing that the update was completed successfully and that the system needs to be rebooted.
If ready to reboot, type in "reboot" and the system will reboot. Just remember to check to make sure that the SSH service has been stopped when it boots back up.
One error that I ran into, if you don't give the full path to the zip file containing the update, the patching will fail with a "MetadataDownloadError" reading:
Could not download from depot at zip:/var/log/vmware/*update name*.zip?index.xml, skipping (('zip:/var/log/vmware/*update name*.zip?index.xml', '', "Error extracting index.xml from :/var/log/vmware/*update name*.zip: [Errno 2] No such file or directory: '/var/log/vmware/*update name*.zip?index.xml'"))
url = zip:/var/log/vmware/*update name*.zip?index.xml
Please refer to the log file for more details.
Once I put in the full path, it worked just fine.
VMware Update Manager: Error Code 7
After updating from vSphere 4 to vSphere 5 (both hosts and vCenter) in our production environment, I happened to run into a problem with VMware's Update Manager (VUM) and it's ability to update the hosts. When attempting to remediate the host I was being given a message stating: The host returns esxupdate error code: 7. Cannot download VIB. Check the Update Manager log files and esxupdate log files for more details.
So I do as the error code says, and go check out the logs...
vmware-vum-server.log sample of what I saw:
2011-12-08T10:51:17.916-05:00 [02704 warning 'Libs'] SSLVerifyIsEnabled: failed to read registry value. Falling back to default behavior: verification off. LastError = -2146885628
2011-12-08T10:55:54.054-05:00 [02704 error 'Default'] SSLStreamImpl::BIORead (0c594a48) failed: The specified network name is no longer available.
2011-12-08T10:55:54.054-05:00 [02704 error 'Default'] SSLStreamImpl::DoServerHandshake (0c594a48) SSL_accept failed with BIO Error
2011-12-08T10:55:54.054-05:00 [02704 error 'Ufa.HTTPService'] accept failure class Vmacore::Ssl::SSLException(SSL Exception: BIO Error) on stream (null)
2011-12-08T10:55:54.054-05:00 [02704 error 'Ufa.HTTPService'] stream is NULL - no read scheduled
2011-12-08T10:56:49.625-05:00 [03392 error 'PropertyJournal'] [ValidateChange]INVALID operations on path supportedUpdateProduct["embeddedEsx 4.0.0"]: lastOp=ADD, thisOp=ADD - ADD can only follow REMOVE
2011-12-08T10:56:49.625-05:00 [03392 error 'PropertyJournal'] [ValidateChange]INVALID operations on path supportedUpdateProduct["embeddedEsx 4.1.0"]: lastOp=ADD, thisOp=ADD - ADD can only follow REMOVE
2011-12-08T10:56:49.625-05:00 [03392 error 'PropertyJournal'] [ValidateChange]INVALID operations on path supportedUpdateProduct["esx 4.0.0"]: lastOp=ADD, thisOp=ADD - ADD can only follow REMOVE
2011-12-08T10:56:49.625-05:00 [03392 error 'PropertyJournal'] [ValidateChange]INVALID operations on path supportedUpdateProduct["esx 4.1.0"]: lastOp=ADD, thisOp=ADD - ADD can only follow REMOVE
2011-12-08T10:56:50.347-05:00 [03392 error 'PropertyJournal'] [ValidateChange]INVALID operations on path supportedUpdateProduct["embeddedEsx 4.0.0"]: lastOp=ADD, thisOp=ADD - ADD can only follow REMOVE
2011-12-08T10:56:50.347-05:00 [03392 error 'PropertyJournal'] [ValidateChange]INVALID operations on path supportedUpdateProduct["embeddedEsx 4.1.0"]: lastOp=ADD, thisOp=ADD - ADD can only follow REMOVE
2011-12-08T10:56:50.347-05:00 [03392 error 'PropertyJournal'] [ValidateChange]INVALID operations on path supportedUpdateProduct["esx 4.0.0"]: lastOp=ADD, thisOp=ADD - ADD can only follow REMOVE
2011-12-08T10:56:50.347-05:00 [03392 error 'PropertyJournal'] [ValidateChange]INVALID operations on path supportedUpdateProduct["esx 4.1.0"]: lastOp=ADD, thisOp=ADD - ADD can only follow REMOVE
2011-12-08T10:57:34.344-05:00 [01796 warning 'Libs'] SSLVerifyIsEnabled: failed to read registry value. Falling back to default behavior: verification off. LastError = -2146885628
esxupdate.log sample from the host:
2011-12-08T15:57:29Z esxupdate: vmware.runcommand: INFO: runcommand called with: args = '['/sbin/esxcfg-advcfg', '-q', '-g', '/UserVars/EsximageNetTimeout']', outfile = 'None', returnoutput = 'True', timeout = '0.0'.
2011-12-08T15:57:29Z esxupdate: vmware.runcommand: INFO: runcommand called with: args = '['/sbin/esxcfg-advcfg', '-q', '-g', '/UserVars/EsximageNetRetries']', outfile = 'None', returnoutput = 'True', timeout = '0.0'.
2011-12-08T15:57:29Z esxupdate: vmware.runcommand: INFO: runcommand called with: args = '['/sbin/esxcfg-advcfg', '-q', '-g', '/UserVars/EsximageNetRateLimit']', outfile = 'None', returnoutput = 'True', timeout = '0.0'.
2011-12-08T15:57:29Z esxupdate: esxupdate: INFO: ---
Command: scan
Args: ['scan']
Options: {'nosigcheck': None, 'retry': 5, 'loglevel': None, 'cleancache': None, 'viburls': None, 'meta': ['http://*VIRTUALCENTER*:9084/vum/repository/hostupdate/DELL/metadata_1323354549.zip', 'http://*VIRTUALCENTER*:9084/vum/repository/hostupdate/csco/csco-VEM-5.0.0-metadata.zip', 'http://*VIRTUALCENTER*:9084/vum/repository/hostupdate/vmw/vmw-ESXi-5.0.0-metadata.zip'], 'proxyurl': None, 'timeout': 30.0, 'cachesize': None, 'hamode': True, 'maintenancemode': None}
2011-12-08T15:57:29Z esxupdate: BootBankInstaller.pyc: INFO: Unrecognized value "title=Loading VMware ESXi" in boot.cfg
2011-12-08T15:57:30Z esxupdate: vmware.runcommand: INFO: runcommand called with: args = '['/sbin/bootOption', '-rp']', outfile = 'None', returnoutput = 'True', timeout = '0.0'.
2011-12-08T15:57:30Z esxupdate: downloader: DEBUG: Downloading http://*VIRTUALCENTER*:9084/vum/repository/hostupdate/DELL/metadata_1323354549.zip to /tmp/tmp0HbTco...
2011-12-08T15:57:30Z esxupdate: Metadata.pyc: INFO: Unrecognized file vendor-index.xml in Metadata file
2011-12-08T15:57:30Z esxupdate: downloader: DEBUG: Downloading http://*VIRTUALCENTER*:9084/vum/repository/hostupdate/csco/csco-VEM-5.0.0-metadata.zip to /tmp/tmpBQa1zj...
2011-12-08T15:57:30Z esxupdate: Metadata.pyc: INFO: Unrecognized file vendor-index.xml in Metadata file
2011-12-08T15:57:30Z esxupdate: downloader: DEBUG: Downloading http://*VIRTUALCENTER*:9084/vum/repository/hostupdate/vmw/vmw-ESXi-5.0.0-metadata.zip to /tmp/tmpyQ8Q7O...
2011-12-08T15:57:30Z esxupdate: Metadata.pyc: INFO: Unrecognized file vendor-index.xml in Metadata file
2011-12-08T15:57:30Z esxupdate: BootBankInstaller.pyc: INFO: Unrecognized value "title=Loading VMware ESXi" in boot.cfg
2011-12-08T15:57:30Z esxupdate: HostImage: DEBUG: Live image has been updated but /altbootbank image has not. This means a reboot is not safe.
2011-12-08T15:57:30Z esxupdate: HostImage: DEBUG: Live image has been updated but /altbootbank image has not. This means a reboot is not safe.
2011-12-08T15:57:30Z esxupdate: vmware.runcommand: INFO: runcommand called with: args = '['/usr/sbin/vsish', '-e', '-p', 'cat', '/hardware/bios/dmiInfo']', outfile = 'None', returnoutput = 'True', timeout = '0.0'.
2011-12-08T15:57:30Z esxupdate: esxupdate: INFO: All done!
2011-12-08T15:57:30Z esxupdate: esxupdate: DEBUG: <<<
There wasn't much in there to give me much to go on, however the "Unrecognized file vendor-index.xml in Metadata file" part was a good lead. I was using the default download sources, so that shouldn't be a problem. I turned off the Windows firewall, no luck. I put in the URL to the repository and could get to it just fine.
I don't normally stage the updates, but I went back and clicked on the "Stage" button. That ran just fine, even staged the Dell extension for our EqualLogic MEM. Tried to remediate again, no luck. This time I tried to do just the extension, it worked!
I go back and check out the staged updates, 2 are listed as missing! We've found our problem.
I head out to the VMware Download Patches site: http://www.vmware.com/patchmgr/download.portal and download the missing patches and then import them into the VUM Patch Repository and remediate the host again. It worked!
Moral of the story: always check to make sure that the patches are not only listed as available, but that they're able to be staged.
Update...
One thing I may have MAJORLY overlooked... Check the status of your "vmw" and "csco" folders. If they look like "VMW" and "CSCO", they will not work and have to be lower case!
This is not the case with the example I have included above, but I have run into it on another install. Such a simple thing to overlook on accident.
Upgrading the Update Manager on an Existing vCenter
When upgrading to vSphere 5, if you're already using Update Manager (VUM) you should also upgrade Update Manager to version 5 as well. Some of the more notable updates to Update Manager include being able to upgrade directly to an ESXi image via ISO and the ability to upgrade virtual appliances, as well as the loss of the ability to update VMs.
Start off by opening the autorun application that was included with the vSphere 5 download, click on the "VMware vSphere Update Manager" and then click on "Install"

Select the preferred install language, and there should be a message regarding a previous install of Update Manager being already installed, click "OK" to that


Click "Next", click "Next" to agree to the Patent Agreement, accept the EULA and click "Next"



Check mark the box to "Delete the old host upgrade files from the repository" to remove patches that may not be applicable to the new version of VUM, and select whether VUM should download the new updates automatically or not. Personally, I'm not going to be using any ESX3 hosts, so I didn't select that option. After the install, I went in and deselected that patch repository.

Enter in the information for authentication to the vCenter Server

Verify the DSN for the VUM DB instance and choose to upgrade the Update Manager database


Configure the ports for VUM and click the "Install" button.


The Install takes a short amount of time and then a reboot is needed



Some of the new features, importing ESXi images:

Some new cluster settings, including parallel remediation for hosts in cluster, the migrating powered off and suspended virtual machines to other hosts in the cluster, if a host must enter maintenance mode, and PXE booted ESXi Host settings:

Some of the new Download Sources, including the repository for the virtual applications

Upgrading to ESXi 5 with Update Manager
So now with ESXi 5 and vSphere 5 dropping to the masses, it's time to get some hands on experience with it.
So first things first, upgrade your vSphere 4 server to vSphere 5 and make sure to update VMware Update Manager (VUM) as well. Personally, I did a new install, but will cover an upgrade at a later date. Next, you'll want to connect your ESXi 4 host to the vSphere 5 server's DC. You'll also want to download the ESXi ISO from VMware's website. Now that we're on the same page, here's how the upgrade process goes:
Here's an ESXi 4.1 host that I'll be upgrading.

Now you'll want to head over to the "Solutions and Applications" area, select "Update Manager" then click on the "ESXi Images" tab

You'll want to click on "Import ESXi Image", browse to where the ISO for ESXi 5 was downloaded and click "Next", the image will be uploaded and imported to the VUM repository, and once the upload is done it will display a success note.




Then check the "Create a baseline" and name it something appropriate, then click "Finish"

Here's how the ESXi Image looks once it's upgraded in VUM

Go back to the VUM tab for the individual host and attach the baseline, by clicking "Attach", then checkmark the Upgrade Baseline that was just created and click "Attach". The Baseline will now show up in the "Attached Baseline" along with having an upgrade notice in the bottom portion



Click on the "Scan" button and ensure that "Upgrades" is checkmarked then click "Scan"

In most cases, the host will show up as "Non-Compliant" however my host has an added plugin which won't work with ESXi 5 and will have to be removed during the VUM upgrade. The error I received in this case was: "Software modules oem-vmware-esx-drivers-net-vxge oem-vmware-esx-drives-scsi-3w-9xxx published by third party vendor(s) are installed on the host. Upgrading the host will remove these modules."


We're all set to proceed with the upgrade by clicking on "Remediate", selecting the "Upgrade Baselines" followed by the Baselines which was created (should show VMware ESXi 5.0.0 in the Upgrades column), accept the EULA, remove the software which will be incompatible with the upgrade, give the task a name and select a time to schedule the remediation, modify any maintenance mode options, verify the information and click "Finish"






Here's how the events went:

We have success!

My only problem with the whole process was after the host was upgraded, you have to physically push the "Enter" button to allow the machine to reboot. I was hoping for it to be a completely seamless and hands off experience, but a DRAC or iLO card makes up for it

Adding the MEM to ESXi Hosts with Update Manager
Tossed up a new Equallogic unit, and wanted to experiment with installing the Multipathing Extension Module. I heard at a recent VMUG event that you could install the MEM via the Update Manager, so I figured I would give it a shot.
Now there's nothing wrong with the Round Robing multipathing option, it actually works quite well. Here's how the connections are setup from the beginning:

First things first, head out to the Equallogic Support site and download the MEM zip through the VMware Integration link. Once it's downloaded, extract it.

Now in your Virtual Center, go to your Update Manager, then select the "Patch Repository" tab, and then select the "Import Patches" link".

Browse for the MEM Patch you downloaded, select the zip file, select "Next":

Let the patches upload and confirm that's the version you want installed:


Once completed, go back through and verify that it was added (Note: it will be bold since you imported it).

Now you'll need to create an Host Extension Baseline. If you already have one, skip this part. You'll want to go back to the "Baselines and Groups" tab and then select "Create".

Add a name and then select "Host Extension" for the Baseline Type.

Next, add the Dell Equallogic Extension, and click Finish.


With the baseline added and then the extension added to the baseline, go back to the ESXi host and then to the Update Manager tab and select the "Attach".

Check the new Extension Baseline that was created and select "Attach".

Now scan the host and make sure to include the "Patches and Extensions" check box.

You should see that your host is "Non-Compliant" and there is at least an Extension that is missing.

Click on the "Stage" button, which will bring up the wizard. Ensure that the Extension Baseline is selected and select "Next".

Make sure that the extension you loaded is selected to be staged.

Click on "Finish" and allow the system to stage the updates on the host, you'll also notice the missing extension now says that it's "staged".


Click on the "Remediate" button to bring up the next wizard. Ensure the Baseline you want is selected for the host you want and select "Next".

Similar to the staging step, ensure the Extension you wish to install is selected and choose "Next". Then give the task a name and schedule it. Also if it's part of a Cluster, select any kind of options that work with your cluster, and finally verify that everything is correct and click on "Finish"




You'll see the host enter maintenance mode, install the extension, and then reboot. Once it boots back up, it will exit maintenance mode automatically.

Now your host will be updated on the storage paths to be "DELL_PSP_EQL_ROUTED" which will allow the plugin to choose the best way to route the traffic between ESXi host and SAN.





10 GHz Total CPU
16 GB Total RAM
7,578 GB Total Disk
1 Host(s)
1 RPs
8 VMs
0 vMotions
(4)
(4)
(0)
3 Physical NICs
3 Virtual PGs