Revision c2c1ef0c

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