Change RunnerId/AgentId from int32 to uint64 (#2661)

* RunnerId int -> ulong
This commit is contained in:
Tingluo Huang
2023-08-04 16:22:52 -04:00
committed by GitHub
parent 8eefd849c1
commit 8fa970a1e6
12 changed files with 35 additions and 30 deletions

View File

@@ -18,7 +18,7 @@ namespace GitHub.Runner.Common
private bool? _isHostedServer; private bool? _isHostedServer;
[DataMember(EmitDefaultValue = false)] [DataMember(EmitDefaultValue = false)]
public int AgentId { get; set; } public ulong AgentId { get; set; }
[DataMember(EmitDefaultValue = false)] [DataMember(EmitDefaultValue = false)]
public string AgentName { get; set; } public string AgentName { get; set; }

View File

@@ -27,8 +27,8 @@ namespace GitHub.Runner.Common
// Configuration // Configuration
Task<TaskAgent> AddAgentAsync(Int32 agentPoolId, TaskAgent agent); Task<TaskAgent> AddAgentAsync(Int32 agentPoolId, TaskAgent agent);
Task DeleteAgentAsync(int agentPoolId, int agentId); Task DeleteAgentAsync(int agentPoolId, ulong agentId);
Task DeleteAgentAsync(int agentId); Task DeleteAgentAsync(ulong agentId);
Task<List<TaskAgentPool>> GetAgentPoolsAsync(string agentPoolName = null, TaskAgentPoolType poolType = TaskAgentPoolType.Automation); Task<List<TaskAgentPool>> GetAgentPoolsAsync(string agentPoolName = null, TaskAgentPoolType poolType = TaskAgentPoolType.Automation);
Task<List<TaskAgent>> GetAgentsAsync(int agentPoolId, string agentName = null); Task<List<TaskAgent>> GetAgentsAsync(int agentPoolId, string agentName = null);
Task<List<TaskAgent>> GetAgentsAsync(string agentName); Task<List<TaskAgent>> GetAgentsAsync(string agentName);
@@ -50,7 +50,7 @@ namespace GitHub.Runner.Common
Task<PackageMetadata> GetPackageAsync(string packageType, string platform, string version, bool includeToken, CancellationToken cancellationToken); Task<PackageMetadata> GetPackageAsync(string packageType, string platform, string version, bool includeToken, CancellationToken cancellationToken);
// agent update // agent update
Task<TaskAgent> UpdateAgentUpdateStateAsync(int agentPoolId, int agentId, string currentState, string trace); Task<TaskAgent> UpdateAgentUpdateStateAsync(int agentPoolId, ulong agentId, string currentState, string trace);
} }
public sealed class RunnerServer : RunnerService, IRunnerServer public sealed class RunnerServer : RunnerService, IRunnerServer
@@ -239,13 +239,13 @@ namespace GitHub.Runner.Common
return _genericTaskAgentClient.ReplaceAgentAsync(agentPoolId, agent); return _genericTaskAgentClient.ReplaceAgentAsync(agentPoolId, agent);
} }
public Task DeleteAgentAsync(int agentPoolId, int agentId) public Task DeleteAgentAsync(int agentPoolId, ulong agentId)
{ {
CheckConnection(RunnerConnectionType.Generic); CheckConnection(RunnerConnectionType.Generic);
return _genericTaskAgentClient.DeleteAgentAsync(agentPoolId, agentId); return _genericTaskAgentClient.DeleteAgentAsync(agentPoolId, agentId);
} }
public Task DeleteAgentAsync(int agentId) public Task DeleteAgentAsync(ulong agentId)
{ {
return DeleteAgentAsync(0, agentId); // agentPool is ignored server side return DeleteAgentAsync(0, agentId); // agentPool is ignored server side
} }
@@ -315,7 +315,7 @@ namespace GitHub.Runner.Common
return _genericTaskAgentClient.GetPackageAsync(packageType, platform, version, includeToken, cancellationToken: cancellationToken); return _genericTaskAgentClient.GetPackageAsync(packageType, platform, version, includeToken, cancellationToken: cancellationToken);
} }
public Task<TaskAgent> UpdateAgentUpdateStateAsync(int agentPoolId, int agentId, string currentState, string trace) public Task<TaskAgent> UpdateAgentUpdateStateAsync(int agentPoolId, ulong agentId, string currentState, string trace)
{ {
CheckConnection(RunnerConnectionType.Generic); CheckConnection(RunnerConnectionType.Generic);
return _genericTaskAgentClient.UpdateAgentUpdateStateAsync(agentPoolId, agentId, currentState, trace); return _genericTaskAgentClient.UpdateAgentUpdateStateAsync(agentPoolId, agentId, currentState, trace);

View File

@@ -38,7 +38,7 @@ namespace GitHub.Runner.Listener
private ITerminal _terminal; private ITerminal _terminal;
private IRunnerServer _runnerServer; private IRunnerServer _runnerServer;
private int _poolId; private int _poolId;
private int _agentId; private ulong _agentId;
private readonly ConcurrentQueue<string> _updateTrace = new(); private readonly ConcurrentQueue<string> _updateTrace = new();
private Task _cloneAndCalculateContentHashTask; private Task _cloneAndCalculateContentHashTask;
private string _dotnetRuntimeCloneDirectory; private string _dotnetRuntimeCloneDirectory;

View File

@@ -56,7 +56,7 @@ namespace GitHub.Runner.Worker
// \_layout\_work\_temp\[jobname-support]\files\environment.txt // \_layout\_work\_temp\[jobname-support]\files\environment.txt
var configurationStore = HostContext.GetService<IConfigurationStore>(); var configurationStore = HostContext.GetService<IConfigurationStore>();
RunnerSettings settings = configurationStore.GetSettings(); RunnerSettings settings = configurationStore.GetSettings();
int runnerId = settings.AgentId; ulong runnerId = settings.AgentId;
string runnerName = settings.AgentName; string runnerName = settings.AgentName;
int poolId = settings.PoolId; int poolId = settings.PoolId;

View File

@@ -97,7 +97,7 @@ namespace GitHub.DistributedTask.WebApi
/// <param name="cancellationToken">The cancellation token to cancel operation.</param> /// <param name="cancellationToken">The cancellation token to cancel operation.</param>
public virtual async Task DeleteAgentAsync( public virtual async Task DeleteAgentAsync(
int poolId, int poolId,
int agentId, ulong agentId,
object userState = null, object userState = null,
CancellationToken cancellationToken = default) CancellationToken cancellationToken = default)
{ {
@@ -243,7 +243,7 @@ namespace GitHub.DistributedTask.WebApi
/// <param name="cancellationToken">The cancellation token to cancel operation.</param> /// <param name="cancellationToken">The cancellation token to cancel operation.</param>
public virtual Task<TaskAgent> ReplaceAgentAsync( public virtual Task<TaskAgent> ReplaceAgentAsync(
int poolId, int poolId,
int agentId, ulong agentId,
TaskAgent agent, TaskAgent agent,
object userState = null, object userState = null,
CancellationToken cancellationToken = default) CancellationToken cancellationToken = default)
@@ -786,7 +786,7 @@ namespace GitHub.DistributedTask.WebApi
[EditorBrowsable(EditorBrowsableState.Never)] [EditorBrowsable(EditorBrowsableState.Never)]
public virtual Task<TaskAgent> UpdateAgentUpdateStateAsync( public virtual Task<TaskAgent> UpdateAgentUpdateStateAsync(
int poolId, int poolId,
int agentId, ulong agentId,
string currentState, string currentState,
string updateTrace, string updateTrace,
object userState = null, object userState = null,

View File

@@ -16,7 +16,7 @@ namespace GitHub.DistributedTask.WebApi
} }
public AgentRefreshMessage( public AgentRefreshMessage(
Int32 agentId, ulong agentId,
String targetVersion, String targetVersion,
TimeSpan? timeout = null) TimeSpan? timeout = null)
{ {
@@ -26,7 +26,7 @@ namespace GitHub.DistributedTask.WebApi
} }
[DataMember] [DataMember]
public Int32 AgentId public ulong AgentId
{ {
get; get;
private set; private set;

View File

@@ -5,7 +5,7 @@ namespace GitHub.DistributedTask.WebApi
[DataContract] [DataContract]
public sealed class DiagnosticLogMetadata public sealed class DiagnosticLogMetadata
{ {
public DiagnosticLogMetadata(string agentName, int agentId, int poolId, string phaseName, string fileName, string phaseResult) public DiagnosticLogMetadata(string agentName, ulong agentId, int poolId, string phaseName, string fileName, string phaseResult)
{ {
AgentName = agentName; AgentName = agentName;
AgentId = agentId; AgentId = agentId;
@@ -19,7 +19,7 @@ namespace GitHub.DistributedTask.WebApi
public string AgentName { get; set; } public string AgentName { get; set; }
[DataMember] [DataMember]
public int AgentId { get; set; } public ulong AgentId { get; set; }
[DataMember] [DataMember]
public int PoolId { get; set; } public int PoolId { get; set; }

View File

@@ -47,7 +47,7 @@ namespace GitHub.DistributedTask.WebApi
} }
[JsonProperty("id")] [JsonProperty("id")]
public Int32 Id public ulong Id
{ {
get; get;
internal set; internal set;

View File

@@ -16,7 +16,7 @@ namespace GitHub.DistributedTask.WebApi
} }
public RunnerRefreshMessage( public RunnerRefreshMessage(
Int32 runnerId, ulong runnerId,
String targetVersion, String targetVersion,
int? timeoutInSeconds = null) int? timeoutInSeconds = null)
{ {
@@ -26,7 +26,7 @@ namespace GitHub.DistributedTask.WebApi
} }
[DataMember] [DataMember]
public Int32 RunnerId public ulong RunnerId
{ {
get; get;
private set; private set;

View File

@@ -37,7 +37,7 @@ namespace GitHub.DistributedTask.WebApi
/// Identifier of the agent. /// Identifier of the agent.
/// </summary> /// </summary>
[DataMember] [DataMember]
public Int32 Id public ulong Id
{ {
get; get;
set; set;

View File

@@ -86,6 +86,11 @@ namespace GitHub.Actions.RunService.WebApi
return result.Value; return result.Value;
} }
if (result.StatusCode == HttpStatusCode.Forbidden)
{
throw new AccessDeniedException(result.Error);
}
throw new Exception($"Failed to get job message: {result.Error}"); throw new Exception($"Failed to get job message: {result.Error}");
} }
} }

View File

@@ -117,7 +117,7 @@ namespace GitHub.Runner.Common.Tests.Listener
updater.Initialize(hc); updater.Initialize(hc);
_runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>())) _runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>()))
.Callback((int p, int a, string s, string t) => .Callback((int p, ulong a, string s, string t) =>
{ {
hc.GetTrace().Info(t); hc.GetTrace().Info(t);
}) })
@@ -180,7 +180,7 @@ namespace GitHub.Runner.Common.Tests.Listener
.Returns(Task.FromResult(new PackageMetadata() { Platform = BuildConstants.RunnerPackage.PackageName, Version = new PackageVersion("2.200.0"), DownloadUrl = _packageUrl })); .Returns(Task.FromResult(new PackageMetadata() { Platform = BuildConstants.RunnerPackage.PackageName, Version = new PackageVersion("2.200.0"), DownloadUrl = _packageUrl }));
_runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>())) _runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>()))
.Callback((int p, int a, string s, string t) => .Callback((int p, ulong a, string s, string t) =>
{ {
hc.GetTrace().Info(t); hc.GetTrace().Info(t);
}) })
@@ -234,7 +234,7 @@ namespace GitHub.Runner.Common.Tests.Listener
updater.Initialize(hc); updater.Initialize(hc);
_runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>())) _runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>()))
.Callback((int p, int a, string s, string t) => .Callback((int p, ulong a, string s, string t) =>
{ {
hc.GetTrace().Info(t); hc.GetTrace().Info(t);
}) })
@@ -289,7 +289,7 @@ namespace GitHub.Runner.Common.Tests.Listener
updater.Initialize(hc); updater.Initialize(hc);
_runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>())) _runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>()))
.Callback((int p, int a, string s, string t) => .Callback((int p, ulong a, string s, string t) =>
{ {
hc.GetTrace().Info(t); hc.GetTrace().Info(t);
}) })
@@ -344,7 +344,7 @@ namespace GitHub.Runner.Common.Tests.Listener
.Returns(Task.FromResult(new PackageMetadata() { Platform = BuildConstants.RunnerPackage.PackageName, Version = new PackageVersion("2.999.0"), DownloadUrl = _packageUrl, TrimmedPackages = new List<TrimmedPackageMetadata>() { new TrimmedPackageMetadata() } })); .Returns(Task.FromResult(new PackageMetadata() { Platform = BuildConstants.RunnerPackage.PackageName, Version = new PackageVersion("2.999.0"), DownloadUrl = _packageUrl, TrimmedPackages = new List<TrimmedPackageMetadata>() { new TrimmedPackageMetadata() } }));
_runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>())) _runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>()))
.Callback((int p, int a, string s, string t) => .Callback((int p, ulong a, string s, string t) =>
{ {
hc.GetTrace().Info(t); hc.GetTrace().Info(t);
}) })
@@ -416,7 +416,7 @@ namespace GitHub.Runner.Common.Tests.Listener
updater.Initialize(hc); updater.Initialize(hc);
_runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>())) _runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>()))
.Callback((int p, int a, string s, string t) => .Callback((int p, ulong a, string s, string t) =>
{ {
hc.GetTrace().Info(t); hc.GetTrace().Info(t);
}) })
@@ -490,7 +490,7 @@ namespace GitHub.Runner.Common.Tests.Listener
.Returns(Task.FromResult(new PackageMetadata() { Platform = BuildConstants.RunnerPackage.PackageName, Version = new PackageVersion("2.999.0"), DownloadUrl = _packageUrl, TrimmedPackages = trim })); .Returns(Task.FromResult(new PackageMetadata() { Platform = BuildConstants.RunnerPackage.PackageName, Version = new PackageVersion("2.999.0"), DownloadUrl = _packageUrl, TrimmedPackages = trim }));
_runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>())) _runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>()))
.Callback((int p, int a, string s, string t) => .Callback((int p, ulong a, string s, string t) =>
{ {
hc.GetTrace().Info(t); hc.GetTrace().Info(t);
}) })
@@ -579,7 +579,7 @@ namespace GitHub.Runner.Common.Tests.Listener
.Returns(Task.FromResult(new PackageMetadata() { Platform = BuildConstants.RunnerPackage.PackageName, Version = new PackageVersion("2.999.0"), DownloadUrl = _packageUrl, TrimmedPackages = trim })); .Returns(Task.FromResult(new PackageMetadata() { Platform = BuildConstants.RunnerPackage.PackageName, Version = new PackageVersion("2.999.0"), DownloadUrl = _packageUrl, TrimmedPackages = trim }));
_runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>())) _runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>()))
.Callback((int p, int a, string s, string t) => .Callback((int p, ulong a, string s, string t) =>
{ {
hc.GetTrace().Info(t); hc.GetTrace().Info(t);
}) })
@@ -681,7 +681,7 @@ namespace GitHub.Runner.Common.Tests.Listener
_runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>())) _runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>()))
.Callback((int p, int a, string s, string t) => .Callback((int p, ulong a, string s, string t) =>
{ {
hc.GetTrace().Info(t); hc.GetTrace().Info(t);
}) })
@@ -758,7 +758,7 @@ namespace GitHub.Runner.Common.Tests.Listener
.Returns(Task.FromResult(new PackageMetadata() { Platform = BuildConstants.RunnerPackage.PackageName, Version = new PackageVersion("2.999.0"), DownloadUrl = _packageUrl, TrimmedPackages = trim })); .Returns(Task.FromResult(new PackageMetadata() { Platform = BuildConstants.RunnerPackage.PackageName, Version = new PackageVersion("2.999.0"), DownloadUrl = _packageUrl, TrimmedPackages = trim }));
_runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>())) _runnerServer.Setup(x => x.UpdateAgentUpdateStateAsync(1, 1, It.IsAny<string>(), It.IsAny<string>()))
.Callback((int p, int a, string s, string t) => .Callback((int p, ulong a, string s, string t) =>
{ {
hc.GetTrace().Info(t); hc.GetTrace().Info(t);
}) })