mirror of
https://github.com/actions/runner.git
synced 2025-12-13 19:03:44 +00:00
Remove create session with broker in MessageListener. (#3782)
This commit is contained in:
@@ -56,8 +56,6 @@ namespace GitHub.Runner.Listener
|
|||||||
private CancellationTokenSource _getMessagesTokenSource;
|
private CancellationTokenSource _getMessagesTokenSource;
|
||||||
private VssCredentials _creds;
|
private VssCredentials _creds;
|
||||||
|
|
||||||
private bool _isBrokerSession = false;
|
|
||||||
|
|
||||||
public override void Initialize(IHostContext hostContext)
|
public override void Initialize(IHostContext hostContext)
|
||||||
{
|
{
|
||||||
base.Initialize(hostContext);
|
base.Initialize(hostContext);
|
||||||
@@ -114,16 +112,6 @@ namespace GitHub.Runner.Listener
|
|||||||
_settings.PoolId,
|
_settings.PoolId,
|
||||||
taskAgentSession,
|
taskAgentSession,
|
||||||
token);
|
token);
|
||||||
|
|
||||||
if (_session.BrokerMigrationMessage != null)
|
|
||||||
{
|
|
||||||
Trace.Info("Runner session is in migration mode: Creating Broker session with BrokerBaseUrl: {0}", _session.BrokerMigrationMessage.BrokerBaseUrl);
|
|
||||||
|
|
||||||
await _brokerServer.UpdateConnectionIfNeeded(_session.BrokerMigrationMessage.BrokerBaseUrl, _creds);
|
|
||||||
_session = await _brokerServer.CreateSessionAsync(taskAgentSession, token);
|
|
||||||
_isBrokerSession = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
Trace.Info($"Session created.");
|
Trace.Info($"Session created.");
|
||||||
if (encounteringError)
|
if (encounteringError)
|
||||||
{
|
{
|
||||||
@@ -202,11 +190,6 @@ namespace GitHub.Runner.Listener
|
|||||||
using (var ts = new CancellationTokenSource(TimeSpan.FromSeconds(30)))
|
using (var ts = new CancellationTokenSource(TimeSpan.FromSeconds(30)))
|
||||||
{
|
{
|
||||||
await _runnerServer.DeleteAgentSessionAsync(_settings.PoolId, _session.SessionId, ts.Token);
|
await _runnerServer.DeleteAgentSessionAsync(_settings.PoolId, _session.SessionId, ts.Token);
|
||||||
|
|
||||||
if (_isBrokerSession)
|
|
||||||
{
|
|
||||||
await _brokerServer.DeleteSessionAsync(ts.Token);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -92,68 +92,6 @@ namespace GitHub.Runner.Common.Tests.Listener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
|
||||||
[Trait("Level", "L0")]
|
|
||||||
[Trait("Category", "Runner")]
|
|
||||||
public async void CreatesSessionWithBrokerMigration()
|
|
||||||
{
|
|
||||||
using (TestHostContext tc = CreateTestContext())
|
|
||||||
using (var tokenSource = new CancellationTokenSource())
|
|
||||||
{
|
|
||||||
Tracing trace = tc.GetTrace();
|
|
||||||
|
|
||||||
// Arrange.
|
|
||||||
var expectedSession = new TaskAgentSession()
|
|
||||||
{
|
|
||||||
OwnerName = "legacy",
|
|
||||||
BrokerMigrationMessage = new BrokerMigrationMessage(new Uri("https://broker.actions.github.com"))
|
|
||||||
};
|
|
||||||
|
|
||||||
var expectedBrokerSession = new TaskAgentSession()
|
|
||||||
{
|
|
||||||
OwnerName = "broker"
|
|
||||||
};
|
|
||||||
|
|
||||||
_runnerServer
|
|
||||||
.Setup(x => x.CreateAgentSessionAsync(
|
|
||||||
_settings.PoolId,
|
|
||||||
It.Is<TaskAgentSession>(y => y != null),
|
|
||||||
tokenSource.Token))
|
|
||||||
.Returns(Task.FromResult(expectedSession));
|
|
||||||
|
|
||||||
_brokerServer
|
|
||||||
.Setup(x => x.CreateSessionAsync(
|
|
||||||
It.Is<TaskAgentSession>(y => y != null),
|
|
||||||
tokenSource.Token))
|
|
||||||
.Returns(Task.FromResult(expectedBrokerSession));
|
|
||||||
|
|
||||||
_credMgr.Setup(x => x.LoadCredentials(It.IsAny<bool>())).Returns(new VssCredentials());
|
|
||||||
_store.Setup(x => x.GetCredentials()).Returns(new CredentialData() { Scheme = Constants.Configuration.OAuthAccessToken });
|
|
||||||
_store.Setup(x => x.GetMigratedCredentials()).Returns(default(CredentialData));
|
|
||||||
|
|
||||||
// Act.
|
|
||||||
MessageListener listener = new();
|
|
||||||
listener.Initialize(tc);
|
|
||||||
|
|
||||||
CreateSessionResult result = await listener.CreateSessionAsync(tokenSource.Token);
|
|
||||||
trace.Info("result: {0}", result);
|
|
||||||
|
|
||||||
// Assert.
|
|
||||||
Assert.Equal(CreateSessionResult.Success, result);
|
|
||||||
|
|
||||||
_runnerServer
|
|
||||||
.Verify(x => x.CreateAgentSessionAsync(
|
|
||||||
_settings.PoolId,
|
|
||||||
It.Is<TaskAgentSession>(y => y != null),
|
|
||||||
tokenSource.Token), Times.Once());
|
|
||||||
|
|
||||||
_brokerServer
|
|
||||||
.Verify(x => x.CreateSessionAsync(
|
|
||||||
It.Is<TaskAgentSession>(y => y != null),
|
|
||||||
tokenSource.Token), Times.Once());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
[Trait("Level", "L0")]
|
[Trait("Level", "L0")]
|
||||||
[Trait("Category", "Runner")]
|
[Trait("Category", "Runner")]
|
||||||
@@ -201,83 +139,6 @@ namespace GitHub.Runner.Common.Tests.Listener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
|
||||||
[Trait("Level", "L0")]
|
|
||||||
[Trait("Category", "Runner")]
|
|
||||||
public async void DeleteSessionWithBrokerMigration()
|
|
||||||
{
|
|
||||||
using (TestHostContext tc = CreateTestContext())
|
|
||||||
using (var tokenSource = new CancellationTokenSource())
|
|
||||||
{
|
|
||||||
Tracing trace = tc.GetTrace();
|
|
||||||
|
|
||||||
// Arrange.
|
|
||||||
var expectedSession = new TaskAgentSession()
|
|
||||||
{
|
|
||||||
OwnerName = "legacy",
|
|
||||||
BrokerMigrationMessage = new BrokerMigrationMessage(new Uri("https://broker.actions.github.com"))
|
|
||||||
};
|
|
||||||
|
|
||||||
var expectedBrokerSession = new TaskAgentSession()
|
|
||||||
{
|
|
||||||
SessionId = Guid.NewGuid(),
|
|
||||||
OwnerName = "broker"
|
|
||||||
};
|
|
||||||
|
|
||||||
_runnerServer
|
|
||||||
.Setup(x => x.CreateAgentSessionAsync(
|
|
||||||
_settings.PoolId,
|
|
||||||
It.Is<TaskAgentSession>(y => y != null),
|
|
||||||
tokenSource.Token))
|
|
||||||
.Returns(Task.FromResult(expectedSession));
|
|
||||||
|
|
||||||
_brokerServer
|
|
||||||
.Setup(x => x.CreateSessionAsync(
|
|
||||||
It.Is<TaskAgentSession>(y => y != null),
|
|
||||||
tokenSource.Token))
|
|
||||||
.Returns(Task.FromResult(expectedBrokerSession));
|
|
||||||
|
|
||||||
_credMgr.Setup(x => x.LoadCredentials(It.IsAny<bool>())).Returns(new VssCredentials());
|
|
||||||
_store.Setup(x => x.GetCredentials()).Returns(new CredentialData() { Scheme = Constants.Configuration.OAuthAccessToken });
|
|
||||||
_store.Setup(x => x.GetMigratedCredentials()).Returns(default(CredentialData));
|
|
||||||
|
|
||||||
// Act.
|
|
||||||
MessageListener listener = new();
|
|
||||||
listener.Initialize(tc);
|
|
||||||
|
|
||||||
CreateSessionResult result = await listener.CreateSessionAsync(tokenSource.Token);
|
|
||||||
trace.Info("result: {0}", result);
|
|
||||||
|
|
||||||
Assert.Equal(CreateSessionResult.Success, result);
|
|
||||||
|
|
||||||
_runnerServer
|
|
||||||
.Verify(x => x.CreateAgentSessionAsync(
|
|
||||||
_settings.PoolId,
|
|
||||||
It.Is<TaskAgentSession>(y => y != null),
|
|
||||||
tokenSource.Token), Times.Once());
|
|
||||||
|
|
||||||
_brokerServer
|
|
||||||
.Verify(x => x.CreateSessionAsync(
|
|
||||||
It.Is<TaskAgentSession>(y => y != null),
|
|
||||||
tokenSource.Token), Times.Once());
|
|
||||||
|
|
||||||
_brokerServer
|
|
||||||
.Setup(x => x.DeleteSessionAsync(It.IsAny<CancellationToken>()))
|
|
||||||
.Returns(Task.CompletedTask);
|
|
||||||
|
|
||||||
// Act.
|
|
||||||
await listener.DeleteSessionAsync();
|
|
||||||
|
|
||||||
|
|
||||||
//Assert
|
|
||||||
_runnerServer
|
|
||||||
.Verify(x => x.DeleteAgentSessionAsync(
|
|
||||||
_settings.PoolId, expectedBrokerSession.SessionId, It.IsAny<CancellationToken>()), Times.Once());
|
|
||||||
_brokerServer
|
|
||||||
.Verify(x => x.DeleteSessionAsync(It.IsAny<CancellationToken>()), Times.Once());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
[Trait("Level", "L0")]
|
[Trait("Level", "L0")]
|
||||||
[Trait("Category", "Runner")]
|
[Trait("Category", "Runner")]
|
||||||
|
|||||||
Reference in New Issue
Block a user