Add a --dry-run option to htools
authorKlaus Aehlig <aehlig@google.com>
Wed, 2 Dec 2015 13:51:56 +0000 (14:51 +0100)
committerKlaus Aehlig <aehlig@google.com>
Mon, 7 Dec 2015 10:47:37 +0000 (11:47 +0100)
Add a new flag, --dry-run, to the available flags in htools.
It will be used for harep to allow diagnose-only runs.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Lisa Velden <velden@google.com>

src/Ganeti/HTools/CLI.hs

index bf291d7..7ca25d9 100644 (file)
@@ -56,6 +56,7 @@ module Ganeti.HTools.CLI
   , oDataFile
   , oDiskMoves
   , oDiskTemplate
+  , oDryRun
   , oSpindleUse
   , oDynuFile
   , oMonD
@@ -162,6 +163,7 @@ data Options = Options
   , optExInst      :: [String]       -- ^ Instances to be excluded
   , optExTags      :: Maybe [String] -- ^ Tags to use for exclusion
   , optExecJobs    :: Bool           -- ^ Execute the commands via Luxi
+  , optDryRun      :: Bool           -- ^ Only do a dry run
   , optFirstJobGroup :: Bool         -- ^ Only execute the first group of jobs
   , optForce       :: Bool           -- ^ Force the execution
   , optFullEvacuation :: Bool        -- ^ Fully evacuate nodes to be rebooted
@@ -233,6 +235,7 @@ defaultOptions  = Options
   , optExInst      = []
   , optExTags      = Nothing
   , optExecJobs    = False
+  , optDryRun      = False
   , optFirstJobGroup = False
   , optForce       = False
   , optFullEvacuation = False
@@ -476,6 +479,13 @@ oExecJobs =
    \ it for data gathering)",
    OptComplNone)
 
+oDryRun :: OptType
+oDryRun =
+  (Option "" ["dry-run"]
+   (NoArg (\ opts -> Ok opts { optDryRun = True}))
+   "do not execute any commands and just report what would be done",
+   OptComplNone)
+
 oReason :: OptType
 oReason =
   (Option "" ["reason"]