Repository: aurora Updated Branches: refs/heads/master 284f40f5e -> de8b37549
Moved `HostOffer` to `offers` package Small refactor, I think it fits better here as opposed to the top-level package. Reviewed at https://reviews.apache.org/r/64190/ Project: http://git-wip-us.apache.org/repos/asf/aurora/repo Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/de8b3754 Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/de8b3754 Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/de8b3754 Branch: refs/heads/master Commit: de8b37549fa42bdc1f3a968d9be79c4899d77e3f Parents: 284f40f Author: Jordan Ly <jordan....@gmail.com> Authored: Thu Nov 30 23:30:34 2017 +0100 Committer: Stephan Erb <s...@apache.org> Committed: Thu Nov 30 23:30:34 2017 +0100 ---------------------------------------------------------------------- .../org/apache/aurora/benchmark/Offers.java | 2 +- .../aurora/benchmark/SchedulingBenchmarks.java | 2 +- .../benchmark/fakes/FakeOfferManager.java | 2 +- .../org/apache/aurora/scheduler/HostOffer.java | 115 ------------------- .../scheduler/filter/SchedulingFilter.java | 2 +- .../scheduler/mesos/MesosCallbackHandler.java | 2 +- .../aurora/scheduler/offers/HostOffer.java | 115 +++++++++++++++++++ .../aurora/scheduler/offers/HostOffers.java | 1 - .../aurora/scheduler/offers/OfferManager.java | 1 - .../scheduler/offers/OfferManagerImpl.java | 1 - .../scheduler/offers/OfferManagerModule.java | 1 - .../scheduler/offers/OfferOrderBuilder.java | 1 - .../aurora/scheduler/offers/OfferSettings.java | 1 - .../preemptor/PendingTaskProcessor.java | 2 +- .../preemptor/PreemptionVictimFilter.java | 2 +- .../scheduling/FirstFitOfferSelector.java | 2 +- .../scheduler/scheduling/OfferSelector.java | 2 +- .../scheduler/scheduling/TaskAssignerImpl.java | 2 +- .../scheduler/stats/AsyncStatsModule.java | 2 +- .../apache/aurora/scheduler/HostOfferTest.java | 1 + .../aurora/scheduler/http/OffersTest.java | 2 +- .../mesos/MesosCallbackHandlerTest.java | 2 +- .../scheduler/offers/OfferManagerImplTest.java | 1 - .../preemptor/PendingTaskProcessorTest.java | 2 +- .../preemptor/PreemptionVictimFilterTest.java | 2 +- .../scheduler/preemptor/PreemptorImplTest.java | 2 +- .../scheduling/FirstFitOfferSelectorTest.java | 2 +- .../scheduling/TaskAssignerImplTest.java | 2 +- .../scheduler/stats/AsyncStatsModuleTest.java | 2 +- 29 files changed, 135 insertions(+), 141 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/jmh/java/org/apache/aurora/benchmark/Offers.java ---------------------------------------------------------------------- diff --git a/src/jmh/java/org/apache/aurora/benchmark/Offers.java b/src/jmh/java/org/apache/aurora/benchmark/Offers.java index 2fcc804..a8c80c8 100644 --- a/src/jmh/java/org/apache/aurora/benchmark/Offers.java +++ b/src/jmh/java/org/apache/aurora/benchmark/Offers.java @@ -22,8 +22,8 @@ import com.google.common.collect.Iterables; import org.apache.aurora.common.quantity.Amount; import org.apache.aurora.common.quantity.Data; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.base.Numbers; +import org.apache.aurora.scheduler.offers.HostOffer; import org.apache.aurora.scheduler.offers.OfferManager; import org.apache.aurora.scheduler.resources.ResourceType; import org.apache.aurora.scheduler.storage.entities.IHostAttributes; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java ---------------------------------------------------------------------- diff --git a/src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java b/src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java index 58e3224..f44cb61 100644 --- a/src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java +++ b/src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java @@ -46,7 +46,6 @@ import org.apache.aurora.common.util.Clock; import org.apache.aurora.common.util.testing.FakeClock; import org.apache.aurora.common.util.testing.FakeTicker; import org.apache.aurora.gen.ServerInfo; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.TaskIdGenerator; import org.apache.aurora.scheduler.TierModule; import org.apache.aurora.scheduler.async.AsyncModule; @@ -61,6 +60,7 @@ import org.apache.aurora.scheduler.filter.SchedulingFilterImpl; import org.apache.aurora.scheduler.mesos.Driver; import org.apache.aurora.scheduler.mesos.TestExecutorSettings; import org.apache.aurora.scheduler.offers.Deferment; +import org.apache.aurora.scheduler.offers.HostOffer; import org.apache.aurora.scheduler.offers.OfferManager; import org.apache.aurora.scheduler.offers.OfferManagerImpl; import org.apache.aurora.scheduler.offers.OfferManagerModule; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/jmh/java/org/apache/aurora/benchmark/fakes/FakeOfferManager.java ---------------------------------------------------------------------- diff --git a/src/jmh/java/org/apache/aurora/benchmark/fakes/FakeOfferManager.java b/src/jmh/java/org/apache/aurora/benchmark/fakes/FakeOfferManager.java index 05c58ab..c70f108 100644 --- a/src/jmh/java/org/apache/aurora/benchmark/fakes/FakeOfferManager.java +++ b/src/jmh/java/org/apache/aurora/benchmark/fakes/FakeOfferManager.java @@ -15,10 +15,10 @@ package org.apache.aurora.benchmark.fakes; import com.google.common.base.Optional; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.base.TaskGroupKey; import org.apache.aurora.scheduler.events.PubsubEvent; import org.apache.aurora.scheduler.filter.SchedulingFilter.ResourceRequest; +import org.apache.aurora.scheduler.offers.HostOffer; import org.apache.aurora.scheduler.offers.OfferManager; import org.apache.mesos.v1.Protos; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/main/java/org/apache/aurora/scheduler/HostOffer.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/HostOffer.java b/src/main/java/org/apache/aurora/scheduler/HostOffer.java deleted file mode 100644 index d7d9773..0000000 --- a/src/main/java/org/apache/aurora/scheduler/HostOffer.java +++ /dev/null @@ -1,115 +0,0 @@ -/** - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.aurora.scheduler; - -import java.time.Instant; -import java.util.Objects; -import java.util.function.Supplier; - -import com.google.common.base.MoreObjects; -import com.google.common.base.Optional; -import com.google.common.base.Suppliers; - -import org.apache.aurora.scheduler.base.Conversions; -import org.apache.aurora.scheduler.resources.ResourceBag; -import org.apache.aurora.scheduler.resources.ResourceType; -import org.apache.aurora.scheduler.storage.entities.IHostAttributes; - -import static java.util.Objects.requireNonNull; - -import static org.apache.aurora.scheduler.resources.ResourceManager.bagFromMesosResources; -import static org.apache.aurora.scheduler.resources.ResourceManager.getOfferResources; -import static org.apache.mesos.v1.Protos.Offer; - -/** - * An available resource in the cluster. - */ -public class HostOffer { - private final Offer offer; - private final IHostAttributes hostAttributes; - private final Supplier<ResourceBag> revocableResources; - private final Supplier<ResourceBag> nonRevocableResources; - - // Offers lacking CPU or mem are flagged so that they may be efficiently ignored during - // scheduling. However, they are retained for other purposes such as preemption and cluster - // stats. - // When nonZeroCpuAndMem=true, it means that _any_ CPU or mem resource is available, regardless - // of whether the resource is revocable. - private final boolean nonZeroCpuAndMem; - - public HostOffer(Offer offer, IHostAttributes hostAttributes) { - this.offer = requireNonNull(offer); - this.hostAttributes = requireNonNull(hostAttributes); - this.nonZeroCpuAndMem = offerHasCpuAndMem(offer); - this.revocableResources = - Suppliers.memoize(() -> bagFromMesosResources(getOfferResources(offer, true))); - this.nonRevocableResources = - Suppliers.memoize(() -> bagFromMesosResources(getOfferResources(offer, false))); - } - - private static boolean offerHasCpuAndMem(Offer offer) { - ResourceBag resources = bagFromMesosResources(offer.getResourcesList()); - return resources.valueOf(ResourceType.CPUS) > 0.0 - && resources.valueOf(ResourceType.RAM_MB) > 0.0; - } - - public Offer getOffer() { - return offer; - } - - public IHostAttributes getAttributes() { - return hostAttributes; - } - - public boolean hasCpuAndMem() { - return nonZeroCpuAndMem; - } - - public ResourceBag getResourceBag(boolean revocable) { - return revocable ? revocableResources.get() : nonRevocableResources.get(); - } - - public Optional<Instant> getUnavailabilityStart() { - if (offer.hasUnavailability()) { - return Optional.of(Conversions.getStart(offer.getUnavailability())); - } else { - return Optional.absent(); - } - } - - @Override - public boolean equals(Object o) { - if (!(o instanceof HostOffer)) { - return false; - } - HostOffer other = (HostOffer) o; - return Objects.equals(offer, other.offer) - && Objects.equals(hostAttributes, other.hostAttributes) - && nonZeroCpuAndMem == other.nonZeroCpuAndMem; - } - - @Override - public int hashCode() { - return Objects.hash(offer, hostAttributes); - } - - @Override - public String toString() { - return MoreObjects.toStringHelper(this) - .add("offer", offer) - .add("hostAttributes", hostAttributes) - .add("nonZeroCpuAndMem", nonZeroCpuAndMem) - .toString(); - } -} http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java b/src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java index a00c095..82a7a16 100644 --- a/src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java +++ b/src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java @@ -21,7 +21,7 @@ import com.google.common.annotations.VisibleForTesting; import com.google.common.base.MoreObjects; import com.google.common.base.Optional; -import org.apache.aurora.scheduler.HostOffer; +import org.apache.aurora.scheduler.offers.HostOffer; import org.apache.aurora.scheduler.resources.ResourceBag; import org.apache.aurora.scheduler.storage.entities.IConstraint; import org.apache.aurora.scheduler.storage.entities.IHostAttributes; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/main/java/org/apache/aurora/scheduler/mesos/MesosCallbackHandler.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/mesos/MesosCallbackHandler.java b/src/main/java/org/apache/aurora/scheduler/mesos/MesosCallbackHandler.java index 87e702f..c61af2b 100644 --- a/src/main/java/org/apache/aurora/scheduler/mesos/MesosCallbackHandler.java +++ b/src/main/java/org/apache/aurora/scheduler/mesos/MesosCallbackHandler.java @@ -32,13 +32,13 @@ import org.apache.aurora.common.quantity.Amount; import org.apache.aurora.common.quantity.Time; import org.apache.aurora.common.stats.StatsProvider; import org.apache.aurora.common.util.Clock; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.TaskStatusHandler; import org.apache.aurora.scheduler.base.Conversions; import org.apache.aurora.scheduler.base.SchedulerException; import org.apache.aurora.scheduler.events.EventSink; import org.apache.aurora.scheduler.events.PubsubEvent; import org.apache.aurora.scheduler.events.PubsubEventModule; +import org.apache.aurora.scheduler.offers.HostOffer; import org.apache.aurora.scheduler.offers.OfferManager; import org.apache.aurora.scheduler.offers.OfferManagerModule; import org.apache.aurora.scheduler.state.MaintenanceController; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/main/java/org/apache/aurora/scheduler/offers/HostOffer.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/offers/HostOffer.java b/src/main/java/org/apache/aurora/scheduler/offers/HostOffer.java new file mode 100644 index 0000000..7934838 --- /dev/null +++ b/src/main/java/org/apache/aurora/scheduler/offers/HostOffer.java @@ -0,0 +1,115 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.aurora.scheduler.offers; + +import java.time.Instant; +import java.util.Objects; +import java.util.function.Supplier; + +import com.google.common.base.MoreObjects; +import com.google.common.base.Optional; +import com.google.common.base.Suppliers; + +import org.apache.aurora.scheduler.base.Conversions; +import org.apache.aurora.scheduler.resources.ResourceBag; +import org.apache.aurora.scheduler.resources.ResourceType; +import org.apache.aurora.scheduler.storage.entities.IHostAttributes; + +import static java.util.Objects.requireNonNull; + +import static org.apache.aurora.scheduler.resources.ResourceManager.bagFromMesosResources; +import static org.apache.aurora.scheduler.resources.ResourceManager.getOfferResources; +import static org.apache.mesos.v1.Protos.Offer; + +/** + * An available resource in the cluster. + */ +public class HostOffer { + private final Offer offer; + private final IHostAttributes hostAttributes; + private final Supplier<ResourceBag> revocableResources; + private final Supplier<ResourceBag> nonRevocableResources; + + // Offers lacking CPU or mem are flagged so that they may be efficiently ignored during + // scheduling. However, they are retained for other purposes such as preemption and cluster + // stats. + // When nonZeroCpuAndMem=true, it means that _any_ CPU or mem resource is available, regardless + // of whether the resource is revocable. + private final boolean nonZeroCpuAndMem; + + public HostOffer(Offer offer, IHostAttributes hostAttributes) { + this.offer = requireNonNull(offer); + this.hostAttributes = requireNonNull(hostAttributes); + this.nonZeroCpuAndMem = offerHasCpuAndMem(offer); + this.revocableResources = + Suppliers.memoize(() -> bagFromMesosResources(getOfferResources(offer, true))); + this.nonRevocableResources = + Suppliers.memoize(() -> bagFromMesosResources(getOfferResources(offer, false))); + } + + private static boolean offerHasCpuAndMem(Offer offer) { + ResourceBag resources = bagFromMesosResources(offer.getResourcesList()); + return resources.valueOf(ResourceType.CPUS) > 0.0 + && resources.valueOf(ResourceType.RAM_MB) > 0.0; + } + + public Offer getOffer() { + return offer; + } + + public IHostAttributes getAttributes() { + return hostAttributes; + } + + public boolean hasCpuAndMem() { + return nonZeroCpuAndMem; + } + + public ResourceBag getResourceBag(boolean revocable) { + return revocable ? revocableResources.get() : nonRevocableResources.get(); + } + + public Optional<Instant> getUnavailabilityStart() { + if (offer.hasUnavailability()) { + return Optional.of(Conversions.getStart(offer.getUnavailability())); + } else { + return Optional.absent(); + } + } + + @Override + public boolean equals(Object o) { + if (!(o instanceof HostOffer)) { + return false; + } + HostOffer other = (HostOffer) o; + return Objects.equals(offer, other.offer) + && Objects.equals(hostAttributes, other.hostAttributes) + && nonZeroCpuAndMem == other.nonZeroCpuAndMem; + } + + @Override + public int hashCode() { + return Objects.hash(offer, hostAttributes); + } + + @Override + public String toString() { + return MoreObjects.toStringHelper(this) + .add("offer", offer) + .add("hostAttributes", hostAttributes) + .add("nonZeroCpuAndMem", nonZeroCpuAndMem) + .toString(); + } +} http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/main/java/org/apache/aurora/scheduler/offers/HostOffers.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/offers/HostOffers.java b/src/main/java/org/apache/aurora/scheduler/offers/HostOffers.java index 8adbcb1..c0a4b57 100644 --- a/src/main/java/org/apache/aurora/scheduler/offers/HostOffers.java +++ b/src/main/java/org/apache/aurora/scheduler/offers/HostOffers.java @@ -28,7 +28,6 @@ import com.google.common.collect.Sets; import org.apache.aurora.common.collections.Pair; import org.apache.aurora.common.stats.StatsProvider; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.base.TaskGroupKey; import org.apache.aurora.scheduler.filter.SchedulingFilter; import org.apache.aurora.scheduler.filter.SchedulingFilter.ResourceRequest; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/main/java/org/apache/aurora/scheduler/offers/OfferManager.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/offers/OfferManager.java b/src/main/java/org/apache/aurora/scheduler/offers/OfferManager.java index 0349215..df32775 100644 --- a/src/main/java/org/apache/aurora/scheduler/offers/OfferManager.java +++ b/src/main/java/org/apache/aurora/scheduler/offers/OfferManager.java @@ -16,7 +16,6 @@ package org.apache.aurora.scheduler.offers; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Optional; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.base.TaskGroupKey; import org.apache.aurora.scheduler.events.PubsubEvent.EventSubscriber; import org.apache.aurora.scheduler.filter.SchedulingFilter.ResourceRequest; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/main/java/org/apache/aurora/scheduler/offers/OfferManagerImpl.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/offers/OfferManagerImpl.java b/src/main/java/org/apache/aurora/scheduler/offers/OfferManagerImpl.java index 427b1b4..14a528f 100644 --- a/src/main/java/org/apache/aurora/scheduler/offers/OfferManagerImpl.java +++ b/src/main/java/org/apache/aurora/scheduler/offers/OfferManagerImpl.java @@ -25,7 +25,6 @@ import com.google.common.eventbus.Subscribe; import org.apache.aurora.common.collections.Pair; import org.apache.aurora.common.quantity.Time; import org.apache.aurora.common.stats.StatsProvider; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.base.TaskGroupKey; import org.apache.aurora.scheduler.events.PubsubEvent; import org.apache.aurora.scheduler.filter.SchedulingFilter; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/main/java/org/apache/aurora/scheduler/offers/OfferManagerModule.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/offers/OfferManagerModule.java b/src/main/java/org/apache/aurora/scheduler/offers/OfferManagerModule.java index e2e3628..823c369 100644 --- a/src/main/java/org/apache/aurora/scheduler/offers/OfferManagerModule.java +++ b/src/main/java/org/apache/aurora/scheduler/offers/OfferManagerModule.java @@ -35,7 +35,6 @@ import com.google.inject.TypeLiteral; import org.apache.aurora.common.quantity.Amount; import org.apache.aurora.common.quantity.Time; import org.apache.aurora.common.util.Random; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.app.MoreModules; import org.apache.aurora.scheduler.config.CliOptions; import org.apache.aurora.scheduler.config.types.TimeAmount; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/main/java/org/apache/aurora/scheduler/offers/OfferOrderBuilder.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/offers/OfferOrderBuilder.java b/src/main/java/org/apache/aurora/scheduler/offers/OfferOrderBuilder.java index 9b395fa..57462a3 100644 --- a/src/main/java/org/apache/aurora/scheduler/offers/OfferOrderBuilder.java +++ b/src/main/java/org/apache/aurora/scheduler/offers/OfferOrderBuilder.java @@ -18,7 +18,6 @@ import java.util.List; import com.google.common.collect.Ordering; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.resources.ResourceType; import static org.apache.aurora.gen.MaintenanceMode.DRAINED; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/main/java/org/apache/aurora/scheduler/offers/OfferSettings.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/offers/OfferSettings.java b/src/main/java/org/apache/aurora/scheduler/offers/OfferSettings.java index 838a319..1e36b2c 100644 --- a/src/main/java/org/apache/aurora/scheduler/offers/OfferSettings.java +++ b/src/main/java/org/apache/aurora/scheduler/offers/OfferSettings.java @@ -22,7 +22,6 @@ import com.google.common.collect.Ordering; import org.apache.aurora.common.quantity.Amount; import org.apache.aurora.common.quantity.Time; -import org.apache.aurora.scheduler.HostOffer; import static java.util.Objects.requireNonNull; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/main/java/org/apache/aurora/scheduler/preemptor/PendingTaskProcessor.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/preemptor/PendingTaskProcessor.java b/src/main/java/org/apache/aurora/scheduler/preemptor/PendingTaskProcessor.java index 497a766..abfec58 100644 --- a/src/main/java/org/apache/aurora/scheduler/preemptor/PendingTaskProcessor.java +++ b/src/main/java/org/apache/aurora/scheduler/preemptor/PendingTaskProcessor.java @@ -49,11 +49,11 @@ import org.apache.aurora.common.inject.TimedInterceptor.Timed; import org.apache.aurora.common.quantity.Amount; import org.apache.aurora.common.quantity.Time; import org.apache.aurora.common.util.Clock; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.base.Query; import org.apache.aurora.scheduler.base.TaskGroupKey; import org.apache.aurora.scheduler.base.Tasks; import org.apache.aurora.scheduler.filter.AttributeAggregate; +import org.apache.aurora.scheduler.offers.HostOffer; import org.apache.aurora.scheduler.offers.OfferManager; import org.apache.aurora.scheduler.storage.Storage; import org.apache.aurora.scheduler.storage.Storage.StoreProvider; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptionVictimFilter.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptionVictimFilter.java b/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptionVictimFilter.java index 13ccbff..cce93d8 100644 --- a/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptionVictimFilter.java +++ b/src/main/java/org/apache/aurora/scheduler/preemptor/PreemptionVictimFilter.java @@ -29,7 +29,6 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Ordering; import com.google.common.collect.Sets; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.TierManager; import org.apache.aurora.scheduler.configuration.executor.ExecutorSettings; import org.apache.aurora.scheduler.filter.AttributeAggregate; @@ -37,6 +36,7 @@ import org.apache.aurora.scheduler.filter.SchedulingFilter; import org.apache.aurora.scheduler.filter.SchedulingFilter.ResourceRequest; import org.apache.aurora.scheduler.filter.SchedulingFilter.UnusedResource; import org.apache.aurora.scheduler.filter.SchedulingFilter.Veto; +import org.apache.aurora.scheduler.offers.HostOffer; import org.apache.aurora.scheduler.resources.ResourceBag; import org.apache.aurora.scheduler.resources.ResourceManager; import org.apache.aurora.scheduler.resources.ResourceType; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/main/java/org/apache/aurora/scheduler/scheduling/FirstFitOfferSelector.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/scheduling/FirstFitOfferSelector.java b/src/main/java/org/apache/aurora/scheduler/scheduling/FirstFitOfferSelector.java index ee65bab..1ccab2d7 100644 --- a/src/main/java/org/apache/aurora/scheduler/scheduling/FirstFitOfferSelector.java +++ b/src/main/java/org/apache/aurora/scheduler/scheduling/FirstFitOfferSelector.java @@ -16,8 +16,8 @@ package org.apache.aurora.scheduler.scheduling; import com.google.common.base.Optional; import com.google.common.collect.Iterables; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.filter.SchedulingFilter.ResourceRequest; +import org.apache.aurora.scheduler.offers.HostOffer; public class FirstFitOfferSelector implements OfferSelector { http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/main/java/org/apache/aurora/scheduler/scheduling/OfferSelector.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/scheduling/OfferSelector.java b/src/main/java/org/apache/aurora/scheduler/scheduling/OfferSelector.java index c95b980..a8b0cb8 100644 --- a/src/main/java/org/apache/aurora/scheduler/scheduling/OfferSelector.java +++ b/src/main/java/org/apache/aurora/scheduler/scheduling/OfferSelector.java @@ -15,8 +15,8 @@ package org.apache.aurora.scheduler.scheduling; import com.google.common.base.Optional; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.filter.SchedulingFilter.ResourceRequest; +import org.apache.aurora.scheduler.offers.HostOffer; /** * Injected into {@link TaskAssignerImpl}, this class scores the offers available and returns an http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/main/java/org/apache/aurora/scheduler/scheduling/TaskAssignerImpl.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/scheduling/TaskAssignerImpl.java b/src/main/java/org/apache/aurora/scheduler/scheduling/TaskAssignerImpl.java index a1dd74f..31af277 100644 --- a/src/main/java/org/apache/aurora/scheduler/scheduling/TaskAssignerImpl.java +++ b/src/main/java/org/apache/aurora/scheduler/scheduling/TaskAssignerImpl.java @@ -25,12 +25,12 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import org.apache.aurora.common.stats.StatsProvider; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.TierManager; import org.apache.aurora.scheduler.base.InstanceKeys; import org.apache.aurora.scheduler.base.TaskGroupKey; import org.apache.aurora.scheduler.filter.SchedulingFilter.ResourceRequest; import org.apache.aurora.scheduler.mesos.MesosTaskFactory; +import org.apache.aurora.scheduler.offers.HostOffer; import org.apache.aurora.scheduler.offers.OfferManager; import org.apache.aurora.scheduler.resources.ResourceManager; import org.apache.aurora.scheduler.resources.ResourceType; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/main/java/org/apache/aurora/scheduler/stats/AsyncStatsModule.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/stats/AsyncStatsModule.java b/src/main/java/org/apache/aurora/scheduler/stats/AsyncStatsModule.java index e629093..f197288 100644 --- a/src/main/java/org/apache/aurora/scheduler/stats/AsyncStatsModule.java +++ b/src/main/java/org/apache/aurora/scheduler/stats/AsyncStatsModule.java @@ -26,10 +26,10 @@ import com.google.inject.PrivateModule; import org.apache.aurora.common.quantity.Amount; import org.apache.aurora.common.quantity.Time; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.SchedulerServicesModule; import org.apache.aurora.scheduler.base.Conversions; import org.apache.aurora.scheduler.config.types.TimeAmount; +import org.apache.aurora.scheduler.offers.HostOffer; import org.apache.aurora.scheduler.offers.OfferManager; import org.apache.aurora.scheduler.resources.ResourceBag; import org.apache.aurora.scheduler.stats.SlotSizeCounter.MachineResource; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/test/java/org/apache/aurora/scheduler/HostOfferTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/aurora/scheduler/HostOfferTest.java b/src/test/java/org/apache/aurora/scheduler/HostOfferTest.java index d6e5ff4..7f0d7d8 100644 --- a/src/test/java/org/apache/aurora/scheduler/HostOfferTest.java +++ b/src/test/java/org/apache/aurora/scheduler/HostOfferTest.java @@ -18,6 +18,7 @@ import java.util.List; import com.google.common.collect.ImmutableList; import org.apache.aurora.gen.HostAttributes; +import org.apache.aurora.scheduler.offers.HostOffer; import org.apache.aurora.scheduler.storage.entities.IHostAttributes; import org.junit.Test; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/test/java/org/apache/aurora/scheduler/http/OffersTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/aurora/scheduler/http/OffersTest.java b/src/test/java/org/apache/aurora/scheduler/http/OffersTest.java index 549d2e3..89bf47e 100644 --- a/src/test/java/org/apache/aurora/scheduler/http/OffersTest.java +++ b/src/test/java/org/apache/aurora/scheduler/http/OffersTest.java @@ -25,7 +25,7 @@ import com.hubspot.jackson.datatype.protobuf.ProtobufModule; import org.apache.aurora.common.testing.easymock.EasyMockTest; import org.apache.aurora.gen.HostAttributes; -import org.apache.aurora.scheduler.HostOffer; +import org.apache.aurora.scheduler.offers.HostOffer; import org.apache.aurora.scheduler.offers.OfferManager; import org.apache.aurora.scheduler.storage.entities.IHostAttributes; import org.apache.mesos.v1.Protos; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/test/java/org/apache/aurora/scheduler/mesos/MesosCallbackHandlerTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/aurora/scheduler/mesos/MesosCallbackHandlerTest.java b/src/test/java/org/apache/aurora/scheduler/mesos/MesosCallbackHandlerTest.java index 64efc0d..d79a973 100644 --- a/src/test/java/org/apache/aurora/scheduler/mesos/MesosCallbackHandlerTest.java +++ b/src/test/java/org/apache/aurora/scheduler/mesos/MesosCallbackHandlerTest.java @@ -31,12 +31,12 @@ import org.apache.aurora.common.quantity.Time; import org.apache.aurora.common.testing.easymock.EasyMockTest; import org.apache.aurora.common.util.testing.FakeClock; import org.apache.aurora.gen.HostAttributes; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.TaskStatusHandler; import org.apache.aurora.scheduler.base.Conversions; import org.apache.aurora.scheduler.base.SchedulerException; import org.apache.aurora.scheduler.events.EventSink; import org.apache.aurora.scheduler.events.PubsubEvent; +import org.apache.aurora.scheduler.offers.HostOffer; import org.apache.aurora.scheduler.offers.OfferManager; import org.apache.aurora.scheduler.state.MaintenanceController; import org.apache.aurora.scheduler.storage.Storage; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/test/java/org/apache/aurora/scheduler/offers/OfferManagerImplTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/aurora/scheduler/offers/OfferManagerImplTest.java b/src/test/java/org/apache/aurora/scheduler/offers/OfferManagerImplTest.java index ff80baa..75aedf5 100644 --- a/src/test/java/org/apache/aurora/scheduler/offers/OfferManagerImplTest.java +++ b/src/test/java/org/apache/aurora/scheduler/offers/OfferManagerImplTest.java @@ -28,7 +28,6 @@ import org.apache.aurora.common.testing.easymock.EasyMockTest; import org.apache.aurora.common.util.testing.FakeTicker; import org.apache.aurora.gen.HostAttributes; import org.apache.aurora.gen.MaintenanceMode; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.base.TaskGroupKey; import org.apache.aurora.scheduler.base.Tasks; import org.apache.aurora.scheduler.events.PubsubEvent.DriverDisconnected; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/test/java/org/apache/aurora/scheduler/preemptor/PendingTaskProcessorTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/aurora/scheduler/preemptor/PendingTaskProcessorTest.java b/src/test/java/org/apache/aurora/scheduler/preemptor/PendingTaskProcessorTest.java index a346e44..9ef55c8 100644 --- a/src/test/java/org/apache/aurora/scheduler/preemptor/PendingTaskProcessorTest.java +++ b/src/test/java/org/apache/aurora/scheduler/preemptor/PendingTaskProcessorTest.java @@ -34,11 +34,11 @@ import org.apache.aurora.gen.MaintenanceMode; import org.apache.aurora.gen.ScheduledTask; import org.apache.aurora.gen.TaskConfig; import org.apache.aurora.gen.TaskEvent; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.base.JobKeys; import org.apache.aurora.scheduler.base.Query; import org.apache.aurora.scheduler.base.TaskGroupKey; import org.apache.aurora.scheduler.filter.AttributeAggregate; +import org.apache.aurora.scheduler.offers.HostOffer; import org.apache.aurora.scheduler.offers.OfferManager; import org.apache.aurora.scheduler.stats.CachedCounters; import org.apache.aurora.scheduler.storage.entities.IHostAttributes; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/test/java/org/apache/aurora/scheduler/preemptor/PreemptionVictimFilterTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/aurora/scheduler/preemptor/PreemptionVictimFilterTest.java b/src/test/java/org/apache/aurora/scheduler/preemptor/PreemptionVictimFilterTest.java index fa74fb6..40a5d4c 100644 --- a/src/test/java/org/apache/aurora/scheduler/preemptor/PreemptionVictimFilterTest.java +++ b/src/test/java/org/apache/aurora/scheduler/preemptor/PreemptionVictimFilterTest.java @@ -39,13 +39,13 @@ import org.apache.aurora.gen.ScheduledTask; import org.apache.aurora.gen.TaskConfig; import org.apache.aurora.gen.TaskEvent; import org.apache.aurora.gen.apiConstants; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.TierInfo; import org.apache.aurora.scheduler.TierManager; import org.apache.aurora.scheduler.filter.SchedulingFilter; import org.apache.aurora.scheduler.filter.SchedulingFilter.Veto; import org.apache.aurora.scheduler.filter.SchedulingFilterImpl; import org.apache.aurora.scheduler.mesos.TaskExecutors; +import org.apache.aurora.scheduler.offers.HostOffer; import org.apache.aurora.scheduler.resources.ResourceBag; import org.apache.aurora.scheduler.resources.ResourceTestUtil; import org.apache.aurora.scheduler.resources.ResourceType; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/test/java/org/apache/aurora/scheduler/preemptor/PreemptorImplTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/aurora/scheduler/preemptor/PreemptorImplTest.java b/src/test/java/org/apache/aurora/scheduler/preemptor/PreemptorImplTest.java index 1061583..3d2c7fa 100644 --- a/src/test/java/org/apache/aurora/scheduler/preemptor/PreemptorImplTest.java +++ b/src/test/java/org/apache/aurora/scheduler/preemptor/PreemptorImplTest.java @@ -26,9 +26,9 @@ import org.apache.aurora.gen.ScheduleStatus; import org.apache.aurora.gen.ScheduledTask; import org.apache.aurora.gen.TaskConfig; import org.apache.aurora.gen.TaskEvent; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.base.TaskGroupKey; import org.apache.aurora.scheduler.base.Tasks; +import org.apache.aurora.scheduler.offers.HostOffer; import org.apache.aurora.scheduler.offers.OfferManager; import org.apache.aurora.scheduler.preemptor.Preemptor.PreemptorImpl; import org.apache.aurora.scheduler.state.StateChangeResult; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/test/java/org/apache/aurora/scheduler/scheduling/FirstFitOfferSelectorTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/aurora/scheduler/scheduling/FirstFitOfferSelectorTest.java b/src/test/java/org/apache/aurora/scheduler/scheduling/FirstFitOfferSelectorTest.java index 627055c..5e2fdcb 100644 --- a/src/test/java/org/apache/aurora/scheduler/scheduling/FirstFitOfferSelectorTest.java +++ b/src/test/java/org/apache/aurora/scheduler/scheduling/FirstFitOfferSelectorTest.java @@ -16,7 +16,7 @@ package org.apache.aurora.scheduler.scheduling; import com.google.common.collect.ImmutableList; import org.apache.aurora.common.testing.easymock.EasyMockTest; -import org.apache.aurora.scheduler.HostOffer; +import org.apache.aurora.scheduler.offers.HostOffer; import org.apache.aurora.scheduler.resources.ResourceBag; import org.apache.aurora.scheduler.storage.entities.IAssignedTask; import org.junit.Before; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/test/java/org/apache/aurora/scheduler/scheduling/TaskAssignerImplTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/aurora/scheduler/scheduling/TaskAssignerImplTest.java b/src/test/java/org/apache/aurora/scheduler/scheduling/TaskAssignerImplTest.java index e094950..a0e8634 100644 --- a/src/test/java/org/apache/aurora/scheduler/scheduling/TaskAssignerImplTest.java +++ b/src/test/java/org/apache/aurora/scheduler/scheduling/TaskAssignerImplTest.java @@ -26,7 +26,6 @@ import org.apache.aurora.gen.Attribute; import org.apache.aurora.gen.HostAttributes; import org.apache.aurora.gen.JobKey; import org.apache.aurora.gen.TaskConfig; -import org.apache.aurora.scheduler.HostOffer; import org.apache.aurora.scheduler.TierManager; import org.apache.aurora.scheduler.base.InstanceKeys; import org.apache.aurora.scheduler.base.TaskGroupKey; @@ -34,6 +33,7 @@ import org.apache.aurora.scheduler.base.Tasks; import org.apache.aurora.scheduler.filter.AttributeAggregate; import org.apache.aurora.scheduler.filter.SchedulingFilter.ResourceRequest; import org.apache.aurora.scheduler.mesos.MesosTaskFactory; +import org.apache.aurora.scheduler.offers.HostOffer; import org.apache.aurora.scheduler.offers.OfferManager; import org.apache.aurora.scheduler.resources.ResourceBag; import org.apache.aurora.scheduler.state.StateChangeResult; http://git-wip-us.apache.org/repos/asf/aurora/blob/de8b3754/src/test/java/org/apache/aurora/scheduler/stats/AsyncStatsModuleTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/aurora/scheduler/stats/AsyncStatsModuleTest.java b/src/test/java/org/apache/aurora/scheduler/stats/AsyncStatsModuleTest.java index dfcbb4a..0964158 100644 --- a/src/test/java/org/apache/aurora/scheduler/stats/AsyncStatsModuleTest.java +++ b/src/test/java/org/apache/aurora/scheduler/stats/AsyncStatsModuleTest.java @@ -17,7 +17,7 @@ import com.google.common.collect.ImmutableList; import org.apache.aurora.common.testing.easymock.EasyMockTest; import org.apache.aurora.gen.HostAttributes; -import org.apache.aurora.scheduler.HostOffer; +import org.apache.aurora.scheduler.offers.HostOffer; import org.apache.aurora.scheduler.offers.OfferManager; import org.apache.aurora.scheduler.resources.ResourceTestUtil; import org.apache.aurora.scheduler.resources.ResourceType;