diff --git a/Ganeti/HTools/Text.hs b/Ganeti/HTools/Text.hs index cf990609bc2ffc7e1f1c8a6ff5f92f474d204519..e690a8295fe3e951c4270db49fd3e26ea58a1c86 100644 --- a/Ganeti/HTools/Text.hs +++ b/Ganeti/HTools/Text.hs @@ -54,7 +54,8 @@ import qualified Ganeti.HTools.Instance as Instance -- | Serialize a single group serializeGroup :: Group.Group -> String serializeGroup grp = - printf "%s|%s" (Group.name grp) (Group.uuid grp) + printf "%s|%s|%s" (Group.name grp) (Group.uuid grp) + (apolToString (Group.allocPolicy grp)) -- | Generate group file data from a group list serializeGroups :: Group.List -> String @@ -107,8 +108,9 @@ serializeCluster gl nl il ctags = -- | Load a group from a field list. loadGroup :: (Monad m) => [String] -> m (String, Group.Group) -loadGroup [name, gid] = - return $ (gid, Group.create name gid AllocPreferred) +loadGroup [name, gid, apol] = do + xapol <- apolFromString apol + return $ (gid, Group.create name gid xapol) loadGroup s = fail $ "Invalid/incomplete group data: '" ++ show s ++ "'"