|
@@ -68,6 +68,8 @@ import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeResourceUpdate
|
|
import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeStartedEvent;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeStartedEvent;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeStatusEvent;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeStatusEvent;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.rmnode.UpdatedContainerInfo;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.rmnode.UpdatedContainerInfo;
|
|
|
|
+import org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceScheduler;
|
|
|
|
+import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.YarnScheduler;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.YarnScheduler;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.NodeAddedSchedulerEvent;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.NodeAddedSchedulerEvent;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.NodeRemovedSchedulerEvent;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.NodeRemovedSchedulerEvent;
|
|
@@ -81,6 +83,7 @@ import org.junit.After;
|
|
import org.junit.Assert;
|
|
import org.junit.Assert;
|
|
import org.junit.Before;
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
import org.junit.Test;
|
|
|
|
+import org.mockito.ArgumentMatchers;
|
|
import org.mockito.Mockito;
|
|
import org.mockito.Mockito;
|
|
import org.mockito.invocation.InvocationOnMock;
|
|
import org.mockito.invocation.InvocationOnMock;
|
|
import org.mockito.stubbing.Answer;
|
|
import org.mockito.stubbing.Answer;
|
|
@@ -125,7 +128,7 @@ public class TestRMNodeTransitions {
|
|
rmContext =
|
|
rmContext =
|
|
new RMContextImpl(rmDispatcher, mock(ContainerAllocationExpirer.class),
|
|
new RMContextImpl(rmDispatcher, mock(ContainerAllocationExpirer.class),
|
|
null, null, mock(DelegationTokenRenewer.class), null, null, null,
|
|
null, null, mock(DelegationTokenRenewer.class), null, null, null,
|
|
- null, null);
|
|
|
|
|
|
+ null, getMockResourceScheduler());
|
|
NodesListManager nodesListManager = mock(NodesListManager.class);
|
|
NodesListManager nodesListManager = mock(NodesListManager.class);
|
|
HostsFileReader reader = mock(HostsFileReader.class);
|
|
HostsFileReader reader = mock(HostsFileReader.class);
|
|
when(nodesListManager.getHostsReader()).thenReturn(reader);
|
|
when(nodesListManager.getHostsReader()).thenReturn(reader);
|
|
@@ -193,6 +196,16 @@ public class TestRMNodeTransitions {
|
|
return event;
|
|
return event;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private ResourceScheduler getMockResourceScheduler() {
|
|
|
|
+ ResourceScheduler resourceScheduler = mock(ResourceScheduler.class);
|
|
|
|
+ SchedulerNode schedulerNode = mock(SchedulerNode.class);
|
|
|
|
+ when(schedulerNode.getCopiedListOfRunningContainers())
|
|
|
|
+ .thenReturn(Collections.emptyList());
|
|
|
|
+ when(resourceScheduler.getSchedulerNode(ArgumentMatchers.any()))
|
|
|
|
+ .thenReturn(schedulerNode);
|
|
|
|
+ return resourceScheduler;
|
|
|
|
+ }
|
|
|
|
+
|
|
private List<ApplicationId> getAppIdList() {
|
|
private List<ApplicationId> getAppIdList() {
|
|
List<ApplicationId> appIdList = new ArrayList<ApplicationId>();
|
|
List<ApplicationId> appIdList = new ArrayList<ApplicationId>();
|
|
appIdList.add(BuilderUtils.newApplicationId(0, 0));
|
|
appIdList.add(BuilderUtils.newApplicationId(0, 0));
|