Have a step we have built in one of our projects that makes use of the octopusdeploy/worker-tools:ubuntu.22.04 container image. The issue is that after the step has completed it just hangs around and never ends, and will eventually time out. So i’m unsure if i am doing something wrong or if this is just one of those things. Is there some step or command i supposed to use to indicate final success of the deployment process?
This is the tail end of the log from the deployment step after it has finished.
2:25:59 Verbose | Process /bin/bash in /home/Octopus/Work/20230823222133-117686-22 exited with code 0
22:35:59 Verbose | Updating manifest with output variables
22:35:59 Verbose | Updating manifest with action evaluated variables
22:35:59 Verbose | An error occurred when sending a request to 'https://X.X.X.X:YYYY/', after the request began: Unable to read data from the transport connection: Connection timed out.
| Halibut.HalibutClientException
| at Octopus.Server.Orchestration.Targets.Tentacles.Observability.HalibutTentacleRpcTimerProxy.Invoke(MethodInfo targetMethod, Object[] args) in HalibutTentacleRPCTimerProxy.cs:line 42
| at generatedProxy_3.CompleteScript(CompleteScriptCommand )
| at Octopus.Server.Orchestration.Targets.Tentacles.ScriptObserver.Finish(ScriptTicket ticket, Int64 next, ScriptOutputFilter output) in ScriptObserver.cs:line 94
| at Octopus.Server.Orchestration.Targets.Tentacles.ScriptObserver.ObserveThenFinish(ScriptTicket ticket, ScriptOutputFilter output, Func`3 collectArtifacts, CancellationToken cancellationToken) in ScriptObserver.cs:line 52
| at Octopus.Server.Orchestration.Targets.Tentacles.ScriptObserver.ObserveUntilComplete(ScriptTicket ticket, ITaskLog taskLog, Func`3 collectArtifacts, CancellationToken cancellationToken) in ScriptObserver.cs:line 38
| at Octopus.Server.Orchestration.Targets.Tentacles.TentacleRemoteEndpointFacade.ExecuteCommand(StartScriptCommand command, ITaskLog taskLog, CancellationToken cancellationToken) in TentacleRemoteEndpointFacade.cs:line 57
| at Octopus.Server.Orchestration.Targets.Common.RemoteEndpointFacadeCancellationTokenDecorator.ExecuteCommand(StartScriptCommand command, ITaskLog taskLog, CancellationToken cancellationToken) in RemoteEndpointFacadeCancellationTokenDecorator.cs:line 36
| at Octopus.Server.Orchestration.Targets.Tentacles.Observability.ErrorLoggingRemoteEndpointFacadeDecorator.ExecuteCommand(StartScriptCommand command, ITaskLog taskLog, CancellationToken cancellationToken) in ErrorLoggingRemoteEndpointFacadeDecorator.cs:line 75
| at Octopus.Server.Orchestration.ServerTasks.Deploy.ActionExecution.Immediate.ExecutionTargets.TentacleExecutionTarget.Execute(ScriptCollection bootstrapperScripts, IReadOnlyList`1 bootstrapperArguments, IReadOnlyList`1 files, Nullable`1 forceIsolationLevel, Boolean raw, ITaskLog taskLog, String isolationMutexName, CancellationToken cancellationToken, Nullable`1 isolationMutexTimeout) in TentacleExecutionTarget.cs:line 70
| at Octopus.Server.Orchestration.ServerTasks.Deploy.ActionExecution.Immediate.ImmediateExecutor.RunOnTarget(ScriptCollection finalBootstrapperScripts, String platform, IBootstrapperScriptGenerator bootstrapperScriptGenerator, IReadOnlyList`1 bootstrapperArguments, IReadOnlyList`1 allFiles, Nullable`1 isolation, Nullable`1 isolationMutexTimeout, String isolationMutexName, CalamariFlavour flavour, IReadOnlyList`1 deploymentTools, ExecutionTargetDetails executionTargetDetails, CalamariPlatformConstraint calamariPlatformConstraint, ITaskLog taskLog, CancellationToken cancellationToken) in ImmediateExecutor.cs:line 296
| at Octopus.Server.Orchestration.ServerTasks.Deploy.ActionExecution.Immediate.ImmediateExecutor.ExecuteCalamari(CalamariFlavour calamariFlavour, String calamariCommand, IReadOnlyList`1 calamariArguments, IReadOnlyList`1 files, IReadOnlyList`1 deploymentTools, VariableCollection extraVariables, TargetManifest targetManifest, CalamariPlatformConstraint calamariPlatformConstraint, Nullable`1 isolationMutexTimeout, String isolationMutexName, ITaskLog taskLog, CancellationToken cancellationToken) in ImmediateExecutor.cs:line 228
| at Octopus.Server.Orchestration.ServerTasks.Deploy.ActionExecution.CommandBuilders.CalamariCommandBuilder.Execute(ITaskLog taskLog, CancellationToken cancellationToken) in CalamariCommandBuilder.cs:line 163
| at Octopus.Server.Orchestration.ServerTasks.Deploy.Steps.Script.ScriptActionHandler.ExecuteWithDefaultScriptHandler(IActionHandlerContext context, ITaskLog taskLog, CancellationToken cancellationToken) in ScriptActionHandler.cs:line 66
| at Octopus.Server.Orchestration.ServerTasks.Deploy.Steps.Script.ScriptActionHandler.Execute(IActionHandlerContext context, ITaskLog taskLog, CancellationToken cancellationToken) in ScriptActionHandler.cs:line 45
| at Octopus.Server.Orchestration.ServerTasks.Deploy.ActionDispatch.NewActionDispatcher.ExecuteAction(ActionCommand command, DeploymentTarget inContextOf, TargetManifest targetManifest, ITaskLog taskLog, IActionHandler handler, IActionHandlerContext handlerContext, Nullable`1 executionTimeout, CancellationToken ct) in NewActionDispatcher.cs:line 359
| at Octopus.Server.Orchestration.ServerTasks.Deploy.ActionDispatch.NewActionDispatcher.<>c__DisplayClass20_0.<Execute in NewActionDispatcher.cs:line 318
| at Octopus.Server.Orchestration.ServerTasks.ActionRetry.Execute(Func`2 callback, ITaskLog taskLog, TargetManifest targetManifest, IActionAndTargetScopedVariables variablesSnapshot, PlannedAction action, CancellationToken cancellationToken) in ActionRetry.cs:line 53
| at Octopus.Server.Orchestration.ServerTasks.ActionRetry.Execute(Func`2 callback, ITaskLog taskLog, TargetManifest targetManifest, IActionAndTargetScopedVariables variablesSnapshot, PlannedAction action, CancellationToken cancellationToken) in ActionRetry.cs:line 38
| at Octopus.Server.Orchestration.ServerTasks.Deploy.ActionDispatch.NewActionDispatcher.<>c__DisplayClass20_0.<Execute in NewActionDispatcher.cs:line 324
| at Octopus.Server.Orchestration.ServerTasks.Deploy.Guidance.ExecuteWithoutGuidance(Func`2 callback, String actionName, Boolean actionIsRequiredToRun, ITaskLog taskLog, CancellationToken cancellationToken) in Guidance.cs:line 148
| at Octopus.Server.Orchestration.ServerTasks.Deploy.Guidance.Execute(Func`2 callback, String actionName, Boolean actionIsRequiredToRun, ITaskLog taskLog, Action callbackOnExclude, CancellationToken cancellationToken) in Guidance.cs:line 78
| at Octopus.Server.Orchestration.ServerTasks.Deploy.ActionDispatch.NewActionDispatcher.Execute(ActionCommand command, DeploymentTarget inContextOf, IExecutor executor, TargetManifest targetManifest, Maybe`1 stagedPackagePath, IEnumerable`1 packageAcquisitionInformation, IActionAndTargetScopedVariables variablesSnapshot, ITaskLog taskLog, IActionHandler handler, Action guidanceExcludeCallback, CancellationToken cancellationToken) in NewActionDispatcher.cs:line 330
| at Octopus.Server.Orchestration.ServerTasks.Deploy.ActionDispatch.NewActionDispatcher.ExecuteOnWorker(ActionCommand command, DeploymentTarget inContextOf, ITaskLog taskLog, IActionHandler handler, CancellationToken cancellationToken) in NewActionDispatcher.cs:line 229
| at Octopus.Server.Orchestration.ServerTasks.Deploy.ActionDispatch.NewActionDispatcher.ExecuteOnWorker(ActionCommand command, DeploymentTarget inContextOf, ITaskLog taskLog, IActionHandler handler, CancellationToken cancellationToken) in NewActionDispatcher.cs:line 229
| at Octopus.Server.Orchestration.ServerTasks.Deploy.ActionDispatch.NewActionDispatcher.Dispatch(ActionCommand command, DeploymentTarget deploymentTarget, ITaskLog taskLogForTarget, ITaskLog taskLogRoot, IActionHandlerResolver actionHandlerResolver, Action guidanceExcludeCallback, CancellationToken cancellationToken) in NewActionDispatcher.cs:line 127
| at Octopus.Server.Orchestration.ServerTasks.Deploy.PlannedStepControllers.ProcessStepController.<>c__DisplayClass8_2.<TryExecuteActionAndInitLoggingContext in ProcessStepController.cs:line 297
| at Octopus.Server.Orchestration.ServerTasks.Deploy.Guidance.ExecuteWithoutGuidance(Func`2 callback, String actionName, Boolean actionIsRequiredToRun, ITaskLog taskLog, CancellationToken cancellationToken) in Guidance.cs:line 148
| at Octopus.Server.Orchestration.ServerTasks.Deploy.Guidance.Execute(Func`2 callback, String actionName, Boolean actionIsRequiredToRun, ITaskLog taskLog, Action callbackOnExclude, CancellationToken cancellationToken) in Guidance.cs:line 78
| at Octopus.Server.Orchestration.ServerTasks.Deploy.PlannedStepControllers.ProcessStepController.<>c__DisplayClass8_1.<TryExecuteActionAndInitLoggingContext in ProcessStepController.cs:line 303
| at Octopus.Server.Orchestration.ServerTasks.Deploy.TransientErrorDetectionExecutor.Execute(Func`2 action, ExecutionPlan plan, ITaskLog taskLog, CancellationToken cancellationToken, DeploymentTarget deploymentTarget) in TransientErrorDetectionExecutor.cs:line 50
| at Octopus.Server.Orchestration.ServerTasks.Deploy.TransientErrorDetectionExecutor.Execute(Func`2 action, ExecutionPlan plan, ITaskLog taskLog, CancellationToken cancellationToken, DeploymentTarget deploymentTarget) in TransientErrorDetectionExecutor.cs:line 50
| at Octopus.Server.Orchestration.ServerTasks.Deploy.PlannedStepControllers.ProcessStepController.<>c__DisplayClass8_0.<TryExecuteActionAndInitLoggingContext in ProcessStepController.cs:line 308
| at Octopus.Server.Infrastructure.Orchestration.UnitsOfWork.UnitOfWorkExecutor.<>c__DisplayClass7_0`4.<Execute in UnitOfWorkExecutor.cs:line 124
| at Octopus.Core.Infrastructure.UnitsOfWork.UnitOfWorkExtensionMethods.Do(IUnitOfWork unitOfWork, Func`1 action, CancellationToken cancellationToken, String name) in UnitOfWorkExtensionMethods.cs:line 58
| at Octopus.Core.Infrastructure.UnitsOfWork.UnitOfWorkExtensionMethods.Do(IUnitOfWork unitOfWork, Func`1 action, CancellationToken cancellationToken, String name) in UnitOfWorkExtensionMethods.cs:line 58
| at Octopus.Server.Infrastructure.Orchestration.UnitsOfWork.UnitOfWorkExecutor.Execute[T1,T2,T3,T4](Func`6 action, CancellationToken cancellationToken, String name) in UnitOfWorkExecutor.cs:line 127
| at Octopus.Server.Infrastructure.Orchestration.UnitsOfWork.UnitOfWorkExecutor.Execute[T1,T2,T3,T4](Func`6 action, CancellationToken cancellationToken, String name) in UnitOfWorkExecutor.cs:line 127
| at Octopus.Server.Orchestration.ServerTasks.Deploy.PlannedStepControllers.ProcessStepController.TryExecuteActionAndInitLoggingContext(ExecutionPlan plan, ExecutionPlanner planner, PlannedStep step, DeploymentTarget targetContext, PlannedAction action, ITaskLog taskLogForTarget, ITaskLog taskLogRoot, CancellationToken cancellationToken) in ProcessStepController.cs:line 329
| --Inner Exception--
| Unable to read data from the transport connection: Connection timed out.
| System.IO.IOException
| at System.Net.Sockets.NetworkStream.Read(Span`1 buffer)
| at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](TIOAdapter adapter)
| at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](TIOAdapter adapter, Memory`1 buffer)
| at System.Net.Security.SslStream.Read(Byte[] buffer, Int32 offset, Int32 count)
| at Halibut.Transport.RewindableBufferStream.Read(Byte[] buffer, Int32 offset, Int32 count)
| at Halibut.Transport.Observability.ByteCountingStream.Read(Byte[] buffer, Int32 offset, Int32 count)
| at System.IO.Compression.DeflateStream.ReadCore(Span`1 buffer)
| at Halibut.Transport.Observability.ByteCountingStream.Read(Byte[] buffer, Int32 offset, Int32 count)
| at System.IO.BinaryReader.InternalRead(Int32 numBytes)
| at System.IO.BinaryReader.ReadInt32()
| at Newtonsoft.Json.Bson.BsonDataReader.ReadNormal()
| at Newtonsoft.Json.Bson.BsonDataReader.Read()
| at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)
| at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
| at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
| at Newtonsoft.Json.JsonSerializer.Deserialize[T](JsonReader reader)
| at Halibut.Transport.Protocol.MessageSerializer.DeserializeMessage[T](JsonReader reader)
| at Halibut.Transport.Protocol.MessageSerializer.ReadCompressedMessageRewindable[T](Stream stream, IRewindableBuffer rewindable)
| at Halibut.Transport.Protocol.MessageExchangeStream.Receive[T]()
| at Halibut.HalibutRuntime.<>c__DisplayClass53_0.<SendOutgoingHttpsRequest>b__0(MessageExchangeProtocol protocol)
| at Halibut.Transport.SecureListeningClient.ExecuteTransaction(ExchangeAction protocolHandler, CancellationToken cancellationToken)
| --Inner Exception--
| Connection timed out
| System.Net.Sockets.SocketException
| at System.Net.Sockets.NetworkStream.Read(Span`1 buffer)
22:35:59 Fatal | The action Build and Deploy on a Worker failed
|
| == Success: Release packages ==
22:35:59 Info | There are no packages to be released.
22:35:59 Verbose | Release Packages completed