module Ganeti.HTools.ExtLoader
( loadExternalData
+ , Loader.commonSuffix
) where
import Data.Maybe (isJust, fromJust)
-- | External tool data loader from a variety of sources.
loadExternalData :: Options
- -> IO (Node.List, Instance.List, [String], String)
+ -> IO (Node.List, Instance.List, [String])
loadExternalData opts = do
let mhost = optMaster opts
lsock = optLuxi opts
exTags = case optExTags opts of
Nothing -> []
Just etl -> map (++ ":") etl
+ exInsts = optExInst opts
when (length allSet > 1) $
do
| setFile -> wrapIO $ Text.loadData $ fromJust tfile
| otherwise -> return $ Bad "No backend selected! Exiting."
- let ldresult = input_data >>= Loader.mergeData util_data' exTags
- (loaded_nl, il, tags, csf) <-
+ let ldresult = input_data >>= Loader.mergeData util_data' exTags exInsts
+ (loaded_nl, il, tags) <-
(case ldresult of
Ok x -> return x
Bad s -> do
hPrintf stderr "Error: failed to load data. Details:\n%s\n" s
+ :: IO ()
exitWith $ ExitFailure 1
)
let (fix_msgs, fixed_nl) = Loader.checkData loaded_nl il
hPutStrLn stderr "Warning: cluster has inconsistent data:"
hPutStrLn stderr . unlines . map (printf " - %s") $ fix_msgs
- return (fixed_nl, il, tags, csf)
+ return (fixed_nl, il, tags)