use of org.ow2.proactive.utils.NodeSet in project scheduling by ow2-proactive.
the class TestRMProxy method requestReleaseAllNodes.
private void requestReleaseAllNodes(RMProxy proxy, ResourceManager rm) throws Exception {
log("Request and release all nodes");
List<NodeSet> nodeSets = new ArrayList<>();
for (int i = 0; i < NODES_NUMBER; i++) {
nodeSets.add(proxy.getNodes(new Criteria(1)));
}
for (NodeSet nodeSet : nodeSets) {
waitWhenNodeSetAcquired(nodeSet, 1);
proxy.releaseNodes(nodeSet);
}
waitWhenNodesAreReleased(NODES_NUMBER);
assertEquals(NODES_NUMBER, rm.getState().getFreeNodesNumber());
}
use of org.ow2.proactive.utils.NodeSet in project scheduling by ow2-proactive.
the class TestRMProxy method testSplitNodeSet.
private void testSplitNodeSet(RMProxy proxy, ResourceManager rm) throws Exception {
log("Request as single NodeSet, release it as two NodeSets");
NodeSet nodeSet = proxy.getNodes(new Criteria(3));
waitWhenNodeSetAcquired(nodeSet, 3);
assertEquals(NODES_NUMBER - 3, rm.getState().getFreeNodesNumber());
NodeSet nodeSet1 = new NodeSet();
nodeSet1.add(nodeSet.remove(0));
NodeSet nodeSet2 = new NodeSet();
nodeSet2.add(nodeSet.remove(0));
nodeSet2.add(nodeSet.remove(0));
proxy.releaseNodes(nodeSet1);
waitWhenNodesAreReleased(1);
assertEquals(NODES_NUMBER - 2, rm.getState().getFreeNodesNumber());
proxy.releaseNodes(nodeSet2);
waitWhenNodesAreReleased(2);
assertEquals(NODES_NUMBER, rm.getState().getFreeNodesNumber());
}
use of org.ow2.proactive.utils.NodeSet in project scheduling by ow2-proactive.
the class SelectionManagerTest method testSelectNodesWith10Node.
@Test
public void testSelectNodesWith10Node() {
RMCore rmCore = newMockedRMCore(10);
SelectionManager selectionManager = createSelectionManager(rmCore);
Criteria crit = new Criteria(10);
crit.setTopology(TopologyDescriptor.ARBITRARY);
crit.setScripts(null);
crit.setBlackList(null);
crit.setBestEffort(true);
Client mockedClient = mock(Client.class);
NodeSet nodeSet = selectionManager.selectNodes(crit, mockedClient);
assertEquals(10, nodeSet.size());
}
use of org.ow2.proactive.utils.NodeSet 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.utils.NodeSet in project scheduling by ow2-proactive.
the class SelectionManagerTest method testSelectNodesWith1Node.
@Test
public void testSelectNodesWith1Node() {
RMCore rmCore = newMockedRMCore(1);
SelectionManager selectionManager = createSelectionManager(rmCore);
Criteria crit = new Criteria(1);
crit.setTopology(TopologyDescriptor.ARBITRARY);
crit.setScripts(null);
crit.setBlackList(null);
crit.setBestEffort(true);
Client mockedClient = mock(Client.class);
NodeSet nodeSet = selectionManager.selectNodes(crit, mockedClient);
assertEquals(1, nodeSet.size());
}
Aggregations