The other day I had to converge a couple of vCenters to an embedded Platform Services Controller (PSC) configuration, because we updated all the vCenter’s and since VMware is moving away from the External PSC configuration. In the release we are running (most current 6.7 U3 release) VMware has a nice build-in PSC Convergence tool right within the vSphere Client. I honestly never had the opportunity to use the vcsa-util cli tool together with a json file back in the day, but it seemed pretty straightforward to me, especially since it’s now all in the vSphere Client.

PSC Convergence Prerequisites

Before trying to converge your external PSC configuration to an embedded one you should (at least) meet the following prerequisites to be sure you are good to go:

  • Check your NTP server configurations.
  • Check all of the A and PTR DNS records.
  • Make sure you have a backup for all the PSC’s and connected vCenters in the SSO domain.
  • If your vCenter Server has no internet access, you should download the vCenter Server ISO beforehand. Make sure you download the exact same ISO for the vCenter Server version you are running.
  • Disable vCenter HA before you start to converge the vCenter Server.

The issue

Like I said earlier, everything can now be done from the vSphere Client and you don’t need a command line utility anymore. So I started ahead and went to the Administration -> System Configuration part in the vSphere Client, selected the desired vCenter to converge and hit “Converge to Embedded”. When you hit this screen up you acknowledge that this operation will introduce downtime for the vCenter services, just enter the current vSphere SSO Domain administrator user and password, select a replication partner (if required), decide whether or not you want to join AD while you are at it, and acknowledge that you have a backup.

VMware vSphere Client "Converge to embedded" operation window
vSphere Client Converge to embedded window

This was all good until I clicked “Converge” I got hit pretty instantly with the following error message:

vCenter Server PSC Convergence error message
vCenter Server PSC Convergence error message

Ok great. Well at least it’s a pretty good error message which indicates what’s happening, or not happening if we’re accurate. So as a good engineer let’s start troubleshooting. The vCenter Server can update itself through an ISO, or through a connected online repository. Since I did not change anything on this environment, I checked the repository settings in the vCenter VAMI. This can easily be done by logging into the VAMI, going to Update and clicking on Settings:

vCenter Server VAMI update repository settings
vCenter Server VAMI update repository settings

Alright, this seems legit. The vCenter Server is using a 6.7 repository on the version it is running. But why is it telling me it’s not correct? Let’s check the settings on the CLI. Just login through SSH on your vCenter Server and issue the following command update.get, before you enter the Bash Shell.

vCenter Server update repository settings on the CLI
vCenter Server update repository settings on the CLI

Alright now we are getting somewhere. It seems that the vCenter Server is actually still using the 6.5 repository, which makes sense when looking at the error message we were receiving. Why this is happening, I’m not sure. We can also see this from the converge.log logfile on the vCenter Server. This file is located in “/var/log/vmware/converge/converge.log“.

But this can be fixed rather easily. There are two methods to fix this, I actually converged a couple of environments this week, and I have encountered that I had to use both. The first one is the easiest. You just login to the vCenter VAMI -> Update -> Settings -> copy the Default Repository URL -> Paste this into the “Specified” repository setting and hit Save. This triggers the vCenter to re-apply the default repository settings, which should fix the issue in most cases.

vCenter Server update repository settings in the VAMI
vCenter Server update repository settings in the VAMI

If this however does not fix the issue, and you are still getting the message, we have to login to the vCenter through SSH again. Once you did, just enter update.set --currentURL "default" this will convert the “Currenturl” setting back to the default repository. After you did this everything should be good to go like the below screenshot:

vCenter Server update repository settings on the CLI after updating
vCenter Server update repository settings on the CLI after updating

Now the converge process should start and you’re vCenter Server should be converged within a couple of minutes. You can watch the process in the previously mentioned converge.log file on the vCenter Server.

Once you see the last line, you know the process is finished. It might still be (re)starting some services, but within a couple of minutes you should be able to login to the vCenter and see that your vCenter is now using an embedded Platform Services Controller.

I did try to find out why the vCenter Server is still using an older repository setting, but unfortunately I couldn’t find anything related in any KB. But there you have it guys, another simple fix, once you know it!

See you guys in the next post.


Leave a Reply

Your email address will not be published. Required fields are marked *