Upgrade Octopus Server step template - question about progress persistency

I’m using the Upgrade Octopus Server Step Template from the Community template library. I as far as I know the developers behind Octopus Deploy has no relation to it.

The template makes it a lot easier to upgrade Octopus Deploy as new updates pops up, but it has one caveat, whenever the server is restarted due to a new update has been installed, the Octopus service has to be restarted. When the server restarts, the connection to the Tentacle is disconnected and the release has “failed” or “timed out”, in addition to loosing whatever remaining progress reported from the Tentacle.

The situation might not be unique to the upgrade template, whenever the server is restarted and the tentacles are meanwhile trying to complete a release, the same thing will happen.

My question is; is it possible to add some sort of buffer to the tentacle which can contain the missing log data and report the data back to the server as soon as it is up again?

Hi Harald,

I contributed the original step version of the step template.

Yes, you are correct, the experience is less than ideal, and that is why it is a library step and not built in. We are planning on adding first class support. We recommend not running a server upgrade while other tasks are running.

We have had a crack at allowing server restarts, but the problem isn’t as simple as it first seems. The first is figuring out which connections need to be reestablished. The second is that we keep deployment state in memory. We would need to persist this (quite complicated) state and then figure out how to restart the process, and at which point in the process to restart it at.

If you haven’t already, I encourage you to vote for this feature on UserVoice: https://octopusdeploy.uservoice.com/forums/170787-general/suggestions/3033637-upgrade-of-octopusserver-through-octopus

Robert W