We have a self-hosted HA setup in AWS. The server is installed in the user data of the ASG. This worked for the initial installation with 2 nodes/instances.
We are now in a situation where we wish to upgrade Octopus, I’m looking to redeploy our ASG with the latest LTS, But my concern is that each node will try and update the database as the instances come up and the user data is executed.
Does Octopus have any inbuilt guards to prevent this?
I’m glad you’d like to upgrade to the latest LTS.
In regards to the nodes coming back online and executing the data, you can select the Drain feature.
This will not allow any new Tasks to run on the server until you are happy with your upgrade.
There is some documentation which covers this for you which can be found below:
I hope this information has been useful to you.
If you have any concerns or further questions, please let me know.
Here are the actions:
The nodes will be drained.
The AWS ASG will be updated with new user data for the latest LTS install of Octopus.
When these new nodes come back up they will re-install Octopus and start the upgrade process by executing the steps in the user data from install to octopus.server.exe configuration.
My concern is that if I bring two nodes up, they will both start to perform the schema upgrade of the database and the shared folder migration.
I can control this by only bringing one node online initially and then expanding to two nodes post installation and upgrade, but it’s a smoother process for me if I can spin up the desired number of nodes (2), safe in the knowledge that Octopus will not perform two upgrades.
So my question is that if two nodes trying to perform the upgrade, is Octopus designed to handle this?
Thanks for the reply.
After reading the Documentation carefully it suggests you should upgrade one node at a time, to avoid any issues, so your best bet would be to do that: