none
VS 2012 Distributed loadtesting across different domains recomended approach for placement of testcontroller and testagents RRS feed

  • Question

  • Hi,

    We want to perform loadtesting of an environment not in our current domain.

    TFS is in domain A, Environment we want to run loadtest on is on environment B.

    I currently have one Test Controller installed in domain A.

    Is the best way to do this to have both Test Controller and Test Agents in domain B, or keep my Test Controller in domain A, and the new TestAgents in domain B? Why and how?


    Kjaps

    Thursday, August 29, 2013 7:49 AM

All replies

  • Hi Kjaps,

    Thank you for posting in the MSDN forum.

    Is the best way to do this to have both Test Controller and Test Agents in domain B, or keep my Test Controller in domain A, and the new TestAgents in domain B? Why and how?

    I often set them in the same domain. Of course, if not, we would have the same specific requirement.

    If we plan to run your test controllers and test agents on machines that are in a work group and not in a domain, or machines that run in different domains that do not have a two-way trust relationship, we must follow these steps as part of your installation process:

    1. On each computer where you will install a test controller or a test agent, create a local user account that is a member of the Administrators group. Use the same account and password on each machine.
    2. Use this user account for your test controllers when you install and configure them.
    3. Add this account to the TeamTestAgentService group on the test controller machine.
    4. Install and configure your test agents using this same account.

    Reference:

    http://msdn.microsoft.com/en-us/library/hh546459.aspx

    Some threads shared us more information about it:

    http://social.msdn.microsoft.com/Forums/en-US/df043823-ffcf-46a4-9e47-1c4b8854ca13/troubleshooting-guide-for-visual-studio-test-controller-and-agent

    http://social.msdn.microsoft.com/Forums/en-US/82fa336e-30cb-4431-aafe-8b12fb59eb40/test-controller-in-domain-test-agent-in-workgroup

    Best Regards,


    Jack Zhai[MSFT]
    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support
    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    Friday, August 30, 2013 6:23 AM
    Moderator
  • Thank you for the replay. I am now trying to setup controller and agents in different domains. I have issues connecting to the testcontroller. The message I am getting is "the server has rejected the client credentials". I have setup both test controller and test agents with local accounts that are the same.

    Kjaps


    • Edited by Kjaps Friday, August 30, 2013 1:00 PM
    Friday, August 30, 2013 1:00 PM
  • Hi Kjaps,

    Sorry for my delay.

    "the server has rejected the client credentials".

    Could you share us the detailed log message in your side? Do you set the Lab management Environment or just set the Environment with VS2012, Test Controller and Test Agent?

    Like this blog “The agent can connect to the controller but the controller cannot connect to the agent because of following reason: The server has rejected the client credentials. The logon attempt failed

    The test controller is running under a local machine account which is shadowed on test agent machine, but while creation of this account on test agent machine, “User must change password at next logon” property was enabled.

    If you don’t use the Lab Environment, like Vicky’s suggestion in this thread “Visual Studio 2012RC - Manage Test Controller - The server has rejected the client credentials”. Please just set test controller for load testing, and then check the privilege. Hope it could help.

    Best Regards,


    Jack Zhai[MSFT]
    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support
    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    Tuesday, September 3, 2013 3:21 AM
    Moderator
  • Hi,

    I am using the Visual Studio setup, not lab environment.

    I have checked that the password on the agent was not set to be changed on next logon. I have set it to 'the user cannot change password' and 'password never expires'

     I have attached the log for one of the agents:

    ************************************************************************************************
    Configuration started on 2013/09/03, 09:19:48.
    OS Version : Microsoft Windows NT 6.1.7601 Service Pack 1
    Executable version : 11.0.60315.1

    I, 2013/09/03, 09:19:48.036, Listing agent configurations
    I, 2013/09/03, 09:19:48.130, GetControllerName : The controller name managed by lab is
    I, 2013/09/03, 09:19:48.458, IsManagedByLab : lab managed controller name :
    I, 2013/09/03, 09:19:48.458, GetControllerName : The controller name managed by lab is
    I, 2013/09/03, 09:19:48.458, GetLabEnvironmentName <censored> under
    I, 2013/09/03, 09:19:48.598, Creating Channel
    I, 2013/09/03, 09:19:48.770, IsManagedByLab : lab evironment name :
    I, 2013/09/03, 09:19:48.785, NotManagedByLab = True
    I, 2013/09/03, 09:20:18.902, Agent configuration update pack details :
    I, 2013/09/03, 09:20:18.902, Run as interactive process : False
    I, 2013/09/03, 09:20:18.902, User name : loadtestrunner
    I, 2013/09/03, 09:20:18.902, Change Port : False
    I, 2013/09/03, 09:20:18.902, Chang eService Account : True
    I, 2013/09/03, 09:20:18.902, Change Test Controller : True
    I, 2013/09/03, 09:20:18.902, Test Controller Uri : <censored>:6901
    I, 2013/09/03, 09:20:18.902, Disable Screensaver : False
    I, 2013/09/03, 09:20:18.902, Enable autologon : False
    I, 2013/09/03, 09:20:18.902, Port : -1
    I, 2013/09/03, 09:20:18.933, Validating user name and password.
    I, 2013/09/03, 09:20:18.980, Validated user name and password.
    I, 2013/09/03, 09:20:18.980, Starting firewall configuration...
    I, 2013/09/03, 09:20:19.089, IsPortExceptionEnabled: Checking for port exception for port 6910 in firewall profile STANDARD
    I, 2013/09/03, 09:20:19.089, Exception for port 6910 in not enabled in firewall profile STANDARD
    I, 2013/09/03, 09:20:19.089, BaseConfig: AddFirewallExceptionIfRequired: Adding Port=6910,Description=Microsoft Visual Studio Test Agent Service in firewall exceptions.
    I, 2013/09/03, 09:20:19.183, Added port exception for service Microsoft Visual Studio Test Agent Service on port 6910 for profile STANDARD
    I, 2013/09/03, 09:20:19.183, Added port exception for service Microsoft Visual Studio Test Agent Service on port 6910 for profile DOMAIN
    I, 2013/09/03, 09:20:19.199, EnablePortExceptionInAllProfiles: Service Microsoft Visual Studio Test Agent Service already has a exception in profile CURRENT
    I, 2013/09/03, 09:20:19.199, BaseConfig: AddFirewallExceptionIfRequired: Added Port=6910,Description=Microsoft Visual Studio Test Agent Service in firewall exceptions.
    I, 2013/09/03, 09:20:19.199, Configured firewall exceptions for: 'Microsoft Visual Studio Test Agent Service'.
    I, 2013/09/03, 09:20:19.199, Enabling Remote Desktop on the machine...
    I, 2013/09/03, 09:20:19.386, No change to the Remote Desktop setting as Remote Desktop was already enabled on the machine.
    I, 2013/09/03, 09:20:19.433, Starting firewall configuration...
    I, 2013/09/03, 09:20:19.557, BaseConfig: AddFirewallExceptionIfRequired: Firewall exception already enabled for service Remote Desktop.
    I, 2013/09/03, 09:20:19.557, No change to the firewall setting as the firewall exception was already enabled for the service 'Remote Desktop'.
    I, 2013/09/03, 09:20:19.557, Configured firewall exceptions for: 'Remote Desktop'.
    I, 2013/09/03, 09:20:19.557, Adding agent setting Microsoft.TeamFoundation.Lab.TestIntegration.AgentVersion=3.0.0 on agent machine
    I, 2013/09/03, 09:20:19.557, Adding agent setting Microsoft.TeamFoundation.Lab.TestIntegration.AgentVersion=3.0.0 on agent machine - 32 bit hive
    I, 2013/09/03, 09:20:19.557, Creating Key: EnterpriseTools\QualityTools\Agent
    I, 2013/09/03, 09:20:19.557, Added agent setting Microsoft.TeamFoundation.Lab.TestIntegration.AgentVersion=3.0.0 on agent machine - 32 bit hive
    I, 2013/09/03, 09:20:19.557, Adding agent setting Microsoft.TeamFoundation.Lab.TestIntegration.AgentVersion=3.0.0 on agent machine - 64 bit hive
    I, 2013/09/03, 09:20:19.557, Creating Key: EnterpriseTools\QualityTools\Agent
    I, 2013/09/03, 09:20:19.557, Added agent setting Microsoft.TeamFoundation.Lab.TestIntegration.AgentVersion=3.0.0 on agent machine - 64 bit hive
    I, 2013/09/03, 09:20:19.635, Adding agent setting NetworkAdapterInfo=0050569902E8 on agent machine
    I, 2013/09/03, 09:20:19.635, Adding agent setting NetworkAdapterInfo=0050569902E8 on agent machine - 32 bit hive
    I, 2013/09/03, 09:20:19.651, Added agent setting NetworkAdapterInfo=0050569902E8 on agent machine - 32 bit hive
    I, 2013/09/03, 09:20:19.651, Adding agent setting NetworkAdapterInfo=0050569902E8 on agent machine - 64 bit hive
    I, 2013/09/03, 09:20:19.651, Added agent setting NetworkAdapterInfo=0050569902E8 on agent machine - 64 bit hive
    I, 2013/09/03, 09:20:19.651, Adding agent setting InstallationPath=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE on agent machine
    I, 2013/09/03, 09:20:19.651, Adding agent setting InstallationPath=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE on agent machine - 32 bit hive
    I, 2013/09/03, 09:20:19.651, Added agent setting InstallationPath=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE on agent machine - 32 bit hive
    I, 2013/09/03, 09:20:19.651, Adding agent setting InstallationPath=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE on agent machine - 64 bit hive
    I, 2013/09/03, 09:20:19.651, Added agent setting InstallationPath=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE on agent machine - 64 bit hive
    I, 2013/09/03, 09:20:19.651, Creating event sources VSTTAgent
    I, 2013/09/03, 09:20:19.651, Creating event sources VSTTAgent
    I, 2013/09/03, 09:20:19.682, Created event source VSTTAgent
    I, 2013/09/03, 09:20:19.682, Creating event sources VSTTAgentProcess
    I, 2013/09/03, 09:20:19.682, Event source VSTTAgentProcess already exists.
    I, 2013/09/03, 09:20:19.682, Adding event source for event logging
    I, 2013/09/03, 09:20:19.682, ResetForceGuestKey : Getting the value of ForceGuest key
    I, 2013/09/03, 09:20:19.682, ResetForceGuestKey : The value of ForceGuest key is 0
    I, 2013/09/03, 09:20:19.682, Updating the startup registry
    I, 2013/09/03, 09:20:19.682, Removing VSTTAgentProcess from Run registry
    I, 2013/09/03, 09:20:19.682, Starting service configuration...
    I, 2013/09/03, 09:20:19.682, Started checking the status of agent service VSTTAgent.
    I, 2013/09/03, 09:20:19.682, Agent service VSTTAgent is not installed, attempting to install it now.
    I, 2013/09/03, 09:20:19.682, Installing service ServicenName=VSTTAgent, DisplayName=Visual Studio Test Agent, Path=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\QTAgentService.exe, Description=Provides distributed test engine agent services, userName=<censored>\loadtestrunner, Dependencies=System.String[] 
    I, 2013/09/03, 09:20:19.682, Dependency string is dhcp labagentservice 
    V, 2013/09/03, 09:20:19.713, Service installed with return code 127612712
    V, 2013/09/03, 09:20:19.713, Updating the description Provides distributed test engine agent services of the service VSTTAgent.
    I, 2013/09/03, 09:20:19.791, Installed agent service VSTTAgent.
    I, 2013/09/03, 09:20:19.791, Found binary Sid 'System.Byte[]' for account <censored>\loadtestrunner
    I, 2013/09/03, 09:20:20.135, Granted LogonAsService permission to agent service account <censored>\loadtestrunner.
    I, 2013/09/03, 09:20:20.135, Adding agent setting AgentRunMode=AsService on agent machine
    I, 2013/09/03, 09:20:20.135, Adding agent setting AgentRunMode=AsService on agent machine - 32 bit hive
    I, 2013/09/03, 09:20:20.135, Added agent setting AgentRunMode=AsService on agent machine - 32 bit hive
    I, 2013/09/03, 09:20:20.135, Adding agent setting AgentRunMode=AsService on agent machine - 64 bit hive
    I, 2013/09/03, 09:20:20.135, Added agent setting AgentRunMode=AsService on agent machine - 64 bit hive
    I, 2013/09/03, 09:20:20.135, Adding agent setting AgentInteractiveProcessUserName= on agent machine
    I, 2013/09/03, 09:20:20.135, Adding agent setting AgentInteractiveProcessUserName= on agent machine - 32 bit hive
    I, 2013/09/03, 09:20:20.135, Added agent setting AgentInteractiveProcessUserName= on agent machine - 32 bit hive
    I, 2013/09/03, 09:20:20.135, Adding agent setting AgentInteractiveProcessUserName= on agent machine - 64 bit hive
    I, 2013/09/03, 09:20:20.135, Added agent setting AgentInteractiveProcessUserName= on agent machine - 64 bit hive
    I, 2013/09/03, 09:20:20.135, Removing agent setting DisableScreenSaver on agent machine
    I, 2013/09/03, 09:20:20.135, Removing agent setting DisableScreenSaver on agent machine - 32 bit hive
    I, 2013/09/03, 09:20:20.135, Removed agent setting DisableScreenSaver on agent machine - 32 bit hive
    I, 2013/09/03, 09:20:20.135, Removing agent setting DisableScreenSaver on agent machine - 64 bit hive
    I, 2013/09/03, 09:20:20.135, Removed agent setting DisableScreenSaver on agent machine - 64 bit hive
    I, 2013/09/03, 09:20:20.135, UpdateServiceStartTime : Getting the value of ServiceStartTimeout key
    I, 2013/09/03, 09:20:20.135, UpdateServiceStartTime : Creating the key ServiceStartTimeout and setting the value to 600000
    I, 2013/09/03, 09:20:20.135, Configured service successfully.
    I, 2013/09/03, 09:20:20.135, Setting Tcp Parameters
    V, 2013/09/03, 09:20:20.135, Setting Tcp Parameters in 32bit Hive
    V, 2013/09/03, 09:20:20.135, Setting Tcp Parameters in 32bit Hive completed.
    V, 2013/09/03, 09:20:20.135, Setting Tcp Parameters in 64bit Hive.
    V, 2013/09/03, 09:20:20.135, Setting Tcp Parameters in 64bit Hive completed.
    I, 2013/09/03, 09:20:20.135, Setting Tcp Parameters completed.
    I, 2013/09/03, 09:20:20.135, Registering this test agent with the test controller. This may take few minutes...
    I, 2013/09/03, 09:20:20.150, AgentConfiguration: Starting controller configuration.
    I, 2013/09/03, 09:20:20.150, GetControllerName : The controller name managed by lab is
    I, 2013/09/03, 09:20:20.150, GetControllerName : The controller name managed by lab is
    I, 2013/09/03, 09:20:20.150, AgentConfiguration: Found agent is not configured on any controller.
    I, 2013/09/03, 09:20:20.150, Getting information about controller: <censored>:6901.
    I, 2013/09/03, 09:20:20.150, Creating Channel
    I, 2013/09/03, 09:20:20.696, CreateControllerObject: attempt 0, System.Security.Authentication.InvalidCredentialException: The server has rejected the client credentials. ---> System.ComponentModel.Win32Exception: The logon attempt failed
       --- End of inner exception stack trace ---

    Server stack trace:
       at System.Net.Security.NegoState.ProcessReceivedBlob(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.StartReceiveBlob(LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.CheckCompletionBeforeNextReceive(LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.StartSendBlob(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.CheckCompletionBeforeNextSend(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.ProcessReceivedBlob(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.StartReceiveBlob(LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.CheckCompletionBeforeNextReceive(LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.StartSendBlob(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.ProcessAuthentication(LazyAsyncResult lazyResult)
       at System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential credential, ChannelBinding binding, String targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel)
       at System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential credential, String targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel)
       at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.CreateAuthenticatedStream(Stream netStream, String machinePortAndSid)
       at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.CreateSocketHandler(Socket socket, SocketCache socketCache, String machinePortAndSid)
       at System.Runtime.Remoting.Channels.SocketCache.CreateSocketHandler(Socket socket, String machineAndPort)
       at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket(EndPoint ipEndPoint)
       at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket()
       at System.Runtime.Remoting.Channels.RemoteConnection.GetSocket()
       at System.Runtime.Remoting.Channels.SocketCache.GetSocket(String machinePortAndSid, Boolean openNew)
       at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.SendRequestWithRetry(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream)
       at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream)
       at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg)

    Exception rethrown at [0]:
       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       at Microsoft.VisualStudio.TestTools.Execution.IControllerAccessManager.get_ControllerVersion()
       at Microsoft.VisualStudio.TestTools.Execution.ExecutionUtilities.GetControllerVersion(IControllerAccessManager accessManager, Boolean tolerateOldControllers)
       at Microsoft.VisualStudio.TestTools.ConfigCore.TestControllerHelper.CreateControllerObject(String controllerUri, NetworkCredential labServiceAccount)
    I, 2013/09/03, 09:20:20.805, CreateControllerObject: attempt 1, System.Security.Authentication.InvalidCredentialException: The server has rejected the client credentials. ---> System.ComponentModel.Win32Exception: The logon attempt failed
       --- End of inner exception stack trace ---

    Server stack trace:
       at System.Net.Security.NegoState.ProcessReceivedBlob(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.StartReceiveBlob(LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.CheckCompletionBeforeNextReceive(LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.StartSendBlob(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.CheckCompletionBeforeNextSend(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.ProcessReceivedBlob(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.StartReceiveBlob(LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.CheckCompletionBeforeNextReceive(LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.StartSendBlob(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.ProcessAuthentication(LazyAsyncResult lazyResult)
       at System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential credential, ChannelBinding binding, String targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel)
       at System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential credential, String targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel)
       at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.CreateAuthenticatedStream(Stream netStream, String machinePortAndSid)
       at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.CreateSocketHandler(Socket socket, SocketCache socketCache, String machinePortAndSid)
       at System.Runtime.Remoting.Channels.SocketCache.CreateSocketHandler(Socket socket, String machineAndPort)
       at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket(EndPoint ipEndPoint)
       at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket()
       at System.Runtime.Remoting.Channels.RemoteConnection.GetSocket()
       at System.Runtime.Remoting.Channels.SocketCache.GetSocket(String machinePortAndSid, Boolean openNew)
       at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.SendRequestWithRetry(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream)
       at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream)
       at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg)

    Exception rethrown at [0]:
       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       at Microsoft.VisualStudio.TestTools.Execution.IControllerAccessManager.get_ControllerVersion()
       at Microsoft.VisualStudio.TestTools.Execution.ExecutionUtilities.GetControllerVersion(IControllerAccessManager accessManager, Boolean tolerateOldControllers)
       at Microsoft.VisualStudio.TestTools.ConfigCore.TestControllerHelper.CreateControllerObject(String controllerUri, NetworkCredential labServiceAccount)
    I, 2013/09/03, 09:20:20.915, CreateControllerObject: attempt 2, System.Security.Authentication.InvalidCredentialException: The server has rejected the client credentials. ---> System.ComponentModel.Win32Exception: The logon attempt failed
       --- End of inner exception stack trace ---

    Server stack trace:
       at System.Net.Security.NegoState.ProcessReceivedBlob(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.StartReceiveBlob(LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.CheckCompletionBeforeNextReceive(LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.StartSendBlob(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.CheckCompletionBeforeNextSend(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.ProcessReceivedBlob(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.StartReceiveBlob(LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.CheckCompletionBeforeNextReceive(LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.StartSendBlob(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.ProcessAuthentication(LazyAsyncResult lazyResult)
       at System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential credential, ChannelBinding binding, String targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel)
       at System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential credential, String targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel)
       at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.CreateAuthenticatedStream(Stream netStream, String machinePortAndSid)
       at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.CreateSocketHandler(Socket socket, SocketCache socketCache, String machinePortAndSid)
       at System.Runtime.Remoting.Channels.SocketCache.CreateSocketHandler(Socket socket, String machineAndPort)
       at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket(EndPoint ipEndPoint)
       at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket()
       at System.Runtime.Remoting.Channels.RemoteConnection.GetSocket()
       at System.Runtime.Remoting.Channels.SocketCache.GetSocket(String machinePortAndSid, Boolean openNew)
       at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.SendRequestWithRetry(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream)
       at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream)
       at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg)

    Exception rethrown at [0]:
       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       at Microsoft.VisualStudio.TestTools.Execution.IControllerAccessManager.get_ControllerVersion()
       at Microsoft.VisualStudio.TestTools.Execution.ExecutionUtilities.GetControllerVersion(IControllerAccessManager accessManager, Boolean tolerateOldControllers)
       at Microsoft.VisualStudio.TestTools.ConfigCore.TestControllerHelper.CreateControllerObject(String controllerUri, NetworkCredential labServiceAccount)
    E, 2013/09/03, 09:20:21.024, Failed to register this test agent with the test controller. Possible reasons could be you do not have permissions to connect to the test controller or a firewall is blocking the connection.
    To fix this problem, verify the test controller is running and you have appropriate permissions to register test agent with the test controller. Refer to this page for more details: http://go.microsoft.com/fwlink/?LinkID=212977&clcid=0x409
    E, 2013/09/03, 09:20:21.071, Got Exception : Microsoft.VisualStudio.TestTools.ConfigCore.ConfigToolException: Failed to register this test agent with the test controller. Possible reasons could be you do not have permissions to connect to the test controller or a firewall is blocking the connection.
    To fix this problem, verify the test controller is running and you have appropriate permissions to register test agent with the test controller. Refer to this page for more details: http://go.microsoft.com/fwlink/?LinkID=212977&clcid=0x409 ---> System.Security.Authentication.InvalidCredentialException: The server has rejected the client credentials. ---> System.ComponentModel.Win32Exception: The logon attempt failed
       --- End of inner exception stack trace ---

    Server stack trace:
       at System.Net.Security.NegoState.ProcessReceivedBlob(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.StartReceiveBlob(LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.CheckCompletionBeforeNextReceive(LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.StartSendBlob(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.CheckCompletionBeforeNextSend(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.ProcessReceivedBlob(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.StartReceiveBlob(LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.CheckCompletionBeforeNextReceive(LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.StartSendBlob(Byte[] message, LazyAsyncResult lazyResult)
       at System.Net.Security.NegoState.ProcessAuthentication(LazyAsyncResult lazyResult)
       at System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential credential, ChannelBinding binding, String targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel)
       at System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential credential, String targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel)
       at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.CreateAuthenticatedStream(Stream netStream, String machinePortAndSid)
       at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.CreateSocketHandler(Socket socket, SocketCache socketCache, String machinePortAndSid)
       at System.Runtime.Remoting.Channels.SocketCache.CreateSocketHandler(Socket socket, String machineAndPort)
       at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket(EndPoint ipEndPoint)
       at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket()
       at System.Runtime.Remoting.Channels.RemoteConnection.GetSocket()
       at System.Runtime.Remoting.Channels.SocketCache.GetSocket(String machinePortAndSid, Boolean openNew)
       at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.SendRequestWithRetry(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream)
       at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream)
       at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg)

    Exception rethrown at [0]:
       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       at Microsoft.VisualStudio.TestTools.Execution.IControllerAccessManager.get_ControllerVersion()
       at Microsoft.VisualStudio.TestTools.Execution.ExecutionUtilities.GetControllerVersion(IControllerAccessManager accessManager, Boolean tolerateOldControllers)
       at Microsoft.VisualStudio.TestTools.ConfigCore.TestControllerHelper.CreateControllerObject(String controllerUri, NetworkCredential labServiceAccount)
       --- End of inner exception stack trace ---
       at Microsoft.VisualStudio.TestTools.ConfigCore.TestControllerHelper.CreateControllerObject(String controllerUri, NetworkCredential labServiceAccount)
       at Microsoft.VisualStudio.TestTools.ConfigCore.TestControllerHelper.GetControllerInformation(String controllerUri, NetworkCredential labServiceAccout)
       at Microsoft.VisualStudio.TestTools.ConfigCore.AgentConfiguration.BindToController(String testController, ServiceAccount agentServiceAccount, NetworkCredential labServiceAccount)
       at Microsoft.VisualStudio.TestTools.ConfigCore.AgentConfiguration.HandleControllerChange(AgentConfigurationUpdatePack updatePack, DelegateStatusUpdate statusListener)
       at Microsoft.VisualStudio.TestTools.ConfigCore.AgentConfiguration.Configure(AgentConfigurationUpdatePack updatePack, DelegateStatusUpdate statusListener)
       at Microsoft.VisualStudio.TestTools.AgentConfigUI.AgentConfigUI.ConfigureWorker_DoWork(Object sender, DoWorkEventArgs e)
       at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
       at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
    I, 2013/09/03, 09:20:21.071, Work completed for GetConfiguration() call : got out of turn error
    E, 2013/09/03, 09:20:21.071, Failed to register this test agent with the test controller. Possible reasons could be you do not have permissions to connect to the test controller or a firewall is blocking the connection.
    To fix this problem, verify the test controller is running and you have appropriate permissions to register test agent with the test controller. Refer to this page for more details: http://go.microsoft.com/fwlink/?LinkID=212977&clcid=0x409


    Kjaps


    • Edited by Kjaps Tuesday, September 3, 2013 1:51 PM added sentence about expired password.
    Tuesday, September 3, 2013 7:35 AM
  • Hi Kjaps,

    Failed to register this test agent with the test controller. Possible reasons could be you do not have permissions to connect to the test controller or a firewall is blocking the connection.

    Please make sure that under the controller name we would write the <machineName>: port like the following screen shot. Please also close the windows firewall. Please restart your machine, check it again.

    Reference:

    http://social.msdn.microsoft.com/Forums/en-US/1f427ec0-8ef3-45d5-b013-57da18903937/unable-to-register-test-agent-with-test-controller

    Best Regards,


    Jack Zhai[MSFT]
    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support
    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    Wednesday, September 4, 2013 5:45 AM
    Moderator
  • Hi Jack,

    There is no windows firewalls enabled on controller or agents. Since this is different domains, I am writing the ip-adress instead of the machine-name (i.e 10.108.1.1:6901) we have made openings in our internal firewall (not windows firewall) between agent-machines and controller machine on port 6901 and 6910 according to MS doc.


    Kjaps

    Wednesday, September 4, 2013 7:50 AM
  • I have now sucessfully setup a testcontroller and testagent on the same domain. I am running a Loadtest-rig, so I have connected the controller to a loadtest-database.

    As I understand, all I need to do is to make the nessecary openings in our firewall between the testcontroller in Domain A and the machines (running Visual Studio) used to trigger the loadtest in Domain B. Correct? This is port 6901?


    Kjaps

    Wednesday, September 4, 2013 11:27 AM
  • Hi Kjaps,

    As I understand, all I need to do is to make the nessecary openings in our firewall between the testcontroller in Domain A and the machines (running Visual Studio) used to trigger the loadtest in Domain B. Correct? This is port 6901?

    I think your opinion is correct, as far as I know, on Controller machine we would make sure that it can accept incoming connections through Firewall. So sometimes we need to manually add Firewall exception for Client program (devenv.exe, mstest.exe, mlm.exe) so that it could accept incoming connections. In addition, the default port number is 6901, but we could change it.

    Reference:

    http://msdn.microsoft.com/en-us/library/ff652627.aspx

    If still no help for you, I sincerely suggest you refer this guide about “Troubleshooting Guide for Visual Studio Test Controller and Agent”, and then debug it one step by one step.

    Best Regards,


    Jack Zhai[MSFT]
    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support
    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    Thursday, September 5, 2013 1:49 AM
    Moderator
  • Thank you,

    But I still cannot figure out why my first alternative did not work. I am still investigating this as an option to run the loadtests.

    I will get back you on this post when I have gotten the correct firewall openings modified.


    Kjaps

    Thursday, September 5, 2013 5:04 AM
  • Hi Kjaps,

    I will get back you on this post when I have gotten the correct firewall openings modified.

    I look forward to hearing from you.

    Since it is hard for us to repro this issue, I’m afraid that you would debug it in your side, we would check the Permissions, the firewall or the configuration or others. Amanda shared some suggestions in a similar case here. If possible, you could refer it.

    1. Make sure the test controller is not registered with team project collection; and instead configure the test controller for load testing. You can do the configurations on the Configure Test Controller dialog.
    2. Make sure that Test Controller machine can pin Test Agent machine and vice versa.
    3. If your machines are in the same workgroup, please login with the same account on the two machines when you install and configure test controller and test agent.
    4. Make sure the test controller and test agents services are running. Go to Service->find the Visual Studio Test Agent and Controller service->configure the Status to be "Started".
    5. Run the VS2012 with Administration privilege.
    6. Or you could re-install your Test Controller and Agent, check it again.

    If still no help, you could also submit this feedback to Microsoft Connect feedback portal: http://connect.microsoft.com, Microsoft engineers will evaluate them seriously, please share the detailed log message in your connect report, hope it could help you.

    If there's any concern, please feel free to let me know.

    Best Regards,


    Jack Zhai[MSFT]
    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support
    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    Thursday, September 5, 2013 8:42 AM
    Moderator
  • Hi Jack

    We have now made the neccesary openings in our firewalls. I sit with my clientmachine in domain A, and try to contact the controller in domain B. The controller and agents are in the same domain, and can communicate with each other. I cannot seem however to be able to reach the controller. I get the attached errormessage.

    Do I need to logon as the workgroup\user on my client as well? How do I add a non-domain user to TFS to be able to access my teamproject?


    Kjaps

    Wednesday, September 11, 2013 12:02 PM
  • Hi Kjaps,

    Can you change the Test Controller’s name to “<machineName>” in your side? I suggest you configure your Test Controller manually, and get the detailed Controller log messages.

    http://blogs.msdn.com/b/aseemb/archive/2009/11/28/how-to-enable-test-controller-logs.aspx

    How do I add a non-domain user to TFS to be able to access my teamproject?   

    Since this issue is related to TFW, please post this issue to the TFS forum for better support. Thanks for your understanding.

    Best Regards,


    Jack Zhai[MSFT]
    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support
    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    Thursday, September 12, 2013 2:22 AM
    Moderator
  • Hi Kjaps,

    Can you change the Test Controller’s name to “<machineName>” in your side?

    This does not make any sense, since this is a machine on a different domain. The DNS does not know about it. I am able to connect with telnet from my client to the controller on port 6910 by using ip-adress, but not with DNS-name.

    I suggest you configure your Test Controller manually, and get the detailed Controller log messages.

    http://blogs.msdn.com/b/aseemb/archive/2009/11/28/how-to-enable-test-controller-logs.aspx

    I am trying that now and will get back to you.

    Kjaps

    Thursday, September 12, 2013 7:46 AM
  • We have made the nessecary changes in our DNS to allow us to use the machine name. With the inclusion of reverse lookup also we were able to make it work!

    How I was able to add the controller and are able to start the loadtest however it seems that we are missing an opening somewhere because we get error when trying to read from and write to the LoadTest database wich exist in the same domain as the controller on another machine (this is also an agent). The errormessage is:



    Kjaps

    Tuesday, September 17, 2013 12:33 PM
  • Hi Kjaps,

    As far as I know that if you configure your Test Controller with userA, then userA must have access to the database.

    So you would check whether the userA have the required permissions to access the "LoadTest" database. Please try to resolve your issue by granting userA the sysadmin pemrission of the "LoadTest" database.

    Please also test it under test Manage test controller like the following screen shots.

    Best Regards,


    Jack Zhai[MSFT]
    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support
    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    Wednesday, September 18, 2013 10:06 AM
    Moderator
  • Thank you Jack,

    The user has access to the database. The controller is able to access the database, but the problem is on the client which is in a different domain. When starting the loadtest, the controller is used to write to the database, same with saving the loadtest data to the database. But when getting the testresult from the database, it will go directly from the client to the database, not via the controller. We did not have openings in the firewall from the client to the database. We have ordered the openings, and will try again when that is ready. I will update you on the progress.


    Kjaps

    Wednesday, September 18, 2013 10:13 AM
  • Now we have all the nessecary openings in place, and the Loadtests is running, and I can retrieve the results from the database.

    Our issue now, is that our application is running Windows authenication (wpf client and wfc service), and the agents is running with local user due to crossdomain setup. Local users is not able to be used in domain Groups. Suggestion to how we solve this?


    Kjaps

    Monday, September 23, 2013 12:48 PM