Search in sources :

Example 26 with RMNode

use of org.ow2.proactive.resourcemanager.rmnode.RMNode in project scheduling by ow2-proactive.

the class NodesLockRestorationManagerTest method testLockNodeFails.

@Test
public void testLockNodeFails() {
    doReturn(new BooleanWrapper(false)).when(rmCore).lockNodes(anySetOf(String.class), eq(caller));
    verify(rmCore, never()).lockNodes(anySetOf(String.class), eq(caller));
    RMNode rmNode = RMNodeHelper.basicWithMockedInternals().getLeft();
    boolean lockResult = nodesLockRestorationManager.lockNode(rmNode, caller);
    assertThat(lockResult).isFalse();
    verify(rmCore).lockNodes(anySetOf(String.class), eq(caller));
}
Also used : BooleanWrapper(org.objectweb.proactive.core.util.wrapper.BooleanWrapper) RMNode(org.ow2.proactive.resourcemanager.rmnode.RMNode) Test(org.junit.Test)

Example 27 with RMNode

use of org.ow2.proactive.resourcemanager.rmnode.RMNode in project scheduling by ow2-proactive.

the class RMCoreTest method testGetNodeByUrlIncludingDeployingNodesKnownUrlDeployingNode.

@Test
public void testGetNodeByUrlIncludingDeployingNodesKnownUrlDeployingNode() {
    RMNode rmNodeFound = rmCore.getNodeByUrlIncludingDeployingNodes(mockedBusyNode.getNodeURL());
    assertThat(rmNodeFound).isSameAs(mockedBusyNode);
}
Also used : RMNode(org.ow2.proactive.resourcemanager.rmnode.RMNode) Test(org.junit.Test)

Example 28 with RMNode

use of org.ow2.proactive.resourcemanager.rmnode.RMNode in project scheduling by ow2-proactive.

the class RMCoreTest method populateRMCore.

/**
 * 6 nodes (same nodesource).
 */
private void populateRMCore() {
    when(mockedCaller.checkPermission(any(Permission.class), any(String.class))).thenReturn(true);
    when(mockedSelectionManager.selectNodes(any(Criteria.class), any(Client.class))).thenReturn(new NodeSet());
    nodeSources = new HashMap<String, NodeSource>(1);
    configureNodeSource(mockedNodeSource, "NODESOURCE-test");
    nodeSources.put(mockedNodeSource.getName(), mockedNodeSource);
    // MockedRMNodeParameters(String url, boolean isFree, boolean isDown, boolean isLocked, NodeSource nodeSource, RMNode rmNode)
    configureRMNode(new MockedRMNodeParameters("mockedRemovableNode", true, true, false, mockedNodeSource, "NODESOURCE-test", mockedRemovableNode));
    configureRMNode(new MockedRMNodeParameters("mockedUnremovableNode", false, true, false, mockedNodeSource, "NODESOURCE-test", mockedUnremovableNode));
    configureRMNode(new MockedRMNodeParameters(RMDeployingNode.PROTOCOL_ID + "://removableNode", true, true, false, mockedNodeSource, "NODESOURCE-test", mockedRemovableNodeInDeploy));
    configureRMNode(new MockedRMNodeParameters(RMDeployingNode.PROTOCOL_ID + "://unRemovableNode", false, false, false, mockedNodeSource, "NODESOURCE-test", mockedUnremovableNodeInDeploy));
    configureRMNode(new MockedRMNodeParameters("mockedBusyNode", false, false, true, mockedNodeSource, "NODESOURCE-test", mockedBusyNode));
    configureRMNode(new MockedRMNodeParameters("mockedFreeButLockedNode", true, false, true, mockedNodeSource, "NODESOURCE-test", mockedFreeButLockedNode));
    HashMap<String, RMNode> nodes = new HashMap<>(6);
    nodes.put(mockedRemovableNodeInDeploy.getNodeName(), mockedRemovableNodeInDeploy);
    nodes.put(mockedUnremovableNodeInDeploy.getNodeName(), mockedUnremovableNodeInDeploy);
    nodes.put(mockedRemovableNode.getNodeName(), mockedRemovableNode);
    nodes.put(mockedUnremovableNode.getNodeName(), mockedUnremovableNode);
    nodes.put(mockedBusyNode.getNodeName(), mockedBusyNode);
    nodes.put(mockedFreeButLockedNode.getNodeName(), mockedFreeButLockedNode);
    ArrayList<RMNode> freeNodes = new ArrayList<>(3);
    freeNodes.add(mockedRemovableNodeInDeploy);
    freeNodes.add(mockedRemovableNode);
    freeNodes.add(mockedFreeButLockedNode);
    rmCore = new RMCore(nodeSources, nodes, mockedCaller, mockedMonitoring, mockedSelectionManager, freeNodes, dbManager);
    rmCore.signalRMCoreIsInitialized();
    rmCore = spy(rmCore);
    nodesLockRestorationManager = new NodesLockRestorationManager(rmCore);
    nodesLockRestorationManager = spy(nodesLockRestorationManager);
    doReturn(new Function<RMCore, NodesRecoveryManager>() {

        @Override
        public NodesRecoveryManager apply(RMCore rmCore) {
            nodesRecoveryManager = new NodesRecoveryManager(rmCore);
            nodesRecoveryManager = spy(nodesRecoveryManager);
            return nodesRecoveryManager;
        }
    }).when(rmCore).getNodesRecoveryManagerBuilder();
    rmCore.initiateRecoveryIfRequired();
}
Also used : NodeSet(org.ow2.proactive.utils.NodeSet) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) Matchers.anyString(org.mockito.Matchers.anyString) Criteria(org.ow2.proactive.utils.Criteria) NodeSource(org.ow2.proactive.resourcemanager.nodesource.NodeSource) RMNode(org.ow2.proactive.resourcemanager.rmnode.RMNode) Permission(java.security.Permission) Client(org.ow2.proactive.resourcemanager.authentication.Client)

Example 29 with RMNode

use of org.ow2.proactive.resourcemanager.rmnode.RMNode in project scheduling by ow2-proactive.

the class RMCoreTest method configureNodeForStateChange.

private void configureNodeForStateChange(RMNode mockedRmNode, NodeState previousNodeState) {
    RMNodeEvent rmNodeEvent = createRmNodeEvent(previousNodeState);
    when(mockedRmNode.getLastEvent()).thenReturn(rmNodeEvent);
    when(mockedRmNode.getOwner()).thenReturn(new Client(null, false));
    RMCore.clients.put(mockedRmNode.getOwner().getId(), mockedRmNode.getOwner());
}
Also used : Client(org.ow2.proactive.resourcemanager.authentication.Client) RMNodeEvent(org.ow2.proactive.resourcemanager.common.event.RMNodeEvent)

Example 30 with RMNode

use of org.ow2.proactive.resourcemanager.rmnode.RMNode in project scheduling by ow2-proactive.

the class RMCoreTest method testSetNodesAvailableUnknownNodeUrl.

@Test
public void testSetNodesAvailableUnknownNodeUrl() throws ActiveObjectCreationException, NodeException {
    ImmutableMap<String, RMNode> allNodes = ImmutableMap.of(mockedBusyNode.getNodeURL(), mockedBusyNode);
    List<RMNode> freeNodes = Collections.emptyList();
    RMCore rmCore = createRmCore(allNodes, freeNodes);
    String unknownNodeUrl = mockedRemovableNode.getNodeURL();
    Set<String> unknownNodeUrls = rmCore.setNodesAvailable(ImmutableSet.of(unknownNodeUrl));
    assertThat(unknownNodeUrls).hasSize(1);
    assertThat(unknownNodeUrls).contains(unknownNodeUrl);
}
Also used : RMNode(org.ow2.proactive.resourcemanager.rmnode.RMNode) Matchers.anyString(org.mockito.Matchers.anyString) 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