diff --git a/src/scheduler/src/pool/VirtualMachineXML.cc b/src/scheduler/src/pool/VirtualMachineXML.cc index 08c45314b0..3ef22c174c 100644 --- a/src/scheduler/src/pool/VirtualMachineXML.cc +++ b/src/scheduler/src/pool/VirtualMachineXML.cc @@ -73,15 +73,29 @@ void VirtualMachineXML::init_attributes() } } - result = ((*this)["/VM/USER_TEMPLATE/SCHED_REQUIREMENTS"]); + result = ((*this)["/VM/TEMPLATE/AUTOMATIC_REQUIREMENTS"]); if (result.size() > 0) { requirements = result[0]; } - else + + result = ((*this)["/VM/USER_TEMPLATE/SCHED_REQUIREMENTS"]); + + if (result.size() > 0) { - requirements = ""; + if ( !requirements.empty() ) + { + ostringstream oss; + + oss << requirements << " & ( " << result[0] << " )"; + + requirements = oss.str(); + } + else + { + requirements = result[0]; + } } result = ((*this)["/VM/HISTORY_RECORDS/HISTORY/HID"]); diff --git a/src/vm/VirtualMachine.cc b/src/vm/VirtualMachine.cc index 435b11d1ff..54c6f8a5cc 100644 --- a/src/vm/VirtualMachine.cc +++ b/src/vm/VirtualMachine.cc @@ -980,15 +980,7 @@ int VirtualMachine::automatic_requirements(string& error_str) oss.str(""); oss << "CLUSTER_ID = " << cluster_id; - user_obj_template->get("SCHED_REQUIREMENTS", requirements); - user_obj_template->erase("SCHED_REQUIREMENTS"); - - if ( !requirements.empty() ) - { - oss << " & ( " << requirements << " )"; - } - - user_obj_template->add("SCHED_REQUIREMENTS", oss.str()); + obj_template->add("AUTOMATIC_REQUIREMENTS", oss.str()); } return 0;