Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
itminedu
snf-ganeti
Commits
842e3764
Commit
842e3764
authored
May 25, 2009
by
Iustin Pop
Browse files
hail: cleanup unused options
parent
5e15f460
Changes
1
Hide whitespace changes
Inline
Side-by-side
hail.hs
View file @
842e3764
...
...
@@ -6,7 +6,7 @@ module Main (main) where
import
Data.List
import
Data.Function
import
Data.Maybe
(
isJust
,
fromJust
,
fromMaybe
)
import
Data.Maybe
(
isJust
,
fromJust
)
import
Monad
import
System
import
System.IO
...
...
@@ -25,86 +25,25 @@ import Ganeti.HTools.Types
-- | Command line options structure.
data
Options
=
Options
{
optShowNodes
::
Bool
-- ^ Whether to show node status
,
optShowCmds
::
Maybe
FilePath
-- ^ Whether to show the command list
,
optOneline
::
Bool
-- ^ Switch output to a single line
,
optNodef
::
FilePath
-- ^ Path to the nodes file
,
optNodeSet
::
Bool
-- ^ The nodes have been set by options
,
optInstf
::
FilePath
-- ^ Path to the instances file
,
optInstSet
::
Bool
-- ^ The insts have been set by options
,
optMaxLength
::
Int
-- ^ Stop after this many steps
,
optMaster
::
String
-- ^ Collect data from RAPI
,
optVerbose
::
Int
-- ^ Verbosity level
,
optOffline
::
[
String
]
-- ^ Names of offline nodes
,
optMinScore
::
Cluster
.
Score
-- ^ The minimum score we aim for
,
optShowVer
::
Bool
-- ^ Just show the program version
{
optShowVer
::
Bool
-- ^ Just show the program version
,
optShowHelp
::
Bool
-- ^ Just show the help
}
deriving
Show
instance
CLI
.
CLIOptions
Options
where
showVersion
=
optShowVer
showHelp
=
optShowHelp
-- | Default values for the command line options.
defaultOptions
::
Options
defaultOptions
=
Options
{
optShowNodes
=
False
,
optShowCmds
=
Nothing
,
optOneline
=
False
,
optNodef
=
"nodes"
,
optNodeSet
=
False
,
optInstf
=
"instances"
,
optInstSet
=
False
,
optMaxLength
=
-
1
,
optMaster
=
""
,
optVerbose
=
1
,
optOffline
=
[]
,
optMinScore
=
1e-9
,
optShowVer
=
False
{
optShowVer
=
False
,
optShowHelp
=
False
}
instance
CLI
.
CLIOptions
Options
where
showVersion
=
optShowVer
showHelp
=
optShowHelp
-- | Options list and functions
options
::
[
OptDescr
(
Options
->
Options
)]
options
=
[
Option
[
'p'
]
[
"print-nodes"
]
(
NoArg
(
\
opts
->
opts
{
optShowNodes
=
True
}))
"print the final node list"
,
Option
[
'C'
]
[
"print-commands"
]
(
OptArg
((
\
f
opts
->
opts
{
optShowCmds
=
Just
f
})
.
fromMaybe
"-"
)
"FILE"
)
"print the ganeti command list for reaching the solution,
\
\
if an argument is passed then write the commands to a file named
\
\
as such"
,
Option
[
'o'
]
[
"oneline"
]
(
NoArg
(
\
opts
->
opts
{
optOneline
=
True
}))
"print the ganeti command list for reaching the solution"
,
Option
[
'n'
]
[
"nodes"
]
(
ReqArg
(
\
f
opts
->
opts
{
optNodef
=
f
,
optNodeSet
=
True
})
"FILE"
)
"the node list FILE"
,
Option
[
'i'
]
[
"instances"
]
(
ReqArg
(
\
f
opts
->
opts
{
optInstf
=
f
,
optInstSet
=
True
})
"FILE"
)
"the instance list FILE"
,
Option
[
'm'
]
[
"master"
]
(
ReqArg
(
\
m
opts
->
opts
{
optMaster
=
m
})
"ADDRESS"
)
"collect data via RAPI at the given ADDRESS"
,
Option
[
'l'
]
[
"max-length"
]
(
ReqArg
(
\
i
opts
->
opts
{
optMaxLength
=
(
read
i
)
::
Int
})
"N"
)
"cap the solution at this many moves (useful for very unbalanced
\
\
clusters)"
,
Option
[
'v'
]
[
"verbose"
]
(
NoArg
(
\
opts
->
opts
{
optVerbose
=
(
optVerbose
opts
)
+
1
}))
"increase the verbosity level"
,
Option
[
'q'
]
[
"quiet"
]
(
NoArg
(
\
opts
->
opts
{
optVerbose
=
(
optVerbose
opts
)
-
1
}))
"decrease the verbosity level"
,
Option
[
'O'
]
[
"offline"
]
(
ReqArg
(
\
n
opts
->
opts
{
optOffline
=
n
:
optOffline
opts
})
"NODE"
)
" set node as offline"
,
Option
[
'e'
]
[
"min-score"
]
(
ReqArg
(
\
e
opts
->
opts
{
optMinScore
=
read
e
})
"EPSILON"
)
" mininum score to aim for"
,
Option
[
'V'
]
[
"version"
]
[
Option
[
'V'
]
[
"version"
]
(
NoArg
(
\
opts
->
opts
{
optShowVer
=
True
}))
"show the version of the program"
,
Option
[
'h'
]
[
"help"
]
...
...
@@ -192,8 +131,7 @@ processResults sols =
main
::
IO
()
main
=
do
cmd_args
<-
System
.
getArgs
(
opts
,
args
)
<-
CLI
.
parseOpts
cmd_args
"hail"
options
defaultOptions
(
_
,
args
)
<-
CLI
.
parseOpts
cmd_args
"hail"
options
defaultOptions
when
(
null
args
)
$
do
hPutStrLn
stderr
"Error: this program needs an input file."
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment