Revision c22d4dd4 htools/Ganeti/HTools/Text.hs
b/htools/Ganeti/HTools/Text.hs | ||
---|---|---|
128 | 128 |
-- | Generate policy data from a given policy object. |
129 | 129 |
serializeIPolicy :: String -> IPolicy -> String |
130 | 130 |
serializeIPolicy owner ipol = |
131 |
let IPolicy stdspec minspec maxspec dts vcpu_ratio = ipol |
|
131 |
let IPolicy stdspec minspec maxspec dts vcpu_ratio spindle_ratio = ipol
|
|
132 | 132 |
strings = [ owner |
133 | 133 |
, serializeISpec stdspec |
134 | 134 |
, serializeISpec minspec |
135 | 135 |
, serializeISpec maxspec |
136 | 136 |
, serializeDiskTemplates dts |
137 | 137 |
, show vcpu_ratio |
138 |
, show spindle_ratio |
|
138 | 139 |
] |
139 | 140 |
in intercalate "|" strings |
140 | 141 |
|
... | ... | |
236 | 237 |
|
237 | 238 |
-- | Loads an ipolicy from a field list. |
238 | 239 |
loadIPolicy :: [String] -> Result (String, IPolicy) |
239 |
loadIPolicy [owner, stdspec, minspec, maxspec, dtemplates, vcpu_ratio] = do |
|
240 |
loadIPolicy [owner, stdspec, minspec, maxspec, dtemplates, |
|
241 |
vcpu_ratio, spindle_ratio] = do |
|
240 | 242 |
xstdspec <- loadISpec (owner ++ "/stdspec") (commaSplit stdspec) |
241 | 243 |
xminspec <- loadISpec (owner ++ "/minspec") (commaSplit minspec) |
242 | 244 |
xmaxspec <- loadISpec (owner ++ "/maxspec") (commaSplit maxspec) |
243 | 245 |
xdts <- mapM diskTemplateFromRaw $ commaSplit dtemplates |
244 | 246 |
xvcpu_ratio <- tryRead (owner ++ "/vcpu_ratio") vcpu_ratio |
245 |
return $ (owner, IPolicy xstdspec xminspec xmaxspec xdts xvcpu_ratio) |
|
247 |
xspindle_ratio <- tryRead (owner ++ "/spindle_ratio") spindle_ratio |
|
248 |
return $ (owner, IPolicy xstdspec xminspec xmaxspec xdts |
|
249 |
xvcpu_ratio xspindle_ratio) |
|
246 | 250 |
loadIPolicy s = fail $ "Invalid ipolicy data: '" ++ show s ++ "'" |
247 | 251 |
|
248 | 252 |
loadOnePolicy :: (IPolicy, Group.List) -> String |
Also available in: Unified diff