I am in the process of planning to move my on-prem octopus server into AWS and just had a couple of questions.
I’m going to be doing this in a phased approached and where the first phase is to move the physical on prem SQL database into a AWS SQL RDS. After then, update the connection strings in my current octopus server.
The question I had is while building the automated scripts to do this if as a test, I backup the database restore it to RDS and create a new instance of Octopus Server will that in any way mess up my current production environment? I will not be deploying from there or anything like that I just want to make sure that everything works how it should before doing that live in production.
I just want to confirm that by pointing a new instance of octopus to a copy of the production database won’t break our current setup.
Thanks for getting in touch! It sounds like you’re taking a good approach: moving your Octopus Server into a new network zone normally means you’ll end up missing some network security setting and block something from working.
To answer your primary question: Yes, hooking up Octopus.Server.exe to a database make it come alive (insert dramatic old style movie voice). Things like health checks, auto deployment triggers, subscriptions - they will all kick in and start trying to do things. I say trying since Octopus Server will try and connect to any Tentacle + SSH agents you have hooked up.
So, if all of you are confident your test server won’t kick off any deployments, and you intend to overwrite the test database when you finally make the cutover - you should be fine.
One trick you can do before taking your backup is to put the server in Maintenance Mode (good idea anyhow) and set each of your Ocotpus Server nodes to “Drain Tasks”. This will put your Octopus Server cluster into a state where it won’t start running any new tasks, like deployments, even if they are enqueued for some reason.
Hope that helps!
Great. Thank you for the information.
I have one additional question. Is there a way to put the octopus server into Maintenance mode via the command line?
Hi, thanks for keeping in touch! You can use the
Octopus.Server.exe node command to set the current node to drain tasks, but there is no command-line equivalent to put the cluster into “read-only mode” (known as Maintenance Mode). You can however call the HTTP API from the command-line using an API key. Depending on your needs this might be suitable.
Hope that helps!