Repository: aurora
Updated Branches:
  refs/heads/master efc5ff6ab -> b912e1726


Upgrade to Mesos 1.0.0

I also took this as an opportunity to switch us from mesos.native to 
mesos.executor on the Python
side, meaning Docker containers will no longer require all mesos deps.

Release notes here: http://mesos.apache.org/blog/mesos-1-0-0-released/
Upgrade notes here: http://mesos.apache.org/documentation/latest/upgrades/

Reviewed at https://reviews.apache.org/r/50584/


Project: http://git-wip-us.apache.org/repos/asf/aurora/repo
Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/b912e172
Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/b912e172
Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/b912e172

Branch: refs/heads/master
Commit: b912e1726ec50c1f10d6cceaef6faf19c18cf880
Parents: efc5ff6
Author: Joshua Cohen <jco...@apache.org>
Authored: Mon Aug 1 10:33:32 2016 -0500
Committer: Joshua Cohen <jco...@apache.org>
Committed: Mon Aug 1 10:33:32 2016 -0500

----------------------------------------------------------------------
 3rdparty/python/BUILD                           | 13 ++++----
 RELEASE-NOTES.md                                |  4 +++
 Vagrantfile                                     |  2 +-
 build-support/packer/build.sh                   |  8 +++--
 build-support/python/make-mesos-native-egg      |  6 ++--
 build.gradle                                    |  2 +-
 .../apache/aurora/scheduler/app/AppModule.java  |  7 ++---
 .../aurora/scheduler/app/SchedulerMain.java     |  7 +++--
 .../mesos/CommandLineDriverSettingsModule.java  | 13 ++++++++
 .../scheduler/mesos/MesosTaskFactory.java       |  9 +++++-
 src/main/python/apache/aurora/executor/BUILD    |  2 +-
 .../executor/bin/thermos_executor_main.py       |  2 +-
 .../CommandLineDriverSettingsModuleTest.java    | 32 +++++++++++++++++---
 .../mesos/MesosTaskFactoryImplTest.java         | 11 +++++--
 src/test/sh/org/apache/aurora/e2e/Dockerfile    |  4 +--
 15 files changed, 87 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/aurora/blob/b912e172/3rdparty/python/BUILD
----------------------------------------------------------------------
diff --git a/3rdparty/python/BUILD b/3rdparty/python/BUILD
index a44624c..c572da0 100644
--- a/3rdparty/python/BUILD
+++ b/3rdparty/python/BUILD
@@ -11,7 +11,7 @@
 # limitations under the License.
 #
 
-MESOS_REV = '0.28.2'
+MESOS_REV = '1.0.0'
 
 python_requirement_library(
   name = 'mesos.interface',
@@ -23,14 +23,13 @@ python_requirement_library(
 )
 
 python_requirement_library(
-  name = 'mesos.native',
+  name = 'mesos.executor',
   requirements = [
     python_requirement(
-      requirement = 'mesos.native==%s' % MESOS_REV,
-      # This native egg  must currently be fetched out-of-band.
-      # See examples/vagrant/provision-dev-cluster.sh which fetches
-      # to third_party/ and uses mesos.native to enable a running
-      # cluster inside the root Vagrant machine.
+      requirement = 'mesos.executor==%s' % MESOS_REV,
+      # This native executor egg must currently be fetched out-of-band.
+      # See build-support/packer/build.sh which fetches to third_party/ and 
uses mesos.executor to
+      # enable a running cluster inside the root Vagrant machine.
       repository = '%s/third_party' % get_buildroot(),
     )
   ]

http://git-wip-us.apache.org/repos/asf/aurora/blob/b912e172/RELEASE-NOTES.md
----------------------------------------------------------------------
diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md
index d46420e..19d7f7e 100644
--- a/RELEASE-NOTES.md
+++ b/RELEASE-NOTES.md
@@ -3,6 +3,10 @@
 
 ### New/updated:
 
+- Upgraded Mesos to 1.0.0. Note: as part of this upgrade we have switched from 
depending on
+  the mesos.native egg for Thermos in favor of the stripped down 
mesos.executor egg. This means
+  users launching Docker tasks with the Mesos DockerContainerizer are no 
longer required to use
+  images that include all of Mesos's dependencies.
 - Scheduler command line behavior has been modified to warn users of the 
deprecation of `production`
   attribute in `Job` thrift struct. The scheduler is queried for tier 
configurations and the user's
   choice of `tier` and `production` attributes is revised, if necessary. If 
`tier` is already set,

http://git-wip-us.apache.org/repos/asf/aurora/blob/b912e172/Vagrantfile
----------------------------------------------------------------------
diff --git a/Vagrantfile b/Vagrantfile
index 5aa2128..88613bf 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -25,7 +25,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
   config.vm.hostname = "aurora.local"
   # See build-support/packer/README.md for instructions on updating this box.
   config.vm.box = "apache-aurora/dev-environment"
-  config.vm.box_version = "0.0.7"
+  config.vm.box_version = "0.0.8"
 
   config.vm.define "devcluster" do |dev|
     dev.vm.network :private_network, ip: "192.168.33.7"

http://git-wip-us.apache.org/repos/asf/aurora/blob/b912e172/build-support/packer/build.sh
----------------------------------------------------------------------
diff --git a/build-support/packer/build.sh b/build-support/packer/build.sh
index 08938ec..7aed38f 100644
--- a/build-support/packer/build.sh
+++ b/build-support/packer/build.sh
@@ -17,7 +17,7 @@ set -o errexit
 set -o nounset
 set -o verbose
 
-readonly MESOS_VERSION=0.28.2
+readonly MESOS_VERSION=1.0.0
 
 function remove_unused {
   # The default ubuntu/trusty64 image includes juju-core, which adds ~300 MB 
to our image.
@@ -133,10 +133,12 @@ function warm_artifact_cache {
   mkdir -p "$THIRD_PARTY_DIR"
 
   # Fetch the mesos egg, needed to build python components.
-  # The mesos.native target in 3rdparty/python/BUILD expects to find the 
native egg in third_party.
+  # The mesos.executor target in 3rdparty/python/BUILD expects to find the 
native egg in
+  # third_party.
   SVN_ROOT='https://svn.apache.org/repos/asf/aurora/3rdparty'
   pushd "$THIRD_PARTY_DIR"
-    wget -c 
${SVN_ROOT}/ubuntu/trusty64/python/mesos.native-${MESOS_VERSION}-py2.7-linux-x86_64.egg
+    wget -c \
+      
${SVN_ROOT}/ubuntu/trusty64/python/mesos.executor-${MESOS_VERSION}-py2.7-linux-x86_64.egg
   popd
 
   chown -R vagrant:vagrant aurora

http://git-wip-us.apache.org/repos/asf/aurora/blob/b912e172/build-support/python/make-mesos-native-egg
----------------------------------------------------------------------
diff --git a/build-support/python/make-mesos-native-egg 
b/build-support/python/make-mesos-native-egg
index 736685f..9387496 100755
--- a/build-support/python/make-mesos-native-egg
+++ b/build-support/python/make-mesos-native-egg
@@ -84,7 +84,7 @@ build_ubuntu_trusty64() {
       $(fetch_and_build_mesos "$mesos_version")
 EOF
     mkdir -pv "$python_outdir"
-    cp -v mesos.native*.egg "$python_outdir"
+    cp -v mesos.executor*.egg "$python_outdir"
   popd
 }
 
@@ -126,7 +126,7 @@ build_centos6() {
 EOS
 EOF
     mkdir -pv "$python_outdir"
-    cp -v mesos.native*.egg "$python_outdir"
+    cp -v mesos.executor*.egg "$python_outdir"
   popd
 }
 
@@ -154,7 +154,7 @@ build_centos7() {
     sudo yum -y install ${CENTOS7_X86_64_DEPENDENCIES[*]}
     $(fetch_and_build_mesos "$mesos_version")
 EOF
-    cp -v mesos.native*.egg "$python_outdir"
+    cp -v mesos.executor*.egg "$python_outdir"
   popd
 }
 

http://git-wip-us.apache.org/repos/asf/aurora/blob/b912e172/build.gradle
----------------------------------------------------------------------
diff --git a/build.gradle b/build.gradle
index 9540195..f466b3a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -365,7 +365,7 @@ dependencies {
   compile "org.apache.curator:curator-client:${curatorRev}"
   compile "org.apache.curator:curator-framework:${curatorRev}"
   compile "org.apache.curator:curator-recipes:${curatorRev}"
-  compile 'org.apache.mesos:mesos:0.28.2'
+  compile 'org.apache.mesos:mesos:1.0.0'
   compile "org.apache.shiro:shiro-guice:${shiroRev}"
   compile "org.apache.shiro:shiro-web:${shiroRev}"
   compile "org.apache.zookeeper:zookeeper:${zookeeperRev}"

http://git-wip-us.apache.org/repos/asf/aurora/blob/b912e172/src/main/java/org/apache/aurora/scheduler/app/AppModule.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/app/AppModule.java 
b/src/main/java/org/apache/aurora/scheduler/app/AppModule.java
index e5bafa4..c6c2a6d 100644
--- a/src/main/java/org/apache/aurora/scheduler/app/AppModule.java
+++ b/src/main/java/org/apache/aurora/scheduler/app/AppModule.java
@@ -94,9 +94,6 @@ public class AppModule extends AbstractModule {
       help = "If false, Docker tasks may run without an executor 
(EXPERIMENTAL)")
   private static final Arg<Boolean> REQUIRE_DOCKER_USE_EXECUTOR = 
Arg.create(true);
 
-  @CmdLine(name = "allow_gpu_resource", help = "Allow jobs to request Mesos 
GPU resource.")
-  private static final Arg<Boolean> ALLOW_GPU_RESOURCE = Arg.create(false);
-
   @CmdLine(name = "enable_mesos_fetcher", help = "Allow jobs to pass URIs "
       + "to the Mesos Fetcher. Note that enabling this feature could pose "
       + "a privilege escalation threat.")
@@ -109,13 +106,13 @@ public class AppModule extends AbstractModule {
     this.configurationManagerSettings = 
requireNonNull(configurationManagerSettings);
   }
 
-  public AppModule() {
+  public AppModule(boolean allowGpuResource) {
     this(new ConfigurationManagerSettings(
         ImmutableSet.copyOf(ALLOWED_CONTAINER_TYPES.get()),
         ENABLE_DOCKER_PARAMETERS.get(),
         DEFAULT_DOCKER_PARAMETERS.get(),
         REQUIRE_DOCKER_USE_EXECUTOR.get(),
-        ALLOW_GPU_RESOURCE.get(),
+        allowGpuResource,
         ENABLE_MESOS_FETCHER.get()));
   }
 

http://git-wip-us.apache.org/repos/asf/aurora/blob/b912e172/src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 
b/src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java
index 8fe2b79..94c1a29 100644
--- a/src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java
+++ b/src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java
@@ -86,6 +86,9 @@ public class SchedulerMain {
   @CmdLine(name = "viz_job_url_prefix", help = "URL prefix for job container 
stats.")
   private static final Arg<String> STATS_URL_PREFIX = Arg.create("");
 
+  @CmdLine(name = "allow_gpu_resource", help = "Allow jobs to request Mesos 
GPU resource.")
+  private static final Arg<Boolean> ALLOW_GPU_RESOURCE = Arg.create(false);
+
   @Inject private SingletonService schedulerService;
   @Inject private HttpService httpService;
   @Inject private SchedulerLifecycle schedulerLifecycle;
@@ -134,7 +137,7 @@ public class SchedulerMain {
     return Modules.combine(
         new LifecycleModule(),
         new StatsModule(),
-        new AppModule(),
+        new AppModule(ALLOW_GPU_RESOURCE.get()),
         new CronModule(),
         new DbModule.MigrationManagerModule(),
         
DbModule.productionModule(Bindings.annotatedKeyFactory(Storage.Volatile.class)),
@@ -195,7 +198,7 @@ public class SchedulerMain {
 
     List<Module> modules = ImmutableList.<Module>builder()
         .add(
-            new CommandLineDriverSettingsModule(),
+            new CommandLineDriverSettingsModule(ALLOW_GPU_RESOURCE.get()),
             new LibMesosLoadingModule(),
             new MesosLogStreamModule(FlaggedZooKeeperConfig.create()),
             new LogStorageModule(),

http://git-wip-us.apache.org/repos/asf/aurora/blob/b912e172/src/main/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModule.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModule.java
 
b/src/main/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModule.java
index e137daa..8a386bd 100644
--- 
a/src/main/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModule.java
+++ 
b/src/main/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModule.java
@@ -37,6 +37,7 @@ import org.slf4j.LoggerFactory;
 
 import static org.apache.mesos.Protos.FrameworkInfo;
 import static org.apache.mesos.Protos.FrameworkInfo.Capability;
+import static 
org.apache.mesos.Protos.FrameworkInfo.Capability.Type.GPU_RESOURCES;
 import static 
org.apache.mesos.Protos.FrameworkInfo.Capability.Type.REVOCABLE_RESOURCES;
 
 /**
@@ -100,6 +101,12 @@ public class CommandLineDriverSettingsModule extends 
AbstractModule {
           + "resources in offer.")
   private static final Arg<String> MESOS_ROLE = Arg.create();
 
+  private final boolean allowGpuResource;
+
+  public CommandLineDriverSettingsModule(boolean allowGpuResource) {
+    this.allowGpuResource = allowGpuResource;
+  }
+
   @Override
   protected void configure() {
     Optional<Protos.Credential> credentials = getCredentials();
@@ -118,6 +125,7 @@ public class CommandLineDriverSettingsModule extends 
AbstractModule {
             principal,
             FRAMEWORK_FAILOVER_TIMEOUT.get(),
             RECEIVE_REVOCABLE_RESOURCES.get(),
+            allowGpuResource,
             role));
     bind(DriverSettings.class).toInstance(settings);
   }
@@ -152,6 +160,7 @@ public class CommandLineDriverSettingsModule extends 
AbstractModule {
       Optional<String> principal,
       Amount<Long, Time> failoverTimeout,
       boolean revocable,
+      boolean allowGpu,
       Optional<String> role) {
 
     FrameworkInfo.Builder infoBuilder = FrameworkInfo.newBuilder()
@@ -168,6 +177,10 @@ public class CommandLineDriverSettingsModule extends 
AbstractModule {
       
infoBuilder.addCapabilities(Capability.newBuilder().setType(REVOCABLE_RESOURCES));
     }
 
+    if (allowGpu) {
+      
infoBuilder.addCapabilities(Capability.newBuilder().setType(GPU_RESOURCES));
+    }
+
     if (role.isPresent()) {
       infoBuilder.setRole(role.get());
     }

http://git-wip-us.apache.org/repos/asf/aurora/blob/b912e172/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 cbbd6be..f9b1c7c 100644
--- a/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java
+++ b/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java
@@ -90,6 +90,9 @@ public interface MesosTaskFactory {
     @VisibleForTesting
     static final String DEFAULT_PORT_PROTOCOL = "TCP";
 
+    @VisibleForTesting
+    static final String SOURCE_LABEL = "source";
+
     private final ExecutorSettings executorSettings;
     private final TierManager tierManager;
     private final IServerInfo serverInfo;
@@ -262,7 +265,11 @@ public interface MesosTaskFactory {
 
       ExecutorInfo.Builder builder = 
executorSettings.getExecutorConfig().getExecutor().toBuilder()
           .setExecutorId(getExecutorId(task.getTaskId()))
-          .setSource(getInstanceSourceName(task.getTask(), 
task.getInstanceId()));
+          .setLabels(
+              Labels.newBuilder().addLabels(
+                  Label.newBuilder()
+                      .setKey(SOURCE_LABEL)
+                      .setValue(getInstanceSourceName(task.getTask(), 
task.getInstanceId()))));
 
       //TODO: (rdelvalle) add output_file when Aurora's Mesos dep is updated 
(MESOS-4735)
       List<CommandInfo.URI> mesosFetcherUris = 
task.getTask().getMesosFetcherUris().stream()

http://git-wip-us.apache.org/repos/asf/aurora/blob/b912e172/src/main/python/apache/aurora/executor/BUILD
----------------------------------------------------------------------
diff --git a/src/main/python/apache/aurora/executor/BUILD 
b/src/main/python/apache/aurora/executor/BUILD
index 0be65fc..486230d 100644
--- a/src/main/python/apache/aurora/executor/BUILD
+++ b/src/main/python/apache/aurora/executor/BUILD
@@ -54,7 +54,7 @@ python_binary(
     ':_executor',
     # TODO(ksweeney): This violates the rule that every library export the 
same deps as its
     # contained binaries.
-    '3rdparty/python:mesos.native',
+    '3rdparty/python:mesos.executor',
   ]
 )
 

http://git-wip-us.apache.org/repos/asf/aurora/blob/b912e172/src/main/python/apache/aurora/executor/bin/thermos_executor_main.py
----------------------------------------------------------------------
diff --git 
a/src/main/python/apache/aurora/executor/bin/thermos_executor_main.py 
b/src/main/python/apache/aurora/executor/bin/thermos_executor_main.py
index 0ef3856..c515931 100644
--- a/src/main/python/apache/aurora/executor/bin/thermos_executor_main.py
+++ b/src/main/python/apache/aurora/executor/bin/thermos_executor_main.py
@@ -42,7 +42,7 @@ from apache.aurora.executor.thermos_task_runner import (
 )
 
 try:
-  from mesos.native import MesosExecutorDriver
+  from mesos.executor import MesosExecutorDriver
 except ImportError:
   print(traceback.format_exc(), file=sys.stderr)
   MesosExecutorDriver = None

http://git-wip-us.apache.org/repos/asf/aurora/blob/b912e172/src/test/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModuleTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModuleTest.java
 
b/src/test/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModuleTest.java
index 448d57a..ffc960c 100644
--- 
a/src/test/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModuleTest.java
+++ 
b/src/test/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModuleTest.java
@@ -26,6 +26,7 @@ import org.apache.aurora.common.quantity.Time;
 import org.apache.mesos.Protos;
 import org.junit.Test;
 
+import static 
org.apache.mesos.Protos.FrameworkInfo.Capability.Type.GPU_RESOURCES;
 import static 
org.apache.mesos.Protos.FrameworkInfo.Capability.Type.REVOCABLE_RESOURCES;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -77,7 +78,8 @@ public class CommandLineDriverSettingsModuleTest {
         "user",
         Optional.absent(),
         Amount.of(1L, Time.MINUTES),
-        false,
+        false, // revocable
+        false, // allow gpu
         Optional.absent());
     assertEquals("", info.getPrincipal());
     assertEquals(0, info.getCapabilitiesCount());
@@ -91,7 +93,8 @@ public class CommandLineDriverSettingsModuleTest {
         "user",
         Optional.absent(),
         Amount.of(1L, Time.MINUTES),
-        true,
+        true, // revocable
+        false, // allow gpu
         Optional.absent());
     assertEquals("", info.getPrincipal());
     assertEquals(1, info.getCapabilitiesCount());
@@ -100,13 +103,30 @@ public class CommandLineDriverSettingsModuleTest {
   }
 
   @Test
+  public void testFrameworkInfoAllowGpu() {
+    Protos.FrameworkInfo info = 
CommandLineDriverSettingsModule.buildFrameworkInfo(
+        "aurora",
+        "user",
+        Optional.absent(),
+        Amount.of(1L, Time.MINUTES),
+        false, // revocable
+        true, // allow gpu
+        Optional.absent());
+    assertEquals("", info.getPrincipal());
+    assertEquals(1, info.getCapabilitiesCount());
+    assertEquals(GPU_RESOURCES, info.getCapabilities(0).getType());
+    assertFalse(info.hasRole());
+  }
+
+  @Test
   public void testFrameworkInfoNoRevocableWithAnnouncedPrincipal() {
     Protos.FrameworkInfo info = 
CommandLineDriverSettingsModule.buildFrameworkInfo(
         "aurora",
         "user",
         Optional.of("auroraprincipal"),
         Amount.of(1L, Time.MINUTES),
-        false,
+        false, // revocable
+        false, // allow gpu
         Optional.absent());
     assertEquals("auroraprincipal", info.getPrincipal());
     assertEquals(0, info.getCapabilitiesCount());
@@ -120,11 +140,13 @@ public class CommandLineDriverSettingsModuleTest {
         "user",
         Optional.of("auroraprincipal"),
         Amount.of(1L, Time.MINUTES),
-        true,
+        true, // revocable
+        true, // allow gpu
         Optional.of(TEST_ROLE));
     assertEquals("auroraprincipal", info.getPrincipal());
-    assertEquals(1, info.getCapabilitiesCount());
+    assertEquals(2, info.getCapabilitiesCount());
     assertEquals(REVOCABLE_RESOURCES, info.getCapabilities(0).getType());
+    assertEquals(GPU_RESOURCES, info.getCapabilities(1).getType());
     assertTrue(info.hasRole());
     assertEquals(TEST_ROLE, info.getRole());
   }

http://git-wip-us.apache.org/repos/asf/aurora/blob/b912e172/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 500fd43..bb8a849 100644
--- 
a/src/test/java/org/apache/aurora/scheduler/mesos/MesosTaskFactoryImplTest.java
+++ 
b/src/test/java/org/apache/aurora/scheduler/mesos/MesosTaskFactoryImplTest.java
@@ -65,6 +65,7 @@ import static 
org.apache.aurora.scheduler.base.TaskTestUtil.DEV_TIER;
 import static org.apache.aurora.scheduler.base.TaskTestUtil.REVOCABLE_TIER;
 import static 
org.apache.aurora.scheduler.mesos.MesosTaskFactory.MesosTaskFactoryImpl.DEFAULT_PORT_PROTOCOL;
 import static 
org.apache.aurora.scheduler.mesos.MesosTaskFactory.MesosTaskFactoryImpl.METADATA_LABEL_PREFIX;
+import static 
org.apache.aurora.scheduler.mesos.MesosTaskFactory.MesosTaskFactoryImpl.SOURCE_LABEL;
 import static 
org.apache.aurora.scheduler.mesos.MesosTaskFactory.MesosTaskFactoryImpl.getInverseJobSourceName;
 import static 
org.apache.aurora.scheduler.mesos.TaskExecutors.NO_OVERHEAD_EXECUTOR;
 import static 
org.apache.aurora.scheduler.mesos.TaskExecutors.SOME_OVERHEAD_EXECUTOR;
@@ -151,8 +152,14 @@ public class MesosTaskFactoryImplTest extends EasyMockTest 
{
     return executor.toBuilder()
         .clearResources()
         .setExecutorId(MesosTaskFactoryImpl.getExecutorId(task.getTaskId()))
-        .setSource(
-            MesosTaskFactoryImpl.getInstanceSourceName(task.getTask(), 
task.getInstanceId()))
+        .setLabels(
+            Protos.Labels.newBuilder().addLabels(
+                Protos.Label.newBuilder()
+                    .setKey(SOURCE_LABEL)
+                    .setValue(
+                        MesosTaskFactoryImpl.getInstanceSourceName(
+                            task.getTask(),
+                            task.getInstanceId()))))
         .setCommand(executor.getCommand().toBuilder().addAllUris(
             ImmutableSet.of(
                 URI.newBuilder()

http://git-wip-us.apache.org/repos/asf/aurora/blob/b912e172/src/test/sh/org/apache/aurora/e2e/Dockerfile
----------------------------------------------------------------------
diff --git a/src/test/sh/org/apache/aurora/e2e/Dockerfile 
b/src/test/sh/org/apache/aurora/e2e/Dockerfile
index 6fdea3d..1b91f02 100644
--- a/src/test/sh/org/apache/aurora/e2e/Dockerfile
+++ b/src/test/sh/org/apache/aurora/e2e/Dockerfile
@@ -14,10 +14,8 @@
 
 FROM python:2.7
 
-# mesos.native requires libcurl-nss to initialize MesosExecutorDriver
 # The mesos containerizer does not auto-create mount points, so we must 
initialize them manually.
 # TODO(jcohen): Remove this mkdir when 
https://issues.apache.org/jira/browse/MESOS-5229 is resolved.
-RUN apt-get update && apt-get -y install libcurl4-nss-dev \
-    && mkdir -p /home/vagrant/aurora/examples/vagrant/config
+RUN mkdir -p /home/vagrant/aurora/examples/vagrant/config
 
 COPY http_example.py /tmp/

Reply via email to