use of org.ow2.proactive.resourcemanager.rmnode.RMNode in project scheduling by ow2-proactive.
the class AbstractRMNodeTest method setUp.
@Before
public void setUp() {
client = new Client(null, false);
rmNode = new BasicRMNode("1");
}
use of org.ow2.proactive.resourcemanager.rmnode.RMNode in project scheduling by ow2-proactive.
the class AbstractRMNodeTest method testCopyLockStatusFromSameNode.
@Test
public void testCopyLockStatusFromSameNode() {
rmNode.lock(client);
assertThat(rmNode.isLocked()).isTrue();
boolean oldLockStatus = rmNode.isLocked();
Client oldLockedBy = rmNode.getLockedBy();
long oldLockTime = rmNode.getLockTime();
rmNode.copyLockStatusFrom(rmNode);
assertThat(rmNode.isLocked()).isEqualTo(oldLockStatus);
assertThat(rmNode.getLockedBy()).isEqualTo(oldLockedBy);
assertThat(rmNode.getLockTime()).isEqualTo(oldLockTime);
}
use of org.ow2.proactive.resourcemanager.rmnode.RMNode in project scheduling by ow2-proactive.
the class SelectionManagerTest method selectWithDifferentPermissions.
@Test
public void selectWithDifferentPermissions() throws Exception {
PAResourceManagerProperties.RM_SELECTION_MAX_THREAD_NUMBER.updateProperty("10");
System.out.println("PAResourceManagerProperties.RM_SELECTION_MAX_THREAD_NUMBER=" + PAResourceManagerProperties.RM_SELECTION_MAX_THREAD_NUMBER);
System.setSecurityManager(securityManagerRejectingUser());
RMCore.topologyManager = mock(TopologyManager.class);
RMCore rmCore = mock(RMCore.class);
when(RMCore.topologyManager.getHandler(Matchers.<TopologyDescriptor>any())).thenReturn(selectAllTopology());
SelectionManager selectionManager = createSelectionManager(rmCore);
ArrayList<RMNode> freeNodes = new ArrayList<>();
freeNodes.add(createMockedNode("admin"));
freeNodes.add(createMockedNode("user"));
when(rmCore.getFreeNodes()).thenReturn(freeNodes);
Criteria criteria = new Criteria(2);
criteria.setTopology(TopologyDescriptor.ARBITRARY);
Subject subject = Subjects.create("admin");
NodeSet nodes = selectionManager.selectNodes(criteria, new Client(subject, false));
assertEquals(1, nodes.size());
}
use of org.ow2.proactive.resourcemanager.rmnode.RMNode in project scheduling by ow2-proactive.
the class TestNodeSourcePolicy method action.
@Test
public void action() throws Exception {
/**
* Creating a config with ns names 0, 1, 2, 3, ... 9
*/
File config = tmpFolder.newFile("policies");
BufferedWriter out = new BufferedWriter(new FileWriter(config));
for (int i = 0; i < 10; i++) {
out.write(i + "\n");
}
out.close();
System.setProperty(NodeSourcePriorityPolicy.CONFIG_NAME_PROPERTY, config.getAbsolutePath());
NodeSourcePriorityPolicy policy = new NodeSourcePriorityPolicy();
// checking the arrangement of all nodes
List<RMNode> nodes = createNodes();
List<RMNode> res = policy.arrangeNodes(1000, nodes, null);
assertEquals("Incorrect result size", 400, res.size());
Iterator<RMNode> iterator = res.iterator();
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 20; j++) {
RMNode node = iterator.next();
assertEquals("Incorrect arrangenemt (" + i + ", " + j + ")", String.valueOf(i), node.getNodeName());
}
}
}
use of org.ow2.proactive.resourcemanager.rmnode.RMNode in project scheduling by ow2-proactive.
the class ProbabilisticSelectionManagerTest method testIncreasingProbabilityDynamic.
@Test
public void testIncreasingProbabilityDynamic() 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 increase the probability for each node, lowest node has the min number of true results
for (int j = 0; j < i + 1; j++) {
selectionManager.processScriptResult(script, Collections.EMPTY_MAP, new ScriptResult<>(true), freeNodes.get(i));
}
}
List<RMNode> arrangedNodes = selectionManager.arrangeNodesForScriptExecution(freeNodes, Collections.singletonList(script), Collections.EMPTY_MAP);
// 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)));
}
}
Aggregations