Octopus Deploy - Introducing Hydra

Excited about the release of Octopus 3.0? We are!

Ready to download the MSI and double-click?

Well not so fast!

Unlike the previous upgrades, Octopus 3.0 is a Tentacle First upgrade. That means you'll need to upgrade all your Tentacles before you upgrade your Server.

But why?

As you may have read in some previous blog posts, we've changed the way the Server and the Tentacles communicate. The end result is faster deployments across a broader range of Deployment Targets.

But it also means that an Octopus 3.0 Server can't communicate with 2.6 Tentacles and vice versa.

Unfortunately, that means we can't do an automatic update like we have in the past. If we did, we couldn't check the result because a successful update means the tentacle is now speaking another language.

So... I have to run an MSI on all my Tentacle machines before upgrading?

Yes!

We recommend doing it before you upgrade so if there are any problems, you can reinstall the 2.6 Tentacle and you still have a Server you can use.

But I have hundreds of Tentacles!

Never fear! We built a tool to help. It's called Hydra and we built it just in case the thought of RDP-ing into all of your servers to click Next, Next, Next through an MSI makes you nauseous.

Hydra (named for the cutting-off-and-growing-back-its-heads thing and our love of sea creatures) is a package that you can deploy to your Tentacles via Octopus which will do three main things:

  1. Stop any Tentacle services that are running
  2. Run the MSI to upgrade them to Octopus 3.0
  3. Start any Tentacle services that were running when we started
We also wrap all this up in a scheduled task so it runs after your upgrade deployment finishes.

Think of it like sending a poison pill to your target machines. After one minute, it kills the Tentacle and a new one grows back. Simple.

How do I do it?

There are two parts to Hydra. The Hydra nuget package itself, and a step template that knows what to do with it.

We've written detailed instructions for your 2.6 -> 3.0 upgrade in our documentation pages. It has links to the resources you'll need as well as a walkthrough with plenty of screenshots.

We strongly recommend you use new hardware (or virtual hardware) and install a fresh 3.0 instance. That way you'll have a 2.6 Server alongside a 3.0 Server so at least one of them should be able to communicate with your Tentacles. You should see the Health Checks start to fail from your 2.6 Server, and see them light up on your 3.0 Server.

As always, support is here to help, but make sure you read through the documentation before starting to avoid any issues!

Good luck, and happy deployments!

Damian Brady

I'm an Australian developer, speaker, and author specialising in DevOps, MLOps, developer process, and software architecture. I love Azure DevOps, GitHub Actions, and reducing process waste.

--