Return-Path: X-Original-To: apmail-aurora-commits-archive@minotaur.apache.org Delivered-To: apmail-aurora-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 8B26410ECA for ; Wed, 3 Dec 2014 01:49:03 +0000 (UTC) Received: (qmail 72253 invoked by uid 500); 3 Dec 2014 01:49:03 -0000 Delivered-To: apmail-aurora-commits-archive@aurora.apache.org Received: (qmail 72218 invoked by uid 500); 3 Dec 2014 01:49:03 -0000 Mailing-List: contact commits-help@aurora.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@aurora.incubator.apache.org Delivered-To: mailing list commits@aurora.incubator.apache.org Received: (qmail 72209 invoked by uid 99); 3 Dec 2014 01:49:03 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Dec 2014 01:49:03 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO mail.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 03 Dec 2014 01:49:02 +0000 Received: (qmail 71557 invoked by uid 99); 3 Dec 2014 01:48:41 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Dec 2014 01:48:41 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id A8B9AA07135; Wed, 3 Dec 2014 01:48:41 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: wfarner@apache.org To: commits@aurora.incubator.apache.org Message-Id: <096a25e99d334c4d9550ecd77a9f23fd@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: incubator-aurora git commit: Prevent Aurora from creating tasks with 0 disk. Date: Wed, 3 Dec 2014 01:48:41 +0000 (UTC) X-Virus-Checked: Checked by ClamAV on apache.org Repository: incubator-aurora Updated Branches: refs/heads/master f9837dae8 -> 8959b4995 Prevent Aurora from creating tasks with 0 disk. Bugs closed: AURORA-956 Reviewed at https://reviews.apache.org/r/28621/ Project: http://git-wip-us.apache.org/repos/asf/incubator-aurora/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-aurora/commit/8959b499 Tree: http://git-wip-us.apache.org/repos/asf/incubator-aurora/tree/8959b499 Diff: http://git-wip-us.apache.org/repos/asf/incubator-aurora/diff/8959b499 Branch: refs/heads/master Commit: 8959b4995679c6d009d0fdf7a64e250ec33a3e0f Parents: f9837da Author: Zameer Manji Authored: Tue Dec 2 17:46:00 2014 -0800 Committer: Bill Farner Committed: Tue Dec 2 17:46:00 2014 -0800 ---------------------------------------------------------------------- .../scheduler/mesos/MesosTaskFactory.java | 7 ++++--- .../mesos/MesosTaskFactoryImplTest.java | 20 +++++++++++++++++--- 2 files changed, 21 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/8959b499/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java b/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java index e0332c0..5bf2830 100644 --- a/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java +++ b/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java @@ -93,17 +93,18 @@ public interface MesosTaskFactory { static final Resources MIN_THERMOS_RESOURCES = new Resources( 0.01, Amount.of(128L, Data.MB), - Amount.of(0L, Data.MB), + Amount.of(1L, Data.MB), 0); /** - * Minimum resources to allocate for a task. Mesos rejects tasks that have no CPU or no RAM. + * Minimum resources to allocate for a task. Mesos rejects tasks that have no CPU, no RAM, or + * no Disk. */ @VisibleForTesting static final Resources MIN_TASK_RESOURCES = new Resources( 0.01, Amount.of(1L, Data.MB), - Amount.of(0L, Data.MB), + Amount.of(1L, Data.MB), 0); /** http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/8959b499/src/test/java/org/apache/aurora/scheduler/mesos/MesosTaskFactoryImplTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/aurora/scheduler/mesos/MesosTaskFactoryImplTest.java b/src/test/java/org/apache/aurora/scheduler/mesos/MesosTaskFactoryImplTest.java index 22fb991..ddcb511 100644 --- a/src/test/java/org/apache/aurora/scheduler/mesos/MesosTaskFactoryImplTest.java +++ b/src/test/java/org/apache/aurora/scheduler/mesos/MesosTaskFactoryImplTest.java @@ -86,19 +86,24 @@ public class MesosTaskFactoryImplTest { taskFactory = new MesosTaskFactoryImpl(config); TaskInfo task = taskFactory.createFrom(TASK, SLAVE); assertEquals(DEFAULT_EXECUTOR, task.getExecutor()); + double taskCPU = config.getExecutorOverhead().getNumCpus() + TASK.getTask().getNumCpus() - MIN_THERMOS_RESOURCES.getNumCpus(); long taskRamMB = config.getExecutorOverhead().getRam().as(Data.MB) + TASK.getTask().getRamMb() - MIN_THERMOS_RESOURCES.getRam().as(Data.MB); + long taskDiskMB = config.getExecutorOverhead().getDisk().as(Data.MB) + + TASK.getTask().getDiskMb() + - MIN_THERMOS_RESOURCES.getDisk().as(Data.MB); assertTrue(taskCPU > 0.0); assertTrue(taskRamMB > 0); + assertTrue(taskDiskMB > 0); assertEquals(ImmutableSet.of( Resources.makeMesosResource(Resources.CPUS, taskCPU), - Resources.makeMesosResource(Resources.DISK_MB, TASK.getTask().getDiskMb()), + Resources.makeMesosResource(Resources.DISK_MB, taskDiskMB), Resources.makeMesosResource(Resources.RAM_MB, taskRamMB), Resources.makeMesosRangeResource( Resources.PORTS, @@ -121,14 +126,18 @@ public class MesosTaskFactoryImplTest { long taskRamMB = config.getExecutorOverhead().getRam().as(Data.MB) + TASK.getTask().getRamMb() - MIN_THERMOS_RESOURCES.getRam().as(Data.MB); + long taskDiskMB = config.getExecutorOverhead().getDisk().as(Data.MB) + + TASK.getTask().getDiskMb() + - MIN_THERMOS_RESOURCES.getDisk().as(Data.MB); assertTrue(taskCPU > 0.0); assertTrue(taskRamMB > 0); + assertTrue(taskDiskMB > 0); assertEquals(DEFAULT_EXECUTOR, task.getExecutor()); assertEquals(ImmutableSet.of( Resources.makeMesosResource(Resources.CPUS, taskCPU), - Resources.makeMesosResource(Resources.DISK_MB, TASK.getTask().getDiskMb()), + Resources.makeMesosResource(Resources.DISK_MB, taskDiskMB), Resources.makeMesosResource(Resources.RAM_MB, taskRamMB) ), ImmutableSet.copyOf(task.getResourcesList())); @@ -147,12 +156,17 @@ public class MesosTaskFactoryImplTest { + TASK.getTask().getNumCpus() - MIN_THERMOS_RESOURCES.getNumCpus(); + long taskDiskMB = config.getExecutorOverhead().getDisk().as(Data.MB) + + TASK.getTask().getDiskMb() + - MIN_THERMOS_RESOURCES.getDisk().as(Data.MB); + assertTrue(taskCPU > 0.0); + assertTrue(taskDiskMB > 0); assertEquals(ImmutableSet.of( Resources.makeMesosResource(Resources.CPUS, taskCPU), Resources.makeMesosResource(Resources.RAM_MB, MIN_TASK_RESOURCES.getRam().as(Data.MB)), - Resources.makeMesosResource(Resources.DISK_MB, TASK.getTask().getDiskMb()), + Resources.makeMesosResource(Resources.DISK_MB, taskDiskMB), Resources.makeMesosRangeResource( Resources.PORTS, ImmutableSet.copyOf(TASK.getAssignedPorts().values()))