-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use a single command to upgrade nodes #94
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @sbruzzese902!
Just to be clear, what you are proposing is to run a single command for all nodes instead of one command for each node. And not a merging the two playbooks into one as the PR title may suggest, right?
I agree with you that when using the playbook manually this change could be handy, not so when you are upgrading the cluster with furyctl that runs the commands for you, so it is the same.
The only downside that I see with this change is that if in the future we would like to upgrade more than one node in parallel it won't be doable, correct? Or can the serial = 1 be modified when running the playbook somehow?
Have you checked if this change is compatible with furyctl upgrade proces? if yes, are any changes needed there?
Thanks!
Co-authored-by: Ramiro Algozino <[email protected]>
@ralgozino you're right, I've changed the PR title to be clearer 😄 As it is, the
and then at runtime, you can specify how many hosts you want to affect at the same time:
What do you think? The upgrade process won't be affected, because the old command still works in the same way.
|
I think that setting the serial value as a variable and having it default to one is better than hardcoding it. I'm not sure we will need to change it but, if it is as simple as that, having the possibility to upgrade more than one node in parallel could come handy in the future. Thank you for checking the furyctl side, it is good to know that we don't need to change anything over there :) @nutellinoit, what are your thoughts on the serial value variable? I'm personally OK with both situations, but I'm more inclined on having the option to change it easily in the future if it is a simple change. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm!
great job @sbruzzese902 <3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM as well for me, we should also see how to implement this using the distro and furyctl, since these are example playbooks only
Hi 👋
I propose to switch to a single playbook when upgrading control planes and workers.
Why?
This will allow you to choose how many nodes you want to upgrade without launching the
ansible-playbook
command multiple times. You will only need to adjust theserial
parameter, in case.For example, now if I want to upgrade 3 nodes node-a, node-b, and node-c I need to do the following (assuming that I don't want the 3 nodes to be offline at the same time):
With the proposed setup I would do this:
and the playbook would execute the tasks on the hosts, one by one, without the need for my interactions.