How to update vCenter 6 Virtual Appliance to latest update

Backstory

If you're using vCSA 6.0, Update 1 introduced the new Appliance Management Interface. Think re-incarnated Virtual Appliance Management Interface (VAMI), from those 5.5 days of yore, that Web UI you get when you access your vCSA via port 5480. Yep, it has an Update button. That upgrade method didn't work for me though, when I tried it last time around, trying to get to 6.0U1b. It says it downloaded the code, but didn't actually apply it. I didn't dwell on it though. I just nuked vCSA andredeployed it.

Packages_Already_Staged
In VAMI on the last vCSA release, I was getting the "Packages Already Staged" message, but it never actually applied them.

 

Why did I give up on VAMI so easily? Back in January, I was really just wanting to find and test a repeatable procedure that'd work for everybody, whether upgrading from vCSA 6.0 or vCSA 6.0U1. A simple method was found, published by David Stamen:

[Mar 17 2016 Update - Upgrade via VAMI issue has been resolved in this 6.0 U2 release, detailed below, so feel free to use whichever upgrade method you prefer. VAMI still seems to be a longer process to follow.]

Important Note - update your vCSA before your ESXi!

You are supposed to update your vCenter Server Appliance (vCSA) before you update your ESXi hosts, as VMware explains here, and William Lam here. By the way, I type it as vCSA instead of VCSA, just because that's how it's capitalized in the VMware vCenter Server 6.0 Update 2 Release Notes.

David's steps have been tested, and work great in my home lab. I've added some important details, as also seen in the video below. These instructions are geared toward home lab (non-production) environments. Perform these steps at your own risk, and backup first.

Download and apply the vCSA 6.0 Update 2 patch directly from the VMware Online Depot, all in one simple command!

  1. Create a snapshot of your current vCSA VM, just in case the upgrade doesn't work out. This may allow you quick and easy rollback. Even better, a full backup.
  2. Open an SSH session (PuTTY) to your vCSA 6.0 (or vCSA 6.0 Update 1) server, but don't type the usual shell.set command.
  3. Paste the following command in the ssh session, at the Command > line seen right after you login (see also screenshot below):
    software-packages install --url --acceptEulas

    Now you just wait for the download and the patching, to happen automatically. No need to watch, takes longer that way.

  4. After at least 6 minutes (depends partly on download and hard drive speeds), you should see success reported on the last line:
    login as: root
    VMware vCenter Server Appliance 6.0.0.10000
    Type: vCenter Server with an embedded Platform Services Controller
    root@10.10.1.251's password:
    Last failed login: Wed Mar 16 07:30:20 UTC 2016 from 10.10.1.102 on ssh:notty
    There was 1 failed login attempt since the last successful login.
    Last login: Wed Mar 16 07:30:50 2016 from 10.10.1.102
    Connected to service
    * List APIs: "help api list"
    * List Plugins: "help pi list"
    * Enable BASH access: "shell.set --enabled True"
    * Launch BASH: "shell"
    Command> software-packages install --url --acceptEulas
    [2016-03-16T07:31:02.076] : Validating software update payload
    [2016-03-16T07:31:02.076] : Validation successful
    [2016-03-16T07:31:02.076] : Running pre-stage.py
    [2016-03-16T07:31:02.076] : Verifying staging area
    [2016-03-16T07:31:02.076] : Third party packages found.
    [2016-03-16T07:31:02.076] : Staged 167 packages.
    [2016-03-16 07:31:02,877] : Copying software packages 167/167
    [2016-03-16 07:34:53,887] : Running test transaction ....
    [2016-03-16 07:34:57,109] : Running pre-install script.....
    [2016-03-16T07:36:21.076] : Services stopped.
    [2016-03-16 07:36:21,820] : Upgrading software packages ....
    [2016-03-16 07:40:04,007] : Running post-install script.....
    [2016-03-16T07:40:05.076] : **Packages upgraded successfully**, Reboot is required e the installation.
    Command>
    Broadcast message from root (Wed Mar 16 07:49:56 2016):
    The system is going down for reboot NOW!
    One Command - Packages upgraded successfully, Reboot is required to complete the installation
    Here's how my upgrade from 6.0.0.10000 [Build 3018523] to 6.0.0.20000 [Build 3634788] looked after the successful 6 minute download/patch, when I requested the host reboot through the vSphere Web Client.
  5. You need to restart vCSA by right-clicking in vSphere Client and selecting Power, Restart Guest. OR, optionially, restart your ESXi server using vSphere Web Client or vSphere Client, by right-clicking on the host and selecting restart, this will restart vCSA as well, if you have your shutdown/startup settings configured correctly. I prefer to know they'll be no surprises after a complete system reboot. This reboot takes quite a while, usually over 10 minutes before you can log back in, so a good time to...
  6. Download and install VMware vSphere Client 6.0 Update 2. You'll want to grab the client code and install it now, while waiting for that long reboot. If you have a prior 6.x version on your Windows system that's doing administration, this will automatically upgrade it. Download client build 3562874:
    VMware-viclient-all-6.0.0-3562874.exe
  7. vSphereClient
  8. Once everything is booted back up and VCSA has had a good long while to start all its services (even with an SSD, that can be 10 minutes), it's a good idea to also test login using the vSphere Client and the vSphere Web Client, and be sure everything seems to be working right in that shiny new vCSA.
  9. If you created a snapshot back in step one, if you're comfortable that everything is working in 6.0.0.20000 (which is seen as Build 3634788 in the vSphere Client and vSphere Web Client), you may want to go ahead and delete snapshot(s).
vCSA appliance patch successful
Yep, it worked! You've effectively avoided downloading much of that 2.8GB VMware-VCSA-all-6.0.0-3634788.iso