diff --git a/src/scheduler/src/pool/VirtualMachineXML.cc b/src/scheduler/src/pool/VirtualMachineXML.cc index 8681ede717..82e15ea93f 100644 --- a/src/scheduler/src/pool/VirtualMachineXML.cc +++ b/src/scheduler/src/pool/VirtualMachineXML.cc @@ -21,6 +21,7 @@ #include "DatastorePoolXML.h" #include "NebulaUtil.h" #include "History.h" +#include "RankScheduler.h" void VirtualMachineXML::init_attributes() { @@ -347,6 +348,12 @@ void VirtualMachineXML::init_storage_usage() } } + float factor = Scheduler::getInstance().get_mem_factor(); + if (this->memory > 0 && factor >= 0) + { + system_ds_usage += this->memory * factor; + } + for (int i = 0; i < num ; i++) { delete disks[i]; @@ -358,7 +365,7 @@ void VirtualMachineXML::init_storage_usage() void VirtualMachineXML::log(const string &st) { - if (user_template == 0 || st.empty()) + if ( user_template == 0 || st.empty()) { return; } diff --git a/src/scheduler/src/sched/Scheduler.cc b/src/scheduler/src/sched/Scheduler.cc index 44d7afa3aa..26724710e3 100644 --- a/src/scheduler/src/sched/Scheduler.cc +++ b/src/scheduler/src/sched/Scheduler.cc @@ -155,6 +155,8 @@ void Scheduler::start() conf.get("LIVE_RESCHEDS", live_rescheds); + conf.get("FACTOR", factor); + // ----------------------------------------------------------- // Log system & Configuration File // ----------------------------------------------------------- diff --git a/src/scheduler/src/sched/SchedulerTemplate.cc b/src/scheduler/src/sched/SchedulerTemplate.cc index 5bdf45db68..c6d75ba105 100644 --- a/src/scheduler/src/sched/SchedulerTemplate.cc +++ b/src/scheduler/src/sched/SchedulerTemplate.cc @@ -109,6 +109,12 @@ void SchedulerTemplate::set_conf_default() vattribute = new VectorAttribute("DEFAULT_DS_SCHED",vvalue); conf_default.insert(make_pair(vattribute->name(),vattribute)); + //FACTOR + value = "0"; + + attribute = new SingleAttribute("FACTOR",value); + conf_default.insert(make_pair(attribute->name(),attribute)); + //LOG CONFIGURATION vvalue.clear(); vvalue.insert(make_pair("SYSTEM","file"));