Merged
Conversation
Contributor
|
Made some last minute changes, replaced the readme with a more readable one, and added some error handling for failure scenarios. |
Based on recommendations by Dave, i added a check for environment vars using the same format as Ansible. Also added the option to exclude one or more nodes from being evaluated, for cornercases where one of the nodes in a cluster should be dedicated to one task (e.g. single GPU node in cluster or Oracle licensing etc)
Contributor
|
Based on recommendations by Dave, i added a check for environment vars using the same format as Ansible. Also added the option to exclude one or more nodes from being evaluated, for corner cases where one of the nodes in a cluster should be dedicated to one task (e.g. single GPU node in cluster or Oracle licensing etc) |
Made all vars configurable through env vars.
When removing preferred node an error message appears on cluster because it does not know where to move it.
changed node_101 to node_1 to more clearly explain how the node_x should be formatted to work.
Fixed node affinity
Fixed an error where a node that is excluded will still be determined as the coolest node.
check for upgrade in progress when primary node down connect to others updated readme.md
Also cleaned up some comments that were there for debugging purposes.
Member
|
i've tested this and it works as expected for me @mrmcphail |
ddemlow
approved these changes
Nov 4, 2025
Member
ddemlow
left a comment
There was a problem hiding this comment.
tested latest commit - works as expected
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A script to load balance vm's across a cluster based on CPU, including anti affinity, and making sure a threshold can be set for maximum RAM consumption (defaults to 70% as per discussion with Jones.
Anti affinity can be created by tagging vm's that should not run on the same node with anti_[name_of_vm]
So if per example i have an SQL always-on cluster and want to make sure they stay separated i can tag them as follows:
server SQL01 would get a tag 'anti_SQL02' and server SQL02 would get a tag 'anti_SQL01'