public async Task TestConnectionAsync(AgentSettings agentSettings, VssCredentials creds, bool isHosted) { _term.WriteLine(StringUtil.Loc("ConnectingToServer")); VssConnection connection = ApiUtil.CreateConnection(new Uri(agentSettings.ServerUrl), creds); await _agentServer.ConnectAsync(connection); }
public async Task TestConnectionAsync(string url, VssCredentials creds) { _term.WriteLine(StringUtil.Loc("ConnectingToServer")); VssConnection connection = ApiUtil.CreateConnection(new Uri(url), creds); await _agentServer.ConnectAsync(connection); }
private async Task TestConnectAsync(string url, VssCredentials creds) { _term.WriteLine(StringUtil.Loc("ConnectingToServer")); VssConnection connection = ApiUtil.CreateConnection(new Uri(url), creds); _agentServer = HostContext.CreateService <IAgentServer>(); await _agentServer.ConnectAsync(connection); }
public async Task TestConnectionAsync(string url, VssCredentials creds) { _term.WriteLine(StringUtil.Loc("ConnectingToServer")); VssConnection connection = ApiUtil.CreateConnection(new Uri(url), creds); await _agentServer.ConnectAsync(connection); Trace.Info("Connect complete for server"); // Create the connection for machine group Trace.Info("Test connection with machine group"); if (!_isHosted && !_collectionName.IsNullOrEmpty()) // For on-prm validate the collection by making the connection { UriBuilder uriBuilder = new UriBuilder(new Uri(url)); uriBuilder.Path = uriBuilder.Path + "/" + _collectionName; Trace.Info("Tfs Collection level url to connect - {0}", uriBuilder.Uri.AbsoluteUri); url = uriBuilder.Uri.AbsoluteUri; } VssConnection machineGroupconnection = ApiUtil.CreateConnection(new Uri(url), creds); await _machineGroupServer.ConnectAsync(machineGroupconnection); Trace.Info("Connect complete for machine group"); }
public async Task <Boolean> CreateSessionAsync(CancellationToken token) { Trace.Entering(); // Settings var configManager = HostContext.GetService <IConfigurationManager>(); _settings = configManager.LoadSettings(); var serverUrl = _settings.ServerUrl; Trace.Info(_settings); // Capabilities. _term.WriteLine(StringUtil.Loc("ScanToolCapabilities")); Dictionary <string, string> systemCapabilities = await HostContext.GetService <ICapabilitiesManager>().GetCapabilitiesAsync(_settings, token); // Create connection. Trace.Verbose("Loading Credentials"); var credMgr = HostContext.GetService <ICredentialManager>(); VssCredentials creds = credMgr.LoadCredentials(); Uri uri = new Uri(serverUrl); VssConnection conn = ApiUtil.CreateConnection(uri, creds); var agent = new TaskAgentReference { Id = _settings.AgentId, Name = _settings.AgentName, Version = Constants.Agent.Version, }; string sessionName = $"{Environment.MachineName ?? "AGENT"}"; var taskAgentSession = new TaskAgentSession(sessionName, agent, systemCapabilities); string errorMessage = string.Empty; bool encounteringError = false; _term.WriteLine(StringUtil.Loc("ConnectToServer")); while (true) { token.ThrowIfCancellationRequested(); Trace.Info($"Attempt to create session."); try { Trace.Info("Connecting to the Agent Server..."); await _agentServer.ConnectAsync(conn); _session = await _agentServer.CreateAgentSessionAsync( _settings.PoolId, taskAgentSession, token); Trace.Info($"Session created."); if (encounteringError) { _term.WriteLine(StringUtil.Loc("QueueConnected", DateTime.UtcNow)); _sessionCreationExceptionTracker.Clear(); encounteringError = false; } return(true); } catch (OperationCanceledException) when(token.IsCancellationRequested) { Trace.Info("Session creation has been cancelled."); throw; } catch (Exception ex) { Trace.Error("Catch exception during create session."); Trace.Error(ex); if (!IsSessionCreationExceptionRetriable(ex)) { _term.WriteError(StringUtil.Loc("SessionCreateFailed", ex.Message)); return(false); } if (!encounteringError) //print the message only on the first error { _term.WriteError(StringUtil.Loc("QueueConError", DateTime.UtcNow, ex.Message, _sessionCreationRetryInterval.TotalSeconds)); encounteringError = true; } Trace.Info("Sleeping for {0} seconds before retrying.", _sessionCreationRetryInterval.TotalSeconds); await HostContext.Delay(_sessionCreationRetryInterval, token); } } }
public async Task TestConnectionAsync(AgentSettings agentSettings, VssCredentials creds, bool isHosted) { ArgUtil.NotNull(agentSettings, nameof(agentSettings)); _term.WriteLine(StringUtil.Loc("ConnectingToServer")); await _agentServer.ConnectAsync(new Uri(agentSettings.ServerUrl), creds); }
private async Task TestConnectAsync(string url, VssCredentials creds) { _term.WriteLine(StringUtil.Loc("ConnectingToServer")); VssConnection connection = ApiUtil.CreateConnection(new Uri(url), creds); _agentServer = HostContext.CreateService<IAgentServer>(); await _agentServer.ConnectAsync(connection); }