Github user revans2 commented on a diff in the pull request: https://github.com/apache/storm/pull/2419#discussion_r151700529 --- Diff: storm-server/src/test/java/org/apache/storm/scheduler/resource/strategies/scheduling/TestGenericResourceAwareStrategy.java --- @@ -187,16 +199,21 @@ public void testGenericResourceAwareStrategy() { rs.prepare(conf); rs.schedule(topologies, cluster); + //We need to have 3 slots on 3 separate hosts to make the GPU situation work + HashSet<HashSet<ExecutorDetails>> expectedScheduling = new HashSet<>(); - expectedScheduling.add(new HashSet<>(Arrays.asList(new ExecutorDetails(0, 0)))); //Spout + expectedScheduling.add(new HashSet<>(Arrays.asList(new ExecutorDetails(3, 3)))); //bolt-3 - 500 MB, 50% CPU, 2 GPU --- End diff -- This test was also wrong because it was not taking the GPUs into account. That is why I called out all of the resources in the comments for the scheduling. bolt-3 requires 2 GPUs. Each node has 2 GPUs on it. Having 2 instances of a bolt-3 on the same node, which is what the scheduling was before, would go over the GPU count for the node.
---