Attached a snippet of the raw log output for two machines - one successful and one failed (some info redacted). In the UI, the Connectivity tab for these failed machines initially shows a Current Version of "0.0.0 (upgrade available)".
It looks like the failure occurs after the upgrade when EnsureSuccessful() tries to find an exit code log. So far, it looks like all of our upgrades were actually successful. After running a health check, the Current Version is correct and the machine status is healthy.
09:17:17 Info | Waiting for the upgrade to complete
09:17:17 Verbose | No exit code log exists at 'C:\Octopus\Upgrade\20170508141702-DTY9T'
09:17:17 Fatal | The remote script failed with exit code 65532
09:17:17 Verbose | The remote script failed with exit code 65532
| Octopus.Shared.Tasks.ActivityFailedException: The remote script failed with exit code 65532
| at Octopus.Worker.Scripting.ScriptResult.EnsureSuccessful() in Z:\buildAgent\workDir\eec88466c176b607\source\Octopus.Worker\Scripting\ScriptResult.cs:line 91
| at Octopus.Worker.Tentacles.TentacleUpgradeMediator.WaitForExitCode(String installId) in Z:\buildAgent\workDir\eec88466c176b607\source\Octopus.Worker\Tentacles\TentacleUpgradeMediator.cs:line 117
| at Octopus.Worker.Tentacles.TentacleUpgradeMediator.PerformUpgrade(TargetManifest targetManifest) in Z:\buildAgent\workDir\eec88466c176b607\source\Octopus.Worker\Tentacles\TentacleUpgradeMediator.cs:line 56
| at Octopus.Server.Orchestration.Health.HealthCheckService.PerformHealthCheck(Machine machine, ExceptionHandling exceptionHandling, Action`2 customAction) in Z:\buildAgent\workDir\eec88466c176b607\source\Octopus.Server\Orchestration\Health\HealthCheckService.cs:line 77
| Octopus.Server version 3.13.0 (3.13.0+Branch.master.Sha.872899cdf487a79ef334d6b3c310d671b65a57df)