-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Fix node scaleup plays #6784
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
Fix node scaleup plays #6784
Conversation
Currently, users have no way to run preqrequisites.yml on just newly added nodes during scaleup. This commit ensures only the new nodes are changed during scaleup as well as ensure prerequisites are run.
b923aa2 to
6646d02
Compare
|
Latest patch set yields really good results. I deployed 1 master + 1 node initially; Then I ran scaleup against two new does. Here are the task counts on the scaleup play: |
mtnbikenc
left a comment
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.
I've not run a test build but the changes look good.
/lgtm
|
This also needs to include |
|
I am a bit concerned that node scaleup calls prerequisites. To my knowledge, one must run prereqs first before running a playbook since it doesn't happen with deploy-cluster or master scaleup. |
I thought about this a good deal. The issue is, prerequisites.yml runs against several host groups; having the user call prerequisites.yml without a properly constructed inventory could lead to undesired changes. We would need to create a scaleup_prerequisites.yml to check that new_nodes is defined in inventory and only execute against those. |
os_firewall role is called during prerequisites.yml |
|
If this is how it works for node scaleup, how does master scale up work since it too is a node? For now we have been creating the inventory the way it needs to look and then run prereq with a --limit to target the instances since we have seen all be run instead of what we care about. |
It appears that we can implement similar logic to this in the scaleup play for masters. At that time, any additional masters and nodes would be configured; If you're adding both nodes and masters, just run the master scaleup play. If you're adding just nodes, run the node scaleup play.
There are many ways to accomplish things in ansible. Advanced users could easily construct an inventory on the fly and use the --limit switch to achieve the desired behavior. Unfortunately, not everyone that interacts with openshift-ansible is an advanced ansible user, so we have to make our plays as accommodating as possible for a wide variety of use cases. I am open to suggestion on this topic, but we need to try to keep the work flow as simple as possible. |
|
/test install |
Allow playbooks/openshift-master/scaleup.yml to call prerequisites.yml at the proper time. Related-to: openshift#6784
|
/test all [submit-queue is verifying that this PR is safe to merge] |
Allow playbooks/openshift-master/scaleup.yml to call prerequisites.yml at the proper time. Related-to: openshift#6784
Allow playbooks/openshift-master/scaleup.yml to call prerequisites.yml at the proper time. Related-to: openshift#6784
|
@michaelgugino: The following tests failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
Automatic merge from submit-queue. Fix master scaleup This commit builds off #6784 Enables openshift-master/scaleup.yml to call prerequisites.yml as required. Also modifies some failure conditions around how scaleup plays are called to ensure inventories are better aligned with playbook behavior.
Allow playbooks/openshift-master/scaleup.yml to call prerequisites.yml at the proper time. Related-to: openshift#6784
Currently, users have no way to run preqrequisites.yml
on just newly added nodes during scaleup.
This commit ensures only the new nodes are changed during
scaleup as well as ensure prerequisites are run.