As per our design, the maintenance daemon will also
take care of keeping the cluster balanced, taking dynamic
load information into account. As this new feature
results in user-visible changes, it is opt-in.
Klaus Aehlig (17):
fix typo
Fix doc string
Move logAndBad to the general util module
MaintD: Log the actual error at higher debug level
Extend maintenance configuration by balancing
Extend OpClusterSetParams to allow setting auto-balancing
Add WConfD functions to set balance flag and threshold
Make LUClusterSetParams honor maint_balance{,threshold}
Add --auto-balance options to gnt-cluster modify
Add a get function for balancing parameters
Export more functions from the MonD backend
Provide an empty CPUAvgload
Move utility functions for parsing luxi answers out of htools
Extend AlgorithmOptions by allowed nodes
Make tryBalance honor algAllowedNodes
Add auto-balancing to the maintenance daemon
Document the --auto-balance-{cluster, threshold} options
Makefile.am | 1 +
lib/cli_opts.py | 12 ++
lib/client/gnt_cluster.py | 6 +-
lib/cmdlib/cluster/__init__.py | 6 +
lib/config/__init__.py | 10 ++
lib/objects.py | 3 +-
man/gnt-cluster.rst | 9 ++
src/Ganeti/Cpu/Types.hs | 9 ++
src/Ganeti/HTools/AlgorithmParams.hs | 5 +
src/Ganeti/HTools/Backend/Luxi.hs | 49 +-----
src/Ganeti/HTools/Backend/MonD.hs | 7 +
src/Ganeti/HTools/Cluster.hs | 11 +-
src/Ganeti/Luxi.hs | 40 +++++
src/Ganeti/MaintD/Autorepairs.hs | 10 +-
src/Ganeti/MaintD/Balance.hs | 250 +++++++++++++++++++++++++++++++
src/Ganeti/MaintD/Server.hs | 18 ++-
src/Ganeti/Objects/Maintenance.hs | 3 +
src/Ganeti/OpCodes.hs | 2 +
src/Ganeti/OpParams.hs | 14 ++
src/Ganeti/Query/Server.hs | 4 +
src/Ganeti/Utils.hs | 7 +
src/Ganeti/WConfd/ConfigModifications.hs | 23 +++
src/Ganeti/WConfd/Core.hs | 7 +
test/hs/Test/Ganeti/Objects.hs | 2 +
test/hs/Test/Ganeti/OpCodes.hs | 2 +
25 files changed, 452 insertions(+), 58 deletions(-)
create mode 100644 src/Ganeti/MaintD/Balance.hs
--
2.4.3.573.g4eafbef