use of org.ow2.proactive.resourcemanager.selection.SelectionManager in project scheduling by ow2-proactive.
the class SelectionManagerTest method testSelectNodesWithNoNodes.
@Test
public void testSelectNodesWithNoNodes() {
RMCore rmCore = newMockedRMCore(0);
SelectionManager selectionManager = createSelectionManager(rmCore);
Criteria crit = new Criteria(1);
crit.setTopology(TopologyDescriptor.ARBITRARY);
crit.setScripts(null);
crit.setBlackList(null);
crit.setBestEffort(false);
NodeSet nodeSet = selectionManager.selectNodes(crit, null);
assertEquals(0, nodeSet.size());
}
use of org.ow2.proactive.resourcemanager.selection.SelectionManager in project scheduling by ow2-proactive.
the class SelectionManagerTest method testRunScriptsWillNotBeCalled.
@Test
public void testRunScriptsWillNotBeCalled() {
RMCore rmCore = newMockedRMCore(2);
SelectionManager selectionManager = createSelectionManager(rmCore);
Criteria crit = new Criteria(2);
crit.setTopology(TopologyDescriptor.SINGLE_HOST);
SelectionScript selectWhatever = new SelectionScript();
crit.setScripts(Lists.newArrayList(selectWhatever));
crit.setBlackList(null);
crit.setBestEffort(false);
Client mockedClient = mock(Client.class);
selectionManager.selectNodes(crit, mockedClient);
verify(rmCore, never()).setBusyNode(anyString(), any(Client.class));
}
use of org.ow2.proactive.resourcemanager.selection.SelectionManager in project scheduling by ow2-proactive.
the class ProbabilisticSelectionManagerTest method testSelectNodesWithNoNodes.
@Test
public void testSelectNodesWithNoNodes() {
RMCore rmCore = SelectionManagerTest.newMockedRMCore();
SelectionManager selectionManager = new ProbablisticSelectionManager(rmCore);
Criteria crit = new Criteria(1);
crit.setTopology(TopologyDescriptor.ARBITRARY);
crit.setScripts(null);
crit.setBlackList(null);
crit.setBestEffort(false);
NodeSet nodeSet = selectionManager.selectNodes(crit, null);
assertEquals(0, nodeSet.size());
}
use of org.ow2.proactive.resourcemanager.selection.SelectionManager in project scheduling by ow2-proactive.
the class ProbabilisticSelectionManagerTest method testDecreasingProbabilityDynamicScriptWithDynamicityStorage.
@Test
public void testDecreasingProbabilityDynamicScriptWithDynamicityStorage() throws Exception {
int nbNodes = 10;
SelectionScript script = new SelectionScript("test", "groovy", true);
ManagerObjects managerObjects = new ManagerObjects(nbNodes).invoke();
SelectionManager selectionManager = managerObjects.getSelectionManager();
ArrayList<RMNode> freeNodes = managerObjects.getFreeNodes();
for (int i = 0; i < nbNodes; i++) {
// we decrease the probability for each node, lowest node has the max number of false results
for (int j = i; j < nbNodes; j++) {
selectionManager.processScriptResult(script, Collections.EMPTY_MAP, new ScriptResult<>(false), freeNodes.get(i));
}
}
List<RMNode> arrangedNodes = selectionManager.arrangeNodesForScriptExecution(freeNodes, Collections.singletonList(script), Collections.EMPTY_MAP);
// list is supposed to be empty because of dynamicity != 0
Assert.assertEquals(0, arrangedNodes.size());
}
use of org.ow2.proactive.resourcemanager.selection.SelectionManager in project scheduling by ow2-proactive.
the class ProbabilisticSelectionManagerTest method testDecreasingProbabilityDynamicScriptWithoutDynamicityStorage.
@Test
public void testDecreasingProbabilityDynamicScriptWithoutDynamicityStorage() throws Exception {
int nbNodes = 10;
PAResourceManagerProperties.RM_SELECT_SCRIPT_NODE_DYNAMICITY.updateProperty("0");
try {
SelectionScript script = new SelectionScript("test", "groovy", true);
ManagerObjects managerObjects = new ManagerObjects(nbNodes).invoke();
SelectionManager selectionManager = managerObjects.getSelectionManager();
ArrayList<RMNode> freeNodes = managerObjects.getFreeNodes();
for (int i = 0; i < nbNodes; i++) {
// we decrease the probability for each node, lowest node has the max number of false results
for (int j = i; j < nbNodes; j++) {
selectionManager.processScriptResult(script, Collections.EMPTY_MAP, new ScriptResult<>(false), freeNodes.get(i));
}
}
List<RMNode> arrangedNodes = selectionManager.arrangeNodesForScriptExecution(freeNodes, Collections.singletonList(script), Collections.EMPTY_MAP);
// list is supposed to contain all nodes because of dynamicity == 0
Assert.assertEquals(freeNodes.size(), arrangedNodes.size());
// nodes are expected to be sorted in reverse order
for (int i = 0; i < nbNodes; i++) {
Assert.assertEquals("mocked-node-" + (nbNodes - i), arrangedNodes.get(i).getNodeName());
Assert.assertFalse(selectionManager.isPassed(script, Collections.EMPTY_MAP, arrangedNodes.get(i)));
}
} finally {
PAResourceManagerProperties.RM_SELECT_SCRIPT_NODE_DYNAMICITY.updateProperty("300000");
}
}
Aggregations