Search in sources :

Example 36 with RMNode

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");
}
Also used : Client(org.ow2.proactive.resourcemanager.authentication.Client) Before(org.junit.Before)

Example 37 with RMNode

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);
}
Also used : Client(org.ow2.proactive.resourcemanager.authentication.Client) Test(org.junit.Test)

Example 38 with RMNode

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());
}
Also used : TopologyManager(org.ow2.proactive.resourcemanager.selection.topology.TopologyManager) RMCore(org.ow2.proactive.resourcemanager.core.RMCore) NodeSet(org.ow2.proactive.utils.NodeSet) RMNode(org.ow2.proactive.resourcemanager.rmnode.RMNode) ArrayList(java.util.ArrayList) Criteria(org.ow2.proactive.utils.Criteria) Client(org.ow2.proactive.resourcemanager.authentication.Client) Subject(javax.security.auth.Subject) Test(org.junit.Test)

Example 39 with RMNode

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());
        }
    }
}
Also used : RMNode(org.ow2.proactive.resourcemanager.rmnode.RMNode) FileWriter(java.io.FileWriter) File(java.io.File) BufferedWriter(java.io.BufferedWriter) Test(org.junit.Test)

Example 40 with RMNode

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)));
    }
}
Also used : SelectionManager(org.ow2.proactive.resourcemanager.selection.SelectionManager) SelectionScript(org.ow2.proactive.scripting.SelectionScript) RMNode(org.ow2.proactive.resourcemanager.rmnode.RMNode) SelectionManagerTest(org.ow2.proactive.resourcemanager.selection.SelectionManagerTest) Test(org.junit.Test)

Aggregations

RMNode (org.ow2.proactive.resourcemanager.rmnode.RMNode)55 Test (org.junit.Test)27 Node (org.objectweb.proactive.core.node.Node)12 BooleanWrapper (org.objectweb.proactive.core.util.wrapper.BooleanWrapper)12 Client (org.ow2.proactive.resourcemanager.authentication.Client)12 SelectionScript (org.ow2.proactive.scripting.SelectionScript)12 ArrayList (java.util.ArrayList)11 RMDeployingNode (org.ow2.proactive.resourcemanager.rmnode.RMDeployingNode)11 LinkedList (java.util.LinkedList)10 RMNodeImpl (org.ow2.proactive.resourcemanager.rmnode.RMNodeImpl)10 SelectionManager (org.ow2.proactive.resourcemanager.selection.SelectionManager)8 NodeState (org.ow2.proactive.resourcemanager.common.NodeState)7 NodeSource (org.ow2.proactive.resourcemanager.nodesource.NodeSource)7 Permission (java.security.Permission)6 SelectionManagerTest (org.ow2.proactive.resourcemanager.selection.SelectionManagerTest)6 NodeSet (org.ow2.proactive.utils.NodeSet)6 HashMap (java.util.HashMap)5 HashSet (java.util.HashSet)5 MutableInteger (org.objectweb.proactive.core.util.MutableInteger)5 PrincipalPermission (org.ow2.proactive.permissions.PrincipalPermission)5