diff --git a/Ganeti/HTools/Cluster.hs b/Ganeti/HTools/Cluster.hs index 9a94d0b0a2cb42d569407cd14df60d52f45e1afe..ffdb8763c4a6789b243489c152ceae139efd4ba2 100644 --- a/Ganeti/HTools/Cluster.hs +++ b/Ganeti/HTools/Cluster.hs @@ -185,6 +185,7 @@ detailedCVNames = [ "free_mem_cv" , "mem_load_cv" , "disk_load_cv" , "net_load_cv" + , "pri_tags_score" ] -- | Compute the mem and disk covariance. @@ -225,9 +226,13 @@ compDetailedCV nl = DynUtil c2 m2 d2 n2 = Node.utilPool n in (c1/c2, m1/m2, d1/d2, n1/n2) ) nodes + -- metric: conflicting instance count + pri_tags_inst = sum $ map Node.conflictingPrimaries nodes + pri_tags_score = fromIntegral pri_tags_inst::Double in [ mem_cv, dsk_cv, n1_score, res_cv, off_score, cpu_cv , varianceCoeff c_load, varianceCoeff m_load - , varianceCoeff d_load, varianceCoeff n_load] + , varianceCoeff d_load, varianceCoeff n_load + , pri_tags_score ] -- | Compute the /total/ variance. compCV :: Node.List -> Double