Revision 6402a260
b/Ganeti/HTools/Luxi.hs | ||
---|---|---|
70 | 70 |
let nnames = JSArray [] |
71 | 71 |
fnames = ["name", |
72 | 72 |
"disk_usage", "be/memory", "be/vcpus", |
73 |
"status", "pnode", "snodes", "tags"] |
|
73 |
"status", "pnode", "snodes", "tags", "oper_ram"]
|
|
74 | 74 |
fields = JSArray $ map (JSString . toJSString) fnames |
75 | 75 |
use_locking = JSBool False |
76 | 76 |
in JSArray [nnames, fields, use_locking] |
... | ... | |
101 | 101 |
-> JSValue |
102 | 102 |
-> Result (String, Instance.Instance) |
103 | 103 |
parseInstance ktn (JSArray [ name, disk, mem, vcpus |
104 |
, status, pnode, snodes, tags ]) = do |
|
104 |
, status, pnode, snodes, tags, oram ]) = do
|
|
105 | 105 |
xname <- annotateResult "Parsing new instance" (fromJVal name) |
106 | 106 |
let convert v = annotateResult ("Instance '" ++ xname ++ "'") (fromJVal v) |
107 | 107 |
xdisk <- convert disk |
108 |
xmem <- convert mem |
|
108 |
xmem <- (case oram of |
|
109 |
JSRational _ _ -> convert oram |
|
110 |
_ -> convert mem) |
|
109 | 111 |
xvcpus <- convert vcpus |
110 | 112 |
xpnode <- convert pnode >>= lookupNode ktn xname |
111 | 113 |
xsnodes <- convert snodes::Result [JSString] |
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