diff --git a/src/Ganeti/Daemon.hs b/src/Ganeti/Daemon.hs index 8aeab028db710f6ef579fd1157a516f8d9c3b51e..71ea260ce63d7d531bf69c97f88447d4edc1d5e8 100644 --- a/src/Ganeti/Daemon.hs +++ b/src/Ganeti/Daemon.hs @@ -39,6 +39,8 @@ module Ganeti.Daemon , oBindAddress , oSyslogUsage , oForceNode + , oNoVoting + , oYesDoIt , parseArgs , parseAddress , cleanupSocket @@ -102,6 +104,8 @@ data DaemonOptions = DaemonOptions , optBindAddress :: Maybe String -- ^ Override for the bind address , optSyslogUsage :: Maybe SyslogUsage -- ^ Override for Syslog usage , optForceNode :: Bool -- ^ Ignore node checks + , optNoVoting :: Bool -- ^ skip voting for master + , optYesDoIt :: Bool -- ^ force dangerous options } -- | Default values for the command line options. @@ -117,6 +121,8 @@ defaultOptions = DaemonOptions , optBindAddress = Nothing , optSyslogUsage = Nothing , optForceNode = False + , optNoVoting = False + , optYesDoIt = False } instance StandardOptions DaemonOptions where @@ -196,6 +202,20 @@ oForceNode = "Force the daemon to run on a different node than the master", OptComplNone) +oNoVoting :: OptType +oNoVoting = + (Option "" ["no-voting"] + (NoArg (\ opts -> Ok opts { optNoVoting = True })) + "Skip node agreement check (dangerous)", + OptComplNone) + +oYesDoIt :: OptType +oYesDoIt = + (Option "" ["yes-do-it"] + (NoArg (\ opts -> Ok opts { optYesDoIt = True })) + "Force a dangerous operation", + OptComplNone) + -- | Generic options. genericOpts :: [OptType] genericOpts = [ oShowHelp