Revision 6402a260 Ganeti/HTools/Rapi.hs
b/Ganeti/HTools/Rapi.hs | ||
---|---|---|
34 | 34 |
import Data.List |
35 | 35 |
import Control.Monad |
36 | 36 |
import Text.JSON (JSObject, JSValue, fromJSObject, decodeStrict) |
37 |
import Text.JSON.Types (JSValue(..)) |
|
37 | 38 |
import Text.Printf (printf) |
38 | 39 |
|
39 | 40 |
import Ganeti.HTools.Utils |
... | ... | |
78 | 79 |
-> Result (String, Instance.Instance) |
79 | 80 |
parseInstance ktn a = do |
80 | 81 |
name <- tryFromObj "Parsing new instance" a "name" |
81 |
let extract s x = tryFromObj ("Instance '" ++ name ++ "'") x s |
|
82 |
let owner_name = "Instance '" ++ name ++ "'" |
|
83 |
let extract s x = tryFromObj owner_name x s |
|
82 | 84 |
disk <- extract "disk_usage" a |
83 | 85 |
beparams <- liftM fromJSObject (extract "beparams" a) |
84 |
mem <- extract "memory" beparams |
|
86 |
omem <- extract "oper_ram" a |
|
87 |
mem <- (case omem of |
|
88 |
JSRational _ _ -> annotateResult owner_name (fromJVal omem) |
|
89 |
_ -> extract "memory" beparams) |
|
85 | 90 |
vcpus <- extract "vcpus" beparams |
86 | 91 |
pnode <- extract "pnode" a >>= lookupNode ktn name |
87 | 92 |
snodes <- extract "snodes" a |
Also available in: Unified diff