In vSphere 6.0, there are a list of recommended topologies which can viewed in VMware KB 2108548. In the event that you need to locate all available Platform Services Controllers in your environment, you have a couple of options depending on type of access you have and the state of your environment (e.g. vSphere Web Client is down). Before taking a look at the solutions, here is a diagram of my vSphere 6.0 lab environment and its configuration: 2 PSCs configured for replication with 2 VCs joined to PSC1 and another VC joined to PSC2.
Option 1:
The first option to find this information is using the new System Configuration UI which is available in the vSphere 6.0 Web Client. You can quickly view all Nodes and their type as seen in the screenshot below. This would be the quickest and most efficient method if access to the vSphere Web Client is available.
Option 2:
We can also connect to a new service in vSphere 6.0 known as the Component Manager via its MOB (Managed Object Browser) interface. You will need to open a browser and connect to the following URL and substituting it with the Hostname/IP Address of one of your PSC:
https://psc-01.primp-industries.com/cm/mob/?moid=ServiceManager&method=Search
If you do not know the Hostname/IP Address of your PSC Server, you can always find it by going to the vCenter Server Advanced Settings and searching for pattern "sso.admin" and you will see the address of your PSC Server as seen in the screenshot below.
Once you have authenticated in, you will need to add the following snippet into the text box:
<searchCriteria>
<serviceType>
<productId>com.vmware.cis</productId>
<typeId>sso:admin</typeId>
</serviceType>
</searchCriteria>
Note: For programmatic access, please refer to Option 3 for more details.
Next, click on Invoke Method to execute the query and if everything was successful, you should see entries under "serviceEndpoints" for all your PSCs as seen in the screenshot below.
Option 3:
The final option is to of course retrieve this information programmatically using the new vCloud Suite SDK which is part of the vSphere 6.0 release. There are 6 new SDKs: .Net, Java, Perl, REST, Python & Ruby and you can find more information here. In this example, I will be using the vCloud Suite SDK for Python and using the sample located under the "lookupservice" directory called print_services.py You will need to download and extract the contents of the SDK onto a system that has a Python interpreter installed and below are the instructions for running this particular sample script.
First, you will need to edit a configuration file and provide some details to one of your PSC's
VMware-vCloud-Suite-SDK-Python-6.0.0/client/samples/src/sample.cfg
Here is an example of what the file should look like for my environment:
[connection]
lswsdlurl=file:///root/VMware-vCloud-Suite-SDK-Python-6.0.0/client/wsdl/lookupservice.wsdl
lssoapurl=https://psc-01.primp-industries.com/lookupservice/sdk
ssousername=*protected email*
ssopassword=VMware1!
Next, change into the following directory:
cd VMware-vCloud-Suite-SDK-Python-6.0.0/client/bin/
Finally, to run the sample script you will need to ensure run_sample.sh (wrapper script) is set to executable and then run the following:
./run_sample.sh ../samples/src/com/vmware/vcloud/suite/sample/lookupservice/print_services.py
If everything was configured successfully, you should see similar output as shown in the screenshot below:
- vCenter Server 6.0 Tidbits Part 1: What install & deployment parameters did I use?
- vCenter Server 6.0 Tidbits Part 2: What is my SSO Domain Name & Site Name?
- vCenter Server 6.0 Tidbits Part 3: Finding all deployed Platform Services Controller
- vCenter Server 6.0 Tidbits Part 4: Finding all deployed vCenter Servers
- vCenter Server 6.0 Tidbits Part 5: New method of patching the VCSA
- vCenter Server 6.0 Tidbits Part 6: Customizing VCSA’s DCUI
- vCenter Server 6.0 Tidbits Part 7: Connecting to SSO/PSC using JExplorer
- vCenter Server 6.0 Tidbits Part 8: Useful ldapsearch queries for vmdird
- vCenter Server 6.0 Tidbits Part 9: Creating & managing SSO users using dir-cli
- vCenter Server 6.0 Tidbits Part 10: Automating SSO Admin configurations
- vCenter Server 6.0 Tidbits Part 11: Automate SSO Admin password change
- vCenter Server 6.0 Tidbits Part 12: New methods of downloading Support Bundles for VCSA / PSC
Ganadmin says
I have two PSC connected ( Active \ Passive ) to the same domain without loadbalancer , how can i find which PSC the VC is connected ...Do we have any command to find the PSC the Vcenter is communicating ....
William Lam says
There's no official tool, but you can use JXplorer to find the replication agreements between PSC's. Take a look at this blog post for more details if you've not seen it already http://www.virtuallyghetto.com/2015/05/vcenter-server-6-0-tidbits-part-7-connecting-to-ssopsc-using-jexplorer.html
Ganadmin says
Thanks..
Ganadmin says
Its showing all the VC , my case is PSC01 is connected to the VC01 and PSC02 is to VC02 under same domain and site with enhanced link mode . Is there anyway to find that VC01 is connected only with the PSC01, because it will be helpful for someone new to the environment to find the design..
William Lam says
Yes, if you want to find the mapping between VC<->PSC, you can look at "Option 2" in this article http://www.virtuallyghetto.com/2015/04/vcenter-server-6-0-tidbits-part-4-finding-all-deployed-vcenter-servers.html and using the "sso.admin" VC Adv Setting. This will tell you which PSC the VC is currently pointed to
Ganadmin says
Thanks Got it...
William Lam says
I've also just blogged about it here so its easier to find in the future http://www.virtuallyghetto.com/2015/09/which-platform-services-controller-psc-is-my-vcenter-server-pointing-to.html
Weavge says
Would the 'vdcrepadmin' with 'showservers' option be a 4th option?
Sheik Mohamed Hisham says
I need to find the PSC's thumbprint using VC. I need it for my application to trust the PSC for further interactions with PSC. So, all I have is vCenterFQDN and SSO credentials. This is an external PSC model. vCenter version is 6.5 . I know 6.7 has a REST Api for this requirement. Unfortunately we can't go with 6.7. Any help is much appreciated 🙂