You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aurora.apache.org by ma...@apache.org on 2016/05/06 18:22:21 UTC
aurora git commit: Changing ResourceMapper interface arg type
Repository: aurora
Updated Branches:
refs/heads/master f25a4b108 -> d702587d2
Changing ResourceMapper interface arg type
Reviewed at https://reviews.apache.org/r/47076/
Project: http://git-wip-us.apache.org/repos/asf/aurora/repo
Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/d702587d
Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/d702587d
Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/d702587d
Branch: refs/heads/master
Commit: d702587d29744e86b206cc5fb4b775600b980646
Parents: f25a4b1
Author: Maxim Khutornenko <ma...@apache.org>
Authored: Fri May 6 11:22:05 2016 -0700
Committer: Maxim Khutornenko <ma...@apache.org>
Committed: Fri May 6 11:22:05 2016 -0700
----------------------------------------------------------------------
.../scheduler/resources/ResourceManager.java | 5 +++--
.../scheduler/resources/ResourceMapper.java | 16 +++++++-------
.../aurora/scheduler/state/StateManager.java | 3 +--
.../scheduler/state/StateManagerImpl.java | 4 ++--
.../aurora/scheduler/state/TaskAssigner.java | 5 ++---
.../scheduler/resources/PortMapperTest.java | 22 ++++++++++----------
.../resources/ResourceManagerTest.java | 10 ++++-----
.../scheduler/state/StateManagerImplTest.java | 7 ++-----
.../scheduler/state/TaskAssignerImplTest.java | 11 ++++++----
9 files changed, 41 insertions(+), 42 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aurora/blob/d702587d/src/main/java/org/apache/aurora/scheduler/resources/ResourceManager.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/resources/ResourceManager.java b/src/main/java/org/apache/aurora/scheduler/resources/ResourceManager.java
index 1b88fc3..943e8a4 100644
--- a/src/main/java/org/apache/aurora/scheduler/resources/ResourceManager.java
+++ b/src/main/java/org/apache/aurora/scheduler/resources/ResourceManager.java
@@ -20,6 +20,7 @@ import java.util.stream.StreamSupport;
import com.google.common.collect.Iterables;
+import org.apache.aurora.scheduler.storage.entities.IAssignedTask;
import org.apache.aurora.scheduler.storage.entities.IResource;
import org.apache.aurora.scheduler.storage.entities.IScheduledTask;
import org.apache.aurora.scheduler.storage.entities.ITaskConfig;
@@ -75,8 +76,8 @@ public final class ResourceManager {
* @param task Task to get resource types from.
* @return Set of {@link ResourceType} instances representing task resources.
*/
- public static Set<ResourceType> getTaskResourceTypes(IScheduledTask task) {
- return EnumSet.copyOf(task.getAssignedTask().getTask().getResources().stream()
+ public static Set<ResourceType> getTaskResourceTypes(IAssignedTask task) {
+ return EnumSet.copyOf(task.getTask().getResources().stream()
.map(r -> fromResource(r))
.collect(Collectors.toSet()));
}
http://git-wip-us.apache.org/repos/asf/aurora/blob/d702587d/src/main/java/org/apache/aurora/scheduler/resources/ResourceMapper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/resources/ResourceMapper.java b/src/main/java/org/apache/aurora/scheduler/resources/ResourceMapper.java
index c06ce8d..c8e11a4 100644
--- a/src/main/java/org/apache/aurora/scheduler/resources/ResourceMapper.java
+++ b/src/main/java/org/apache/aurora/scheduler/resources/ResourceMapper.java
@@ -23,8 +23,8 @@ import com.google.common.collect.ContiguousSet;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Range;
-import org.apache.aurora.gen.ScheduledTask;
-import org.apache.aurora.scheduler.storage.entities.IScheduledTask;
+import org.apache.aurora.gen.AssignedTask;
+import org.apache.aurora.scheduler.storage.entities.IAssignedTask;
import org.apache.mesos.Protos.Offer;
import static java.util.stream.StreamSupport.stream;
@@ -46,13 +46,13 @@ public interface ResourceMapper {
* @param task Task with requested resources.
* @return A new task with updated mapping.
*/
- IScheduledTask mapAndAssign(Offer offer, IScheduledTask task);
+ IAssignedTask mapAndAssign(Offer offer, IAssignedTask task);
PortMapper PORT_MAPPER = new PortMapper();
class PortMapper implements ResourceMapper {
@Override
- public IScheduledTask mapAndAssign(Offer offer, IScheduledTask task) {
+ public IAssignedTask mapAndAssign(Offer offer, IAssignedTask task) {
List<Integer> availablePorts =
stream(ResourceManager.getOfferResources(offer, PORTS).spliterator(), false)
.flatMap(resource -> resource.getRanges().getRangeList().stream())
@@ -64,7 +64,7 @@ public interface ResourceMapper {
Collections.shuffle(availablePorts);
List<String> requestedPorts =
- stream(ResourceManager.getTaskResources(task, PORTS).spliterator(), false)
+ stream(ResourceManager.getTaskResources(task.getTask(), PORTS).spliterator(), false)
.map(e -> e.getNamedPort())
.collect(Collectors.toList());
@@ -76,9 +76,9 @@ public interface ResourceMapper {
Map<String, Integer> portMap =
requestedPorts.stream().collect(Collectors.toMap(key -> key, value -> ports.next()));
- ScheduledTask builder = task.newBuilder();
- builder.getAssignedTask().setAssignedPorts(ImmutableMap.copyOf(portMap));
- return IScheduledTask.build(builder);
+ AssignedTask builder = task.newBuilder();
+ builder.setAssignedPorts(ImmutableMap.copyOf(portMap));
+ return IAssignedTask.build(builder);
}
}
}
http://git-wip-us.apache.org/repos/asf/aurora/blob/d702587d/src/main/java/org/apache/aurora/scheduler/state/StateManager.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/state/StateManager.java b/src/main/java/org/apache/aurora/scheduler/state/StateManager.java
index 66bfd72..d395104 100644
--- a/src/main/java/org/apache/aurora/scheduler/state/StateManager.java
+++ b/src/main/java/org/apache/aurora/scheduler/state/StateManager.java
@@ -20,7 +20,6 @@ import com.google.common.base.Optional;
import org.apache.aurora.gen.ScheduleStatus;
import org.apache.aurora.scheduler.storage.entities.IAssignedTask;
-import org.apache.aurora.scheduler.storage.entities.IScheduledTask;
import org.apache.aurora.scheduler.storage.entities.ITaskConfig;
import org.apache.mesos.Protos.SlaveID;
@@ -71,7 +70,7 @@ public interface StateManager {
String taskId,
String slaveHost,
SlaveID slaveId,
- Function<IScheduledTask, IScheduledTask> resourceAssigner);
+ Function<IAssignedTask, IAssignedTask> resourceAssigner);
/**
* Inserts pending instances using {@code task} as their configuration. Tasks will immediately
http://git-wip-us.apache.org/repos/asf/aurora/blob/d702587d/src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java b/src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java
index 2b4fac1..ffa9481 100644
--- a/src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java
+++ b/src/main/java/org/apache/aurora/scheduler/state/StateManagerImpl.java
@@ -165,7 +165,7 @@ public class StateManagerImpl implements StateManager {
String taskId,
String slaveHost,
SlaveID slaveId,
- Function<IScheduledTask, IScheduledTask> resourceAssigner) {
+ Function<IAssignedTask, IAssignedTask> resourceAssigner) {
checkNotBlank(taskId);
checkNotBlank(slaveHost);
@@ -174,8 +174,8 @@ public class StateManagerImpl implements StateManager {
IScheduledTask mutated = storeProvider.getUnsafeTaskStore().mutateTask(taskId,
task -> {
- task = resourceAssigner.apply(task);
ScheduledTask builder = task.newBuilder();
+ builder.setAssignedTask(resourceAssigner.apply(task.getAssignedTask()).newBuilder());
builder.getAssignedTask()
.setSlaveHost(slaveHost)
.setSlaveId(slaveId.getValue());
http://git-wip-us.apache.org/repos/asf/aurora/blob/d702587d/src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java b/src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java
index 1a3886f..b6e43d7 100644
--- a/src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java
+++ b/src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java
@@ -39,7 +39,6 @@ import org.apache.aurora.scheduler.resources.ResourceManager;
import org.apache.aurora.scheduler.resources.ResourceType;
import org.apache.aurora.scheduler.resources.Resources;
import org.apache.aurora.scheduler.storage.entities.IAssignedTask;
-import org.apache.aurora.scheduler.storage.entities.IScheduledTask;
import org.apache.mesos.Protos.TaskInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -104,8 +103,8 @@ public interface TaskAssigner {
}
@VisibleForTesting
- IScheduledTask mapAndAssignResources(Offer offer, IScheduledTask task) {
- IScheduledTask assigned = task;
+ IAssignedTask mapAndAssignResources(Offer offer, IAssignedTask task) {
+ IAssignedTask assigned = task;
for (ResourceType type : ResourceManager.getTaskResourceTypes(assigned)) {
if (type.getMapper().isPresent()) {
assigned = type.getMapper().get().mapAndAssign(offer, assigned);
http://git-wip-us.apache.org/repos/asf/aurora/blob/d702587d/src/test/java/org/apache/aurora/scheduler/resources/PortMapperTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/aurora/scheduler/resources/PortMapperTest.java b/src/test/java/org/apache/aurora/scheduler/resources/PortMapperTest.java
index c94f7a9..244c9de 100644
--- a/src/test/java/org/apache/aurora/scheduler/resources/PortMapperTest.java
+++ b/src/test/java/org/apache/aurora/scheduler/resources/PortMapperTest.java
@@ -13,8 +13,8 @@
*/
package org.apache.aurora.scheduler.resources;
-import org.apache.aurora.gen.ScheduledTask;
-import org.apache.aurora.scheduler.storage.entities.IScheduledTask;
+import org.apache.aurora.gen.AssignedTask;
+import org.apache.aurora.scheduler.storage.entities.IAssignedTask;
import org.apache.mesos.Protos;
import org.junit.Test;
@@ -29,17 +29,17 @@ import static org.junit.Assert.assertEquals;
public class PortMapperTest {
@Test
public void testAssignNoPorts() {
- ScheduledTask builder = makeTask("id", JOB).newBuilder();
- builder.getAssignedTask().getTask().unsetResources();
- builder.getAssignedTask().unsetAssignedPorts();
- IScheduledTask task = IScheduledTask.build(builder);
+ AssignedTask builder = makeTask("id", JOB).newBuilder().getAssignedTask();
+ builder.getTask().unsetResources();
+ builder.unsetAssignedPorts();
+ IAssignedTask task = IAssignedTask.build(builder);
assertEquals(task, PORT_MAPPER.mapAndAssign(offer(), task));
}
@Test(expected = IllegalStateException.class)
public void testPortRangeScarcity() {
- PORT_MAPPER.mapAndAssign(offer(), makeTask("id", JOB));
+ PORT_MAPPER.mapAndAssign(offer(), makeTask("id", JOB).getAssignedTask());
}
@Test
@@ -47,8 +47,8 @@ public class PortMapperTest {
Protos.Offer offer = offer(mesosRange(PORTS, 1, 2, 3, 4, 5));
assertEquals(
1,
- PORT_MAPPER.mapAndAssign(offer, makeTask("id", JOB))
- .getAssignedTask().getAssignedPorts().size());
+ PORT_MAPPER.mapAndAssign(offer, makeTask("id", JOB).getAssignedTask())
+ .getAssignedPorts().size());
}
@Test
@@ -56,7 +56,7 @@ public class PortMapperTest {
Protos.Offer offer = offer(mesosRange(PORTS, 1));
assertEquals(
1,
- PORT_MAPPER.mapAndAssign(offer, makeTask("id", JOB))
- .getAssignedTask().getAssignedPorts().size());
+ PORT_MAPPER.mapAndAssign(offer, makeTask("id", JOB).getAssignedTask())
+ .getAssignedPorts().size());
}
}
http://git-wip-us.apache.org/repos/asf/aurora/blob/d702587d/src/test/java/org/apache/aurora/scheduler/resources/ResourceManagerTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/aurora/scheduler/resources/ResourceManagerTest.java b/src/test/java/org/apache/aurora/scheduler/resources/ResourceManagerTest.java
index c53a21d..914e553 100644
--- a/src/test/java/org/apache/aurora/scheduler/resources/ResourceManagerTest.java
+++ b/src/test/java/org/apache/aurora/scheduler/resources/ResourceManagerTest.java
@@ -19,9 +19,9 @@ import java.util.Set;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
-import org.apache.aurora.gen.ScheduledTask;
+import org.apache.aurora.gen.AssignedTask;
+import org.apache.aurora.scheduler.storage.entities.IAssignedTask;
import org.apache.aurora.scheduler.storage.entities.IResource;
-import org.apache.aurora.scheduler.storage.entities.IScheduledTask;
import org.apache.mesos.Protos;
import org.apache.mesos.Protos.Offer;
import org.apache.mesos.Protos.Value.Scalar;
@@ -82,12 +82,12 @@ public class ResourceManagerTest {
@Test
public void testGetTaskResourceTypes() {
- ScheduledTask builder = makeTask("id", JOB).newBuilder();
- builder.getAssignedTask().getTask().addToResources(namedPort("health"));
+ AssignedTask builder = makeTask("id", JOB).newBuilder().getAssignedTask();
+ builder.getTask().addToResources(namedPort("health"));
assertEquals(
EnumSet.allOf(ResourceType.class),
- ResourceManager.getTaskResourceTypes(IScheduledTask.build(builder)));
+ ResourceManager.getTaskResourceTypes(IAssignedTask.build(builder)));
}
@Test
http://git-wip-us.apache.org/repos/asf/aurora/blob/d702587d/src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java b/src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java
index 2370178..fbcc400 100644
--- a/src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java
+++ b/src/test/java/org/apache/aurora/scheduler/state/StateManagerImplTest.java
@@ -52,6 +52,7 @@ import org.apache.aurora.scheduler.storage.AttributeStore;
import org.apache.aurora.scheduler.storage.Storage;
import org.apache.aurora.scheduler.storage.Storage.MutateWork.NoResult;
import org.apache.aurora.scheduler.storage.db.DbUtil;
+import org.apache.aurora.scheduler.storage.entities.IAssignedTask;
import org.apache.aurora.scheduler.storage.entities.IHostAttributes;
import org.apache.aurora.scheduler.storage.entities.IScheduledTask;
import org.apache.aurora.scheduler.storage.entities.ITaskConfig;
@@ -564,10 +565,6 @@ public class StateManagerImplTest extends EasyMockTest {
taskId,
host.getHost(),
SlaveID.newBuilder().setValue(host.getSlaveId()).build(),
- e -> {
- ScheduledTask builder = e.newBuilder();
- builder.getAssignedTask().setAssignedPorts(ports);
- return IScheduledTask.build(builder);
- }));
+ e -> IAssignedTask.build(e.newBuilder().setAssignedPorts(ports))));
}
}
http://git-wip-us.apache.org/repos/asf/aurora/blob/d702587d/src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java b/src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java
index ca10323..81baa78 100644
--- a/src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java
+++ b/src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java
@@ -20,9 +20,9 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import org.apache.aurora.common.testing.easymock.EasyMockTest;
+import org.apache.aurora.gen.AssignedTask;
import org.apache.aurora.gen.HostAttributes;
import org.apache.aurora.gen.JobKey;
-import org.apache.aurora.gen.ScheduledTask;
import org.apache.aurora.gen.TaskConfig;
import org.apache.aurora.scheduler.HostOffer;
import org.apache.aurora.scheduler.TierManager;
@@ -36,6 +36,7 @@ import org.apache.aurora.scheduler.mesos.MesosTaskFactory;
import org.apache.aurora.scheduler.offers.OfferManager;
import org.apache.aurora.scheduler.resources.Resources;
import org.apache.aurora.scheduler.state.TaskAssigner.TaskAssignerImpl;
+import org.apache.aurora.scheduler.storage.entities.IAssignedTask;
import org.apache.aurora.scheduler.storage.entities.IHostAttributes;
import org.apache.aurora.scheduler.storage.entities.IScheduledTask;
import org.apache.aurora.scheduler.storage.entities.ITaskConfig;
@@ -293,12 +294,14 @@ public class TaskAssignerImplTest extends EasyMockTest {
@Test
public void testResourceMapperCallback() {
- ScheduledTask builder = TASK.newBuilder();
- builder.getAssignedTask().unsetAssignedPorts();
+ AssignedTask builder = TASK.newBuilder().getAssignedTask();
+ builder.unsetAssignedPorts();
control.replay();
- assertEquals(TASK, assigner.mapAndAssignResources(MESOS_OFFER, IScheduledTask.build(builder)));
+ assertEquals(
+ TASK.getAssignedTask(),
+ assigner.mapAndAssignResources(MESOS_OFFER, IAssignedTask.build(builder)));
}
private void expectAssignTask(Offer offer) {