Revision c2c1ef0c Ganeti/HTools/Node.hs
b/Ganeti/HTools/Node.hs | ||
---|---|---|
6 | 6 |
|
7 | 7 |
module Ganeti.HTools.Node |
8 | 8 |
( |
9 |
Node(failN1, idx, f_mem, f_dsk, p_mem, p_dsk, slist, plist, p_rem) |
|
9 |
Node(failN1, idx, f_mem, f_dsk, p_mem, p_dsk, slist, plist, |
|
10 |
p_rem, offline) |
|
10 | 11 |
-- * Constructor |
11 | 12 |
, create |
12 | 13 |
-- ** Finalization after data loading |
13 | 14 |
, buildPeers |
14 | 15 |
, setIdx |
16 |
, setOffline |
|
15 | 17 |
-- * Instance (re)location |
16 | 18 |
, removePri |
17 | 19 |
, removeSec |
... | ... | |
46 | 48 |
, p_mem :: Double -- ^ percent of free memory |
47 | 49 |
, p_dsk :: Double -- ^ percent of free disk |
48 | 50 |
, p_rem :: Double -- ^ percent of reserved memory |
51 |
, offline :: Bool -- ^ whether the node should not be used |
|
52 |
-- for allocations and skipped from |
|
53 |
-- score computations |
|
49 | 54 |
} deriving (Show) |
50 | 55 |
|
51 | 56 |
{- | Create a new node. |
... | ... | |
75 | 80 |
r_mem = 0, |
76 | 81 |
p_mem = (fromIntegral mem_f) / (fromIntegral mem_t), |
77 | 82 |
p_dsk = (fromIntegral dsk_f) / (fromIntegral dsk_t), |
78 |
p_rem = 0 |
|
83 |
p_rem = 0, |
|
84 |
offline = False |
|
79 | 85 |
} |
80 | 86 |
|
81 | 87 |
-- | Changes the index. |
... | ... | |
83 | 89 |
setIdx :: Node -> Int -> Node |
84 | 90 |
setIdx t i = t {idx = i} |
85 | 91 |
|
92 |
-- | Sets the offline attribute |
|
93 |
setOffline :: Node -> Bool -> Node |
|
94 |
setOffline t val = t { offline = val } |
|
95 |
|
|
86 | 96 |
-- | Given the rmem, free memory and disk, computes the failn1 status. |
87 | 97 |
computeFailN1 :: Int -> Int -> Int -> Bool |
88 | 98 |
computeFailN1 new_rmem new_mem new_dsk = |
Also available in: Unified diff