Learn to use Visual Studio, Visual Studio Online, Application Insights and Team
Foundation Server to decrease rework, increase transparency into your application and increase the rate at which
you can ship high quality software throughout the application lifecycle
The ALM Rangers recently received a user request to clarify the following concept: “with Team Foundation Server 2013 you can configure a different SCVMM server for each team project collection”. This blog post, created by Richard Fennell, pulls together the discussions with Mathias Olausson, Vijay Machiraju and Richard Fennell from the ALM Rangers Lab Management guidance team.
TFS Lab Management can make use of System Center Virtual Machine Manager (SCVMM) to control Hyper-V based virtual machines.
If you are not using Hyper-V, i.e: you have ‘Standard environments’ using physical server, VMware or any cloud hosted VMs, then there is no need for SCVMM.
In most scenarios there will only be one SCVMM server involved. This server may be providing VM management for a number of Hyper-V servers in various host groups, but not all of the host groups need to be associated with TFS Lab Management .
Usually TFS is configured to use a single SCVMM host via the TFS administration console. In this scenario this SCVMM server will be used for the entire TFS server i.e. all the project collections will inherit that SCVMM server.
However, it is conceivable that your organisation might have multi SCVMM hosts and you wish to use different ones for different TFS Team Project Collections. To configure this you have to use the TfsLabConfig command tool.
TfsLabConfig settings /collection:<team project collection Url> [[/scvmmservername:<vmm server name>] [/ipblock:<range of ip addresses allocated for network isolation> [/dnssuffix:<dns suffix for network isolation>] [/noprompt] [/Force]] [/list]
Using this command it is possible to provide separate SCVMM servers for each TPC. However you must be careful if you are doing this. If you have two or more SCVMM servers that are both configured to be used by Lab Management with a specific Team Foundation Server, then each SCVMM server must be configured to use a unique MAC range. To configure the MAC range, from the Virtual Machine Manager Administration Console, in the lower-left navigation window choose Administration, choose Networking and then open Global Static MAC Address Range.
For more information about how to configure the MAC range, see the following Microsoft Web site. This avoid the same MAC address being set for two different VMs.
Irrespective of if you have one or more SCVMM server you should always have a separate SCVMM host group and library share for each TFS Team Project Collections.
For more tips on Lab Management see the ALM Rangers Lab Management Guide. An update v3.1, covering the above information, will be released shortly.
Thank you for this information but please can you confirm that you can use multiple library shares on multiple SCVMM servers for the TFS Team Project Collection? I have tried used the TFSLabConfig Tool to add another SCVMM server which appears successful but it has left my Lab Center environment is a weird state with VM templates and Environments appearing in a deleted state. Any help would be much appreciated. Kind regards, Ben.
Things appearing deleted usually means that the library folder scan is failing (assuming they have not been deleted). Are there any errors on the SCVMM job? Or in the Windows event log? I would try to resolve these first.
I would also check to see if I could add a new item to a library.
If you can avoid multiple SCVVM servers I would, it makes life complex
I've used multiple Shares on multiple servers, but not multiple SCVMM servers, why are you wanting to do that?
The below mentioned situation can come when you have some library artifacts from instance level scvmm server imported to your collection and then you changed the collection to point to new scvmm server. Once you configure your collection to use new scvmm server, all the old library artifacts will not be available, you need to delete them.
You can import artifacts of new scvmm server to your library.
Many thanks for all your comments. The reason I went down this route was an attempt to retire an old SCVMM / Library Server and begin using a new one which was seemingly a well documented process. Because I could not take the whole development environment offline I wanted to run with two entities so that I could migrate templates between the two and eventually decommission the old SCVMM / Library server. I am now out of time and have to revert but am having issues with templates appearing deleted and environments in a failed state within MTM. My existing Labs are all running but some of them cannot be reverted to original snapshots and not all deployments are running. The thing is I haven't deleted anything from my SCVMM / Library server so am at a bit of a loss with this one, going to call Microsoft now but thanks again for all your input.