Wednesday, January 30, 2019

Configuring Search for TFS in a multi- Application Tier setup


Original Post: 
9/28/2017 9:41:10 AM

There has been some uncertainty around how to configure Search in a multi-tier AT setup. This has been already documented over here: https://docs.microsoft.com/en-us/vsts/search/code/administration#config-tfs
To quote from the documentation -"When configuring Search for a TFS server with multiple application tiers (ATs), make sure Search is installed on a separate server. After Search is installed on the remote server, use the Configuration wizard on any one of the ATs to link the search instance with your TFS instance. When unconfiguring Search in future you must use the Configuration wizard on the same AT where configuration was done."

This post clarifies a few additional points which in my observation have been asked by Team Foundation Server (TFS) Admins.

Let's assume you have installed TFS in a machine M1 (and let's call this the primary TFS instance to further reference this below), and configured AT and Search. Later, you decided to add a new Application Tier Only installation in another machine M2. You went ahead and configured AT in M2 to bring up the load balancer AT.  The point that may not be so obvious here is that Search does not need to be configured again in this AT instance.

You would see a message as shown in the snapshot below. (The exact messaging will be fixed in upcoming release).

For now, it is safe to ignore this configuration step.

Meanwhile, following are some key points from functionality point of view:

  • Search (both indexing as well as query) will be automatically load balanced across multiple load balancer ATs. Search is just another feature within TFS that leverages it's resources. The only additional external resource that is setup and consumed during Search configuration is the Elasticsearch service.
  • You can only Unconfigure Search from the primary TFS instance where the configuration was done.
  • "Configuration" for Search is just a means of allowing a setup flow for New install or Upgrade scenarios. Assume, the primary TFS AT instance fails (or for some reason you took the AT out of rotation). Not to worry! Search will continue to function across rest of the load balancer ATs. You might have a couple of questions at this point:
           Q. How do I remove Search from TFS instance (now that the primary instance where Search was configured has gone out of rotation)?
           A. Same as in normal scenario, the correct approach is to uninstall the Code/WorkItem extensions for the collections from the extension management portal page.

           Q. Do I need to do anything different while doing the next TFS upgrade?
           A. Same as in normal scenario, you can simply take the DB backup, perform the upgrade in another machine M2 and Configure Search in that machine.

No comments:

Post a Comment

Installing Azure DevOps Server Search extension from Local Gallery

One of the mistakes that Azure DevOps Server Admins make is installing the Search extension from the Visual Studio Market Place . The Sear...