Revision 9cded5d3
b/Ganeti/HTools/Cluster.hs | ||
---|---|---|
788 | 788 |
in sum . map Instance.mem . |
789 | 789 |
map rfind $ Node.plist node |
790 | 790 |
|
791 |
-- | Compute the amount of disk used by instances on a node (either primary |
|
792 |
-- or secondary). |
|
793 |
nodeIdsk :: Node.Node -> InstanceList -> Int |
|
794 |
nodeIdsk node il = |
|
795 |
let rfind = flip Container.find $ il |
|
796 |
in sum . map Instance.dsk . |
|
797 |
map rfind $ (Node.plist node) ++ (Node.slist node) |
|
798 |
|
|
791 | 799 |
|
792 | 800 |
-- | Check cluster data for consistency |
793 | 801 |
checkData :: NodeList -> InstanceList -> NameList -> NameList |
... | ... | |
804 | 812 |
- (Node.f_mem node) |
805 | 813 |
- (nodeImem node il) |
806 | 814 |
+ adj_mem |
815 |
delta_dsk = (truncate $ Node.t_dsk node) |
|
816 |
- (Node.f_dsk node) |
|
817 |
- (nodeIdsk node il) |
|
807 | 818 |
newn = Node.setFmem (Node.setXmem node delta_mem) |
808 | 819 |
(Node.f_mem node - adj_mem) |
809 |
umsg = if delta_mem > 16
|
|
810 |
then (printf "node %s has %6d MB of unaccounted \
|
|
811 |
\memory "
|
|
812 |
nname delta_mem):msgs
|
|
813 |
else msgs
|
|
814 |
in (umsg, newn)
|
|
820 |
umsg1 = if delta_mem > 16 || delta_dsk > 1024
|
|
821 |
then [printf "node %s is missing %d MB ram \
|
|
822 |
\and %d GB disk"
|
|
823 |
nname delta_mem (delta_dsk `div` 1024)]
|
|
824 |
else []
|
|
825 |
in (msgs ++ umsg1, newn)
|
|
815 | 826 |
) [] nl |
Also available in: Unified diff