Make accept-existing an algorithmic option
authorKlaus Aehlig <aehlig@google.com>
Tue, 1 Sep 2015 14:01:18 +0000 (16:01 +0200)
committerKlaus Aehlig <aehlig@google.com>
Thu, 3 Sep 2015 09:19:00 +0000 (11:19 +0200)
When checking global capacity, there is an algorithmic
difference on whether evacuation should also be tested
for initial violations (e.g., instances originally on
an offline node) or not. So provide an algorithmic
parameter for this, propagating the value of
the --accept-existing option.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Petr Pudlak <pudlak@google.com>

src/Ganeti/HTools/AlgorithmParams.hs

index 8531458..c49eed1 100644 (file)
@@ -54,6 +54,8 @@ data AlgorithmOptions = AlgorithmOptions
   , algCapacity :: Bool             -- ^ Whether to check capacity properties,
                                     -- like global N+1 redundancy
   , algRestrictToNodes :: Maybe [String] -- ^ nodes to restrict allocation to
+  , algAcceptExisting :: Bool       -- ^ accept existing violations in capacity
+                                    -- checks
   }
 
 -- | Obtain the relevant algorithmic option from the commandline options
@@ -68,6 +70,7 @@ fromCLIOptions opts = AlgorithmOptions
   , algMinGainLimit = CLI.optMinGainLim opts
   , algCapacity = CLI.optCapacity opts
   , algRestrictToNodes = CLI.optRestrictToNodes opts
+  , algAcceptExisting = CLI.optAcceptExisting opts
   }
 
 -- | Default options for the balancing algorithm