再現手順にも記載しておりますが、5.8.0以降のHorde Agentでは.NET 10が必要となっています。
そして、Horde ServerにEnrollmentしているHorde Agentはバイナリだけ自動アップデートされますが
その際に、.NET 10が入っていないPCにおいては以下のようなアップグレードを試みるプロセスがループされます。
=== 中略 ===
[18:18:01 inf] Adding lease *******************
[18:18:01 inf] Handling lease ****************: type.googleapis.com/UpgradeTask
[18:18:01 inf] Setting log ***************** tail = -1, data = 0 bytes, 0 lines ('')
[18:18:01 inf] Writing log data: ************, -1, 0 bytes
[18:18:05 dbg] Written ***************/*************** (direct)
[18:18:05 inf] Updating log *************** to line 1, target *******************/******************
[18:18:05 inf] Disposing json log task
[18:18:05 inf] Cancelling long poll from client side (complete)
[18:18:05 inf] Log ************ tail next = -1
[18:18:05 inf] Finishing log tail task
[18:18:05 inf] Transitioning lease ********** to Completed, outcome=Success
[18:18:05 inf] Lease ***************** is setting session result to RunCallback
[18:18:05 inf] Session termination requested (result: RunCallback)
[18:18:05 inf] Querying agent capabilities... (may take up to 30 seconds)
[18:18:05 inf] Agent capabilities queried in 1 ms
[18:18:05 inf] Agent status is stopped; returning from session update loop with result Outcome=RunCallback Reason=Completed
[18:18:05 inf] Launching: dotnet D:\Horde_Agent\Upgrade\Extracted\HordeAgent.dll Service Upgrade -ProcessId=46408 -TargetDir="C:\Program Files\Epic Games\Horde\Agent" -Arguments=
You must install or update .NET to run this application.
App: D:\Horde_Agent\Upgrade\Extracted\HordeAgent.dll
Architecture: x64
Framework: 'Microsoft.NETCore.App', version '10.0.0' (x64)
.NET location: C:\Program Files\dotnet\
The following frameworks were found:
6.0.28 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
7.0.7 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
8.0.12 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
9.0.5 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Learn more:
https://aka.ms/dotnet/app-launch-failed
To install missing framework, download:
https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=10.0.0&arch=x64&rid=win-x64&os=win10
[18:18:05 inf] Upgrade did not terminate initiating process; reconnecting to server...
[18:18:05 inf] WorkingDir: D:\Horde_Agent
=== 5分置きにこの無限ループ ===
これは.NET 10が必要になったことの他に、以下修正の影響もありそうです。
* Make upgrade of Windows agent more robust with retry logic
Add retry for file deletion and move operations during agent self-upgrade to handle lingering file locks after service stop. (50350263)
ここまでは良いのですが、問題はこのエラーのわかりにくさにあります。
これらがわかっていると、Horde DashboardのAgent一覧画面からバージョンを見ることで対応可能なのですが
Dashboard上のAgent Leasesログには Successログと以下の内容しか書いてありません。
Upgrading from 5.7.4-0 to horde-agent:5.8.0-54390005
Horde Agent自体をコマンドプロンプトから起動していたりしないとエラー内容に気付きにくいため
Requirementを満たしておらず、該当バージョンにUpgrade出来ていなかった場合に
Agent Leasesで失敗扱いもしくはログからわかるようにしてほしいです。
その他、できれば.NET 10も入るようにしていただいたり、
アップグレードプロセスにも試行回数上限を設けていただくのも検討していただけないでしょうか?
以上、よろしくお願いいたします。
[Attachment Removed]