You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by mp...@apache.org on 2016/03/16 14:17:10 UTC
[15/15] mesos git commit: Update test suite to use the reworked
MesosTest helpers.
Update test suite to use the reworked MesosTest helpers.
Includes the following changes:
* Added the `<process/owned.hpp>` header where appropriate.
* Added the namespace `using process::Owned;` where appropriate.
* Generally replaced `Try<PID<Master>>` with
`Try<Owned<cluster::Master>>`, and `Try<PID<Slave>>` with
`Try<Owned<cluster::Slave>>`.
* Added the (now required) `MasterDetector` argument to all slaves.
Before, this was fetched from the first master in `Cluster`.
* Removed `Shutdown();` from all tests.
* Replaced `Stop(...)` with the appropriate master/slave
destruction calls.
* Wrap various slave objects in `Owned`
(i.e. containerizers, isolators, launchers, etc).
* Replace `CHECK` in tests with `ASSERT`.
Review: https://reviews.apache.org/r/43615/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/95153931
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/95153931
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/95153931
Branch: refs/heads/master
Commit: 951539317525f3afe9490ed098617e5d4563a80a
Parents: c7df1d7
Author: Joseph Wu <jo...@mesosphere.io>
Authored: Wed Mar 16 08:19:17 2016 -0400
Committer: Michael Park <mp...@apache.org>
Committed: Wed Mar 16 08:19:17 2016 -0400
----------------------------------------------------------------------
src/tests/authentication_tests.cpp | 168 ++---
src/tests/command_executor_tests.cpp | 16 +-
src/tests/container_logger_tests.cpp | 52 +-
.../docker_containerizer_tests.cpp | 417 ++++++-----
.../external_containerizer_test.cpp | 12 +-
.../containerizer/filesystem_isolator_tests.cpp | 58 +-
src/tests/containerizer/isolator_tests.cpp | 268 ++++---
.../containerizer/memory_pressure_tests.cpp | 60 +-
.../containerizer/mesos_containerizer_tests.cpp | 50 +-
src/tests/containerizer/port_mapping_tests.cpp | 97 ++-
.../containerizer/provisioner_docker_tests.cpp | 19 +-
.../containerizer/runtime_isolator_tests.cpp | 30 +-
src/tests/credentials_tests.cpp | 22 +-
src/tests/disk_quota_tests.cpp | 99 +--
src/tests/exception_tests.cpp | 29 +-
src/tests/executor_http_api_tests.cpp | 127 ++--
src/tests/fault_tolerance_tests.cpp | 276 ++++---
src/tests/gc_tests.cpp | 67 +-
src/tests/health_check_tests.cpp | 159 ++--
src/tests/hook_tests.cpp | 92 ++-
src/tests/http_fault_tolerance_tests.cpp | 68 +-
src/tests/master_allocator_tests.cpp | 192 ++---
src/tests/master_authorization_tests.cpp | 127 ++--
src/tests/master_contender_detector_tests.cpp | 28 +-
src/tests/master_quota_tests.cpp | 163 ++---
src/tests/master_slave_reconciliation_tests.cpp | 95 +--
src/tests/master_tests.cpp | 716 +++++++++----------
src/tests/master_validation_tests.cpp | 84 +--
src/tests/metrics_tests.cpp | 11 +-
src/tests/monitor_tests.cpp | 10 +-
src/tests/oversubscription_tests.cpp | 116 +--
src/tests/partition_tests.cpp | 75 +-
src/tests/persistent_volume_endpoints_tests.cpp | 233 +++---
src/tests/persistent_volume_tests.cpp | 128 ++--
src/tests/rate_limiting_tests.cpp | 116 ++-
src/tests/reconciliation_tests.cpp | 127 ++--
src/tests/registrar_zookeeper_tests.cpp | 12 +-
src/tests/repair_tests.cpp | 44 +-
src/tests/reservation_endpoints_tests.cpp | 219 +++---
src/tests/reservation_tests.cpp | 185 +++--
src/tests/role_tests.cpp | 72 +-
src/tests/scheduler_driver_tests.cpp | 66 +-
src/tests/scheduler_event_call_tests.cpp | 93 +--
src/tests/scheduler_http_api_tests.cpp | 93 ++-
src/tests/slave_tests.cpp | 484 +++++++------
src/tests/status_update_manager_tests.cpp | 148 ++--
src/tests/teardown_tests.cpp | 61 +-
47 files changed, 2891 insertions(+), 2993 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/95153931/src/tests/authentication_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/authentication_tests.cpp b/src/tests/authentication_tests.cpp
index 85f14c3..8143cd7 100644
--- a/src/tests/authentication_tests.cpp
+++ b/src/tests/authentication_tests.cpp
@@ -52,11 +52,12 @@ class AuthenticationTest : public MesosTest {};
// denied registration by the master.
TEST_F(AuthenticationTest, UnauthenticatedFramework)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockScheduler sched;
- MesosSchedulerDriver driver(&sched, DEFAULT_FRAMEWORK_INFO, master.get());
+ MesosSchedulerDriver driver(
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid);
Future<Nothing> error;
EXPECT_CALL(sched, error(&driver, _))
@@ -69,8 +70,6 @@ TEST_F(AuthenticationTest, UnauthenticatedFramework)
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -78,7 +77,7 @@ TEST_F(AuthenticationTest, UnauthenticatedFramework)
// denied registration by the master.
TEST_F(AuthenticationTest, UnauthenticatedSlave)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
Future<ShutdownMessage> shutdownMessage =
@@ -88,14 +87,13 @@ TEST_F(AuthenticationTest, UnauthenticatedSlave)
slave::Flags flags = CreateSlaveFlags();
flags.credential = None();
- Try<PID<Slave>> slave = StartSlave(flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+ Try<Owned<cluster::Slave>> slave = StartSlave(detector.get(), flags);
ASSERT_SOME(slave);
// Slave should get error message from the master.
AWAIT_READY(shutdownMessage);
ASSERT_NE("", shutdownMessage.get().message());
-
- Shutdown();
}
@@ -106,12 +104,13 @@ TEST_F(AuthenticationTest, DisableFrameworkAuthentication)
master::Flags flags = CreateMasterFlags();
flags.authenticate_frameworks = false; // Disable authentication.
- Try<PID<Master>> master = StartMaster(flags);
+ Try<Owned<cluster::Master>> master = StartMaster(flags);
ASSERT_SOME(master);
// Start the scheduler without credentials.
MockScheduler sched;
- MesosSchedulerDriver driver(&sched, DEFAULT_FRAMEWORK_INFO, master.get());
+ MesosSchedulerDriver driver(
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid);
Future<Nothing> registered;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -124,8 +123,6 @@ TEST_F(AuthenticationTest, DisableFrameworkAuthentication)
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -136,7 +133,7 @@ TEST_F(AuthenticationTest, DisableSlaveAuthentication)
master::Flags flags = CreateMasterFlags();
flags.authenticate_slaves = false; // Disable authentication.
- Try<PID<Master>> master = StartMaster(flags);
+ Try<Owned<cluster::Master>> master = StartMaster(flags);
ASSERT_SOME(master);
Future<SlaveRegisteredMessage> slaveRegisteredMessage =
@@ -146,14 +143,13 @@ TEST_F(AuthenticationTest, DisableSlaveAuthentication)
slave::Flags slaveFlags = CreateSlaveFlags();
slaveFlags.credential = None();
- Try<PID<Slave>> slave = StartSlave(slaveFlags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+ Try<Owned<cluster::Slave>> slave = StartSlave(detector.get(), slaveFlags);
ASSERT_SOME(slave);
// Slave should be able to get registered.
AWAIT_READY(slaveRegisteredMessage);
ASSERT_NE("", slaveRegisteredMessage.get().slave_id().value());
-
- Shutdown();
}
@@ -162,7 +158,7 @@ TEST_F(AuthenticationTest, DisableSlaveAuthentication)
// FrameworkInfo.principal than Credential.principal.
TEST_F(AuthenticationTest, MismatchedFrameworkInfoPrincipal)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockScheduler sched;
@@ -170,10 +166,7 @@ TEST_F(AuthenticationTest, MismatchedFrameworkInfoPrincipal)
frameworkInfo.set_principal("mismatched-principal");
MesosSchedulerDriver driver(
- &sched,
- frameworkInfo,
- master.get(),
- DEFAULT_CREDENTIAL);
+ &sched, frameworkInfo, master.get()->pid, DEFAULT_CREDENTIAL);
Future<Nothing> error;
EXPECT_CALL(sched, error(&driver, _))
@@ -186,8 +179,6 @@ TEST_F(AuthenticationTest, MismatchedFrameworkInfoPrincipal)
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -200,7 +191,7 @@ TEST_F(AuthenticationTest, DisabledFrameworkAuthenticationPrincipalMismatch)
master::Flags flags = CreateMasterFlags();
flags.authenticate_frameworks = false; // Authentication not required.
- Try<PID<Master>> master = StartMaster(flags);
+ Try<Owned<cluster::Master>> master = StartMaster(flags);
ASSERT_SOME(master);
MockScheduler sched;
@@ -208,10 +199,7 @@ TEST_F(AuthenticationTest, DisabledFrameworkAuthenticationPrincipalMismatch)
frameworkInfo.set_principal("mismatched-principal");
MesosSchedulerDriver driver(
- &sched,
- frameworkInfo,
- master.get(),
- DEFAULT_CREDENTIAL);
+ &sched, frameworkInfo, master.get()->pid, DEFAULT_CREDENTIAL);
Future<Nothing> error;
EXPECT_CALL(sched, error(&driver, _))
@@ -224,8 +212,6 @@ TEST_F(AuthenticationTest, DisabledFrameworkAuthenticationPrincipalMismatch)
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -234,7 +220,7 @@ TEST_F(AuthenticationTest, DisabledFrameworkAuthenticationPrincipalMismatch)
// register.
TEST_F(AuthenticationTest, UnspecifiedFrameworkInfoPrincipal)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockScheduler sched;
@@ -242,10 +228,7 @@ TEST_F(AuthenticationTest, UnspecifiedFrameworkInfoPrincipal)
frameworkInfo.clear_principal();
MesosSchedulerDriver driver(
- &sched,
- frameworkInfo,
- master.get(),
- DEFAULT_CREDENTIAL);
+ &sched, frameworkInfo, master.get()->pid, DEFAULT_CREDENTIAL);
Future<Nothing> registered;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -258,8 +241,6 @@ TEST_F(AuthenticationTest, UnspecifiedFrameworkInfoPrincipal)
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -270,13 +251,13 @@ TEST_F(AuthenticationTest, AuthenticatedFramework)
master::Flags flags = CreateMasterFlags();
flags.authenticate_frameworks = false; // Disable authentication.
- Try<PID<Master>> master = StartMaster(flags);
+ Try<Owned<cluster::Master>> master = StartMaster(flags);
ASSERT_SOME(master);
// Start the scheduler with credentials.
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<Nothing> registered;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -289,8 +270,6 @@ TEST_F(AuthenticationTest, AuthenticatedFramework)
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -301,21 +280,21 @@ TEST_F(AuthenticationTest, AuthenticatedSlave)
master::Flags flags = CreateMasterFlags();
flags.authenticate_slaves = false; // Disable authentication.
- Try<PID<Master>> master = StartMaster(flags);
+ Try<Owned<cluster::Master>> master = StartMaster(flags);
ASSERT_SOME(master);
Future<SlaveRegisteredMessage> slaveRegisteredMessage =
FUTURE_PROTOBUF(SlaveRegisteredMessage(), _, _);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
// Start the slave with credentials.
- Try<PID<Slave>> slave = StartSlave();
+ Try<Owned<cluster::Slave>> slave = StartSlave(detector.get());
ASSERT_SOME(slave);
// Slave should be able to get registered.
AWAIT_READY(slaveRegisteredMessage);
ASSERT_NE("", slaveRegisteredMessage.get().slave_id().value());
-
- Shutdown();
}
@@ -323,12 +302,12 @@ TEST_F(AuthenticationTest, AuthenticatedSlave)
// authentication when authenticate message is lost.
TEST_F(AuthenticationTest, RetryFrameworkAuthentication)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
// Drop the first authenticate message from the scheduler.
Future<AuthenticateMessage> authenticateMessage =
@@ -353,8 +332,6 @@ TEST_F(AuthenticationTest, RetryFrameworkAuthentication)
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -362,14 +339,15 @@ TEST_F(AuthenticationTest, RetryFrameworkAuthentication)
// authentication when authenticate message is lost.
TEST_F(AuthenticationTest, RetrySlaveAuthentication)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
// Drop the first authenticate message from the slave.
Future<AuthenticateMessage> authenticateMessage =
DROP_PROTOBUF(AuthenticateMessage(), _, _);
- Try<PID<Slave>> slave = StartSlave();
+ Owned<MasterDetector> detector = master.get()->createDetector();
+ Try<Owned<cluster::Slave>> slave = StartSlave(detector.get());
ASSERT_SOME(slave);
AWAIT_READY(authenticateMessage);
@@ -386,8 +364,6 @@ TEST_F(AuthenticationTest, RetrySlaveAuthentication)
// Slave should be able to get registered.
AWAIT_READY(slaveRegisteredMessage);
ASSERT_NE("", slaveRegisteredMessage.get().slave_id().value());
-
- Shutdown();
}
@@ -396,12 +372,12 @@ TEST_F(AuthenticationTest, RetrySlaveAuthentication)
// is lost.
TEST_F(AuthenticationTest, DropIntermediateSASLMessage)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
// Drop the AuthenticationStepMessage from authenticator.
Future<AuthenticationStepMessage> authenticationStepMessage =
@@ -432,8 +408,6 @@ TEST_F(AuthenticationTest, DropIntermediateSASLMessage)
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -442,14 +416,15 @@ TEST_F(AuthenticationTest, DropIntermediateSASLMessage)
// is lost.
TEST_F(AuthenticationTest, DropIntermediateSASLMessageForSlave)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
// Drop the AuthenticationStepMessage from authenticator.
Future<AuthenticationStepMessage> authenticationStepMessage =
DROP_PROTOBUF(AuthenticationStepMessage(), _, _);
- Try<PID<Slave>> slave = StartSlave();
+ Owned<MasterDetector> detector = master.get()->createDetector();
+ Try<Owned<cluster::Slave>> slave = StartSlave(detector.get());
ASSERT_SOME(slave);
AWAIT_READY(authenticationStepMessage);
@@ -472,8 +447,6 @@ TEST_F(AuthenticationTest, DropIntermediateSASLMessageForSlave)
// Slave should be able to get registered.
AWAIT_READY(slaveRegisteredMessage);
ASSERT_NE("", slaveRegisteredMessage.get().slave_id().value());
-
- Shutdown();
}
@@ -485,12 +458,12 @@ TEST_F(AuthenticationTest, DropIntermediateSASLMessageForSlave)
// eventually register.
TEST_F(AuthenticationTest, DropFinalSASLMessage)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
// Drop the AuthenticationCompletedMessage from authenticator.
Future<AuthenticationCompletedMessage> authenticationCompletedMessage =
@@ -521,8 +494,6 @@ TEST_F(AuthenticationTest, DropFinalSASLMessage)
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -534,14 +505,15 @@ TEST_F(AuthenticationTest, DropFinalSASLMessage)
// eventually register.
TEST_F(AuthenticationTest, DropFinalSASLMessageForSlave)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
// Drop the AuthenticationCompletedMessage from authenticator.
Future<AuthenticationCompletedMessage> authenticationCompletedMessage =
DROP_PROTOBUF(AuthenticationCompletedMessage(), _, _);
- Try<PID<Slave>> slave = StartSlave();
+ Owned<MasterDetector> detector = master.get()->createDetector();
+ Try<Owned<cluster::Slave>> slave = StartSlave(detector.get());
ASSERT_SOME(slave);
AWAIT_READY(authenticationCompletedMessage);
@@ -564,8 +536,6 @@ TEST_F(AuthenticationTest, DropFinalSASLMessageForSlave)
// Slave should be able to get registered.
AWAIT_READY(slaveRegisteredMessage);
ASSERT_NE("", slaveRegisteredMessage.get().slave_id().value());
-
- Shutdown();
}
@@ -574,12 +544,12 @@ TEST_F(AuthenticationTest, DropFinalSASLMessageForSlave)
// authenticates.
TEST_F(AuthenticationTest, MasterFailover)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockScheduler sched;
Owned<StandaloneMasterDetector> detector(
- new StandaloneMasterDetector(master.get()));
+ new StandaloneMasterDetector(master.get()->pid));
TestingMesosSchedulerDriver driver(&sched, detector.get());
// Drop the authenticate message from the scheduler.
@@ -592,7 +562,7 @@ TEST_F(AuthenticationTest, MasterFailover)
// While the authentication is in progress simulate a failed over
// master by restarting the master.
- Stop(master.get());
+ master->reset();
master = StartMaster();
ASSERT_SOME(master);
@@ -601,15 +571,13 @@ TEST_F(AuthenticationTest, MasterFailover)
.WillOnce(FutureSatisfy(®istered));
// Appoint a new master and inform the scheduler about it.
- detector->appoint(master.get());
+ detector->appoint(master.get()->pid);
// Scheduler should successfully register with the new master.
AWAIT_READY(registered);
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -618,23 +586,23 @@ TEST_F(AuthenticationTest, MasterFailover)
// authenticates.
TEST_F(AuthenticationTest, MasterFailoverDuringSlaveAuthentication)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
// Drop the authenticate message from the slave.
Future<AuthenticateMessage> authenticateMessage =
DROP_PROTOBUF(AuthenticateMessage(), _, _);
- StandaloneMasterDetector detector(master.get());
+ StandaloneMasterDetector detector(master.get()->pid);
slave::Flags slaveFlags = CreateSlaveFlags();
- Try<PID<Slave>> slave = StartSlave(&detector, slaveFlags);
+ Try<Owned<cluster::Slave>> slave = StartSlave(&detector, slaveFlags);
ASSERT_SOME(slave);
AWAIT_READY(authenticateMessage);
// While the authentication is in progress simulate a failed over
// master by restarting the master.
- Stop(master.get());
+ master->reset();
master = StartMaster();
ASSERT_SOME(master);
@@ -642,13 +610,11 @@ TEST_F(AuthenticationTest, MasterFailoverDuringSlaveAuthentication)
FUTURE_PROTOBUF(SlaveRegisteredMessage(), _, _);
// Appoint a new master and inform the slave about it.
- detector.appoint(master.get());
+ detector.appoint(master.get()->pid);
// Slave should be able to get registered.
AWAIT_READY(slaveRegisteredMessage);
ASSERT_NE("", slaveRegisteredMessage.get().slave_id().value());
-
- Shutdown();
}
@@ -657,12 +623,12 @@ TEST_F(AuthenticationTest, MasterFailoverDuringSlaveAuthentication)
// detected due to leader election), it is handled properly.
TEST_F(AuthenticationTest, LeaderElection)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockScheduler sched;
Owned<StandaloneMasterDetector> detector(
- new StandaloneMasterDetector(master.get()));
+ new StandaloneMasterDetector(master.get()->pid));
TestingMesosSchedulerDriver driver(&sched, detector.get());
// Drop the AuthenticationStepMessage from authenticator.
@@ -679,15 +645,13 @@ TEST_F(AuthenticationTest, LeaderElection)
.WillOnce(FutureSatisfy(®istered));
// Appoint a new master and inform the scheduler about it.
- detector->appoint(master.get());
+ detector->appoint(master.get()->pid);
// Scheduler should successfully register with the new master.
AWAIT_READY(registered);
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -696,16 +660,16 @@ TEST_F(AuthenticationTest, LeaderElection)
// detected due to leader election), it is handled properly.
TEST_F(AuthenticationTest, LeaderElectionDuringSlaveAuthentication)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
// Drop the AuthenticationStepMessage from authenticator.
Future<AuthenticationStepMessage> authenticationStepMessage =
DROP_PROTOBUF(AuthenticationStepMessage(), _, _);
- StandaloneMasterDetector detector(master.get());
+ StandaloneMasterDetector detector(master.get()->pid);
slave::Flags slaveFlags = CreateSlaveFlags();
- Try<PID<Slave>> slave = StartSlave(&detector, slaveFlags);
+ Try<Owned<cluster::Slave>> slave = StartSlave(&detector, slaveFlags);
ASSERT_SOME(slave);
// Drop the intermediate SASL message so that authentication fails.
@@ -715,13 +679,11 @@ TEST_F(AuthenticationTest, LeaderElectionDuringSlaveAuthentication)
FUTURE_PROTOBUF(SlaveRegisteredMessage(), _, _);
// Appoint a new master and inform the slave about it.
- detector.appoint(master.get());
+ detector.appoint(master.get()->pid);
// Slave should be able to get registered.
AWAIT_READY(slaveRegisteredMessage);
ASSERT_NE("", slaveRegisteredMessage.get().slave_id().value());
-
- Shutdown();
}
@@ -730,13 +692,13 @@ TEST_F(AuthenticationTest, LeaderElectionDuringSlaveAuthentication)
// with the master when it comes back up.
TEST_F(AuthenticationTest, SchedulerFailover)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
// Launch the first (i.e., failing) scheduler.
MockScheduler sched1;
Owned<StandaloneMasterDetector> detector(
- new StandaloneMasterDetector(master.get()));
+ new StandaloneMasterDetector(master.get()->pid));
TestingMesosSchedulerDriver driver1(&sched1, detector.get());
Future<FrameworkID> frameworkId;
@@ -755,7 +717,7 @@ TEST_F(AuthenticationTest, SchedulerFailover)
EXPECT_CALL(sched1, disconnected(&driver1));
// Appoint a new master and inform the scheduler about it.
- detector->appoint(master.get());
+ detector->appoint(master.get()->pid);
AWAIT_READY(authenticationStepMessage);
@@ -769,7 +731,7 @@ TEST_F(AuthenticationTest, SchedulerFailover)
framework2.mutable_id()->MergeFrom(frameworkId.get());
MesosSchedulerDriver driver2(
- &sched2, framework2, master.get(), DEFAULT_CREDENTIAL);
+ &sched2, framework2, master.get()->pid, DEFAULT_CREDENTIAL);
Future<Nothing> sched2Registered;
EXPECT_CALL(sched2, registered(&driver2, frameworkId.get(), _))
@@ -789,8 +751,6 @@ TEST_F(AuthenticationTest, SchedulerFailover)
driver1.stop();
driver1.join();
-
- Shutdown();
}
@@ -799,13 +759,13 @@ TEST_F(AuthenticationTest, SchedulerFailover)
// authentication.
TEST_F(AuthenticationTest, RejectedSchedulerFailover)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
// Launch the first scheduler.
MockScheduler sched1;
Owned<StandaloneMasterDetector> detector(
- new StandaloneMasterDetector(master.get()));
+ new StandaloneMasterDetector(master.get()->pid));
TestingMesosSchedulerDriver driver1(&sched1, detector.get());
Future<FrameworkID> frameworkId;
@@ -824,7 +784,7 @@ TEST_F(AuthenticationTest, RejectedSchedulerFailover)
EXPECT_CALL(sched1, disconnected(&driver1));
// Appoint a new master and inform the scheduler about it.
- detector->appoint(master.get());
+ detector->appoint(master.get()->pid);
AWAIT_READY(authenticationStepMessage);
@@ -839,7 +799,7 @@ TEST_F(AuthenticationTest, RejectedSchedulerFailover)
framework2.set_principal("mismatched-principal");
MesosSchedulerDriver driver2(
- &sched2, framework2, master.get(), DEFAULT_CREDENTIAL);
+ &sched2, framework2, master.get()->pid, DEFAULT_CREDENTIAL);
Future<Nothing> sched1Error;
EXPECT_CALL(sched1, error(&driver1, _))
@@ -859,8 +819,6 @@ TEST_F(AuthenticationTest, RejectedSchedulerFailover)
driver1.stop();
driver1.join();
-
- Shutdown();
}
} // namespace tests {
http://git-wip-us.apache.org/repos/asf/mesos/blob/95153931/src/tests/command_executor_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/command_executor_tests.cpp b/src/tests/command_executor_tests.cpp
index 0d2fcf6..970cdc3 100644
--- a/src/tests/command_executor_tests.cpp
+++ b/src/tests/command_executor_tests.cpp
@@ -24,6 +24,7 @@
#include <process/future.hpp>
#include <process/gmock.hpp>
#include <process/gtest.hpp>
+#include <process/owned.hpp>
#include <process/pid.hpp>
#include <stout/gtest.hpp>
@@ -39,6 +40,7 @@ using mesos::internal::master::Master;
using mesos::internal::slave::Slave;
using process::Future;
+using process::Owned;
using process::PID;
using std::vector;
@@ -57,16 +59,17 @@ class CommandExecutorTest : public MesosTest {};
// TASK_KILLING to frameworks that do not support the capability.
TEST_F(CommandExecutorTest, NoTaskKillingCapability)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
- Try<PID<Slave>> slave = StartSlave();
+ Owned<MasterDetector> detector = master.get()->createDetector();
+ Try<Owned<cluster::Slave>> slave = StartSlave(detector.get());
ASSERT_SOME(slave);
// Start the framework without the task killing capability.
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
EXPECT_CALL(sched, registered(&driver, _, _));
@@ -114,10 +117,11 @@ TEST_F(CommandExecutorTest, NoTaskKillingCapability)
// to frameworks that support the capability.
TEST_F(CommandExecutorTest, TaskKillingCapability)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
- Try<PID<Slave>> slave = StartSlave();
+ Owned<MasterDetector> detector = master.get()->createDetector();
+ Try<Owned<cluster::Slave>> slave = StartSlave(detector.get());
ASSERT_SOME(slave);
// Start the framework with the task killing capability.
@@ -129,7 +133,7 @@ TEST_F(CommandExecutorTest, TaskKillingCapability)
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, frameworkInfo, master.get(), DEFAULT_CREDENTIAL);
+ &sched, frameworkInfo, master.get()->pid, DEFAULT_CREDENTIAL);
EXPECT_CALL(sched, registered(&driver, _, _));
http://git-wip-us.apache.org/repos/asf/mesos/blob/95153931/src/tests/container_logger_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/container_logger_tests.cpp b/src/tests/container_logger_tests.cpp
index 00f4129..71101c3 100644
--- a/src/tests/container_logger_tests.cpp
+++ b/src/tests/container_logger_tests.cpp
@@ -22,6 +22,7 @@
#include <process/future.hpp>
#include <process/gtest.hpp>
+#include <process/owned.hpp>
#include <stout/bytes.hpp>
#include <stout/gtest.hpp>
@@ -277,7 +278,7 @@ TEST_F(ContainerLoggerTest, ROOT_DOCKER_ContainerizerRecover)
TEST_F(ContainerLoggerTest, DefaultToSandbox)
{
// Create a master, agent, and framework.
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
Future<SlaveRegisteredMessage> slaveRegisteredMessage =
@@ -289,11 +290,16 @@ TEST_F(ContainerLoggerTest, DefaultToSandbox)
Fetcher fetcher;
// We use an actual containerizer + executor since we want something to run.
- Try<MesosContainerizer*> containerizer =
+ Try<MesosContainerizer*> _containerizer =
MesosContainerizer::create(flags, false, &fetcher);
- CHECK_SOME(containerizer);
- Try<PID<Slave>> slave = StartSlave(containerizer.get(), flags);
+ CHECK_SOME(_containerizer);
+ Owned<MesosContainerizer> containerizer(_containerizer.get());
+
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), containerizer.get(), flags);
ASSERT_SOME(slave);
AWAIT_READY(slaveRegisteredMessage);
@@ -301,7 +307,7 @@ TEST_F(ContainerLoggerTest, DefaultToSandbox)
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -340,7 +346,7 @@ TEST_F(ContainerLoggerTest, DefaultToSandbox)
driver.stop();
driver.join();
- Shutdown();
+ slave->reset();
// Check that the sandbox was written to.
string sandboxDirectory = path::join(
@@ -368,7 +374,7 @@ TEST_F(ContainerLoggerTest, DefaultToSandbox)
TEST_F(ContainerLoggerTest, LOGROTATE_RotateInSandbox)
{
// Create a master, agent, and framework.
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
Future<SlaveRegisteredMessage> slaveRegisteredMessage =
@@ -383,11 +389,16 @@ TEST_F(ContainerLoggerTest, LOGROTATE_RotateInSandbox)
Fetcher fetcher;
// We use an actual containerizer + executor since we want something to run.
- Try<MesosContainerizer*> containerizer =
+ Try<MesosContainerizer*> _containerizer =
MesosContainerizer::create(flags, false, &fetcher);
- CHECK_SOME(containerizer);
- Try<PID<Slave>> slave = StartSlave(containerizer.get(), flags);
+ CHECK_SOME(_containerizer);
+ Owned<MesosContainerizer> containerizer(_containerizer.get());
+
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), containerizer.get(), flags);
ASSERT_SOME(slave);
AWAIT_READY(slaveRegisteredMessage);
@@ -395,7 +406,7 @@ TEST_F(ContainerLoggerTest, LOGROTATE_RotateInSandbox)
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -441,8 +452,6 @@ TEST_F(ContainerLoggerTest, LOGROTATE_RotateInSandbox)
driver.stop();
driver.join();
- Shutdown();
-
// The `LogrotateContainerLogger` spawns some `mesos-logrotate-logger`
// processes above, which continue running briefly after the container exits.
// Once they finish reading the container's pipe, they should exit.
@@ -498,7 +507,7 @@ TEST_F(ContainerLoggerTest, LOGROTATE_RotateInSandbox)
TEST_F(ContainerLoggerTest, LOGROTATE_ModuleFDOwnership)
{
// Create a master, agent, and framework.
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
Future<SlaveRegisteredMessage> slaveRegisteredMessage =
@@ -513,11 +522,16 @@ TEST_F(ContainerLoggerTest, LOGROTATE_ModuleFDOwnership)
Fetcher fetcher;
// We use an actual containerizer + executor since we want something to run.
- Try<MesosContainerizer*> containerizer =
+ Try<MesosContainerizer*> _containerizer =
MesosContainerizer::create(flags, false, &fetcher);
- CHECK_SOME(containerizer);
- Try<PID<Slave>> slave = StartSlave(containerizer.get(), flags);
+ CHECK_SOME(_containerizer);
+ Owned<MesosContainerizer> containerizer(_containerizer.get());
+
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), containerizer.get(), flags);
ASSERT_SOME(slave);
AWAIT_READY(slaveRegisteredMessage);
@@ -525,7 +539,7 @@ TEST_F(ContainerLoggerTest, LOGROTATE_ModuleFDOwnership)
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -586,8 +600,6 @@ TEST_F(ContainerLoggerTest, LOGROTATE_ModuleFDOwnership)
driver.stop();
driver.join();
-
- Shutdown();
}
} // namespace tests {
http://git-wip-us.apache.org/repos/asf/mesos/blob/95153931/src/tests/containerizer/docker_containerizer_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/docker_containerizer_tests.cpp b/src/tests/containerizer/docker_containerizer_tests.cpp
index 8afaa4d..f6fce7d 100644
--- a/src/tests/containerizer/docker_containerizer_tests.cpp
+++ b/src/tests/containerizer/docker_containerizer_tests.cpp
@@ -58,11 +58,6 @@ using mesos::internal::slave::Slave;
using mesos::slave::ContainerLogger;
-using process::Future;
-using process::Message;
-using process::PID;
-using process::UPID;
-
using std::list;
using std::string;
using std::vector;
@@ -173,7 +168,7 @@ public:
#ifdef __linux__
TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch_Executor)
{
- Try<PID<Master> > master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -196,12 +191,15 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch_Executor)
Owned<ContainerLogger>(logger.get()),
docker);
- Try<PID<Slave> > slave = StartSlave(&dockerContainerizer, flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer, flags);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -282,8 +280,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch_Executor)
ASSERT_FALSE(
exists(docker, slaveId, containerId.get(), ContainerState::RUNNING));
-
- Shutdown();
}
@@ -299,7 +295,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch_Executor)
// TODO(tnachen): Re-enable this test when we are able to fix MESOS-3123.
TEST_F(DockerContainerizerTest, DISABLED_ROOT_DOCKER_Launch_Executor_Bridged)
{
- Try<PID<Master> > master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -322,12 +318,15 @@ TEST_F(DockerContainerizerTest, DISABLED_ROOT_DOCKER_Launch_Executor_Bridged)
Owned<ContainerLogger>(logger.get()),
docker);
- Try<PID<Slave> > slave = StartSlave(&dockerContainerizer, flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer, flags);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -409,15 +408,13 @@ TEST_F(DockerContainerizerTest, DISABLED_ROOT_DOCKER_Launch_Executor_Bridged)
ASSERT_FALSE(
exists(docker, slaveId, containerId.get(), ContainerState::RUNNING));
-
- Shutdown();
}
#endif // __linux__
TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch)
{
- Try<PID<Master> > master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -440,12 +437,15 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch)
Owned<ContainerLogger>(logger.get()),
docker);
- Try<PID<Slave> > slave = StartSlave(&dockerContainerizer, flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer, flags);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -510,7 +510,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch)
// Check if container information is exposed through master's state endpoint.
Future<http::Response> response = http::get(
- master.get(),
+ master.get()->pid,
"state",
None(),
createBasicAuthHeaders(DEFAULT_CREDENTIAL));
@@ -526,7 +526,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch)
EXPECT_SOME_EQ(false, find);
// Check if container information is exposed through slave's state endpoint.
- response = http::get(slave.get(), "state");
+ response = http::get(slave.get()->pid, "state");
AWAIT_EXPECT_RESPONSE_STATUS_EQ(process::http::OK().status, response);
parse = JSON::parse<JSON::Object>(response.get().body);
@@ -555,14 +555,12 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch)
ASSERT_FALSE(
exists(docker, slaveId, containerId.get(), ContainerState::RUNNING));
-
- Shutdown();
}
TEST_F(DockerContainerizerTest, ROOT_DOCKER_Kill)
{
- Try<PID<Master> > master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -585,12 +583,15 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Kill)
Owned<ContainerLogger>(logger.get()),
docker);
- Try<PID<Slave> > slave = StartSlave(&dockerContainerizer, flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer, flags);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -670,8 +671,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Kill)
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -679,7 +678,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Kill)
// before TASK_KILLED, if the capability is supported.
TEST_F(DockerContainerizerTest, ROOT_DOCKER_TaskKillingCapability)
{
- Try<PID<Master> > master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -702,7 +701,10 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_TaskKillingCapability)
Owned<ContainerLogger>(logger.get()),
docker);
- Try<PID<Slave> > slave = StartSlave(&dockerContainerizer, flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer, flags);
ASSERT_SOME(slave);
// Start the framework with the task killing capability.
@@ -714,7 +716,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_TaskKillingCapability)
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, frameworkInfo, master.get(), DEFAULT_CREDENTIAL);
+ &sched, frameworkInfo, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -798,15 +800,13 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_TaskKillingCapability)
driver.stop();
driver.join();
-
- Shutdown();
}
// This test tests DockerContainerizer::usage().
TEST_F(DockerContainerizerTest, ROOT_DOCKER_Usage)
{
- Try<PID<Master> > master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
slave::Flags flags = CreateSlaveFlags();
@@ -830,12 +830,15 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Usage)
Owned<ContainerLogger>(logger.get()),
docker);
- Try<PID<Slave> > slave = StartSlave(&dockerContainerizer, flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer, flags);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -943,15 +946,13 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Usage)
driver.stop();
driver.join();
-
- Shutdown();
}
#ifdef __linux__
TEST_F(DockerContainerizerTest, ROOT_DOCKER_Update)
{
- Try<PID<Master> > master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -974,12 +975,15 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Update)
Owned<ContainerLogger>(logger.get()),
docker);
- Try<PID<Slave> > slave = StartSlave(&dockerContainerizer, flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer, flags);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -1109,8 +1113,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Update)
driver.stop();
driver.join();
-
- Shutdown();
}
#endif // __linux__
@@ -1235,8 +1237,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Recover)
AWAIT_FAILED(dockerContainerizer.wait(reapedContainerId));
AWAIT_EQ(inspect.get().id, stoppedContainer);
-
- Shutdown();
}
@@ -1306,7 +1306,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_SkipRecoverNonDocker)
// persistent volume.
TEST_F(DockerContainerizerTest, ROOT_DOCKER_LaunchWithPersistentVolumes)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -1330,7 +1330,10 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_LaunchWithPersistentVolumes)
Owned<ContainerLogger>(logger.get()),
docker);
- Try<PID<Slave>> slave = StartSlave(&dockerContainerizer, flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer, flags);
ASSERT_SOME(slave);
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
@@ -1338,7 +1341,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_LaunchWithPersistentVolumes)
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, frameworkInfo, master.get(), DEFAULT_CREDENTIAL);
+ &sched, frameworkInfo, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -1446,8 +1449,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_LaunchWithPersistentVolumes)
EXPECT_FALSE(
strings::contains(entry.target, path::join(directory.get(), "path1")));
}
-
- Shutdown();
}
@@ -1455,7 +1456,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_LaunchWithPersistentVolumes)
// with persistent volumes and destroy it properly.
TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverPersistentVolumes)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -1473,13 +1474,17 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverPersistentVolumes)
ASSERT_SOME(logger);
- MockDockerContainerizer* dockerContainerizer = new MockDockerContainerizer(
- flags,
- &fetcher,
- Owned<ContainerLogger>(logger.get()),
- docker);
+ Owned<MockDockerContainerizer> dockerContainerizer(
+ new MockDockerContainerizer(
+ flags,
+ &fetcher,
+ Owned<ContainerLogger>(logger.get()),
+ docker));
+
+ Owned<MasterDetector> detector = master.get()->createDetector();
- Try<PID<Slave>> slave = StartSlave(dockerContainerizer, flags);
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), dockerContainerizer.get(), flags);
ASSERT_SOME(slave);
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
@@ -1488,7 +1493,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverPersistentVolumes)
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, frameworkInfo, master.get(), DEFAULT_CREDENTIAL);
+ &sched, frameworkInfo, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -1547,7 +1552,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverPersistentVolumes)
EXPECT_CALL(*dockerContainerizer, launch(_, _, _, _, _, _, _, _))
.WillOnce(DoAll(FutureArg<0>(&containerId),
FutureArg<3>(&directory),
- Invoke(dockerContainerizer,
+ Invoke(dockerContainerizer.get(),
&MockDockerContainerizer::_launch)));
Future<TaskStatus> statusRunning;
@@ -1565,21 +1570,20 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverPersistentVolumes)
AWAIT_READY_FOR(statusRunning, Seconds(60));
EXPECT_EQ(TASK_RUNNING, statusRunning.get().state());
- Stop(slave.get());
-
// Recreate containerizer and start slave again.
- delete dockerContainerizer;
+ slave.get()->terminate();
+ slave->reset();
logger = ContainerLogger::create(flags.container_logger);
ASSERT_SOME(logger);
- dockerContainerizer = new MockDockerContainerizer(
+ dockerContainerizer.reset(new MockDockerContainerizer(
flags,
&fetcher,
Owned<ContainerLogger>(logger.get()),
- docker);
+ docker));
- slave = StartSlave(dockerContainerizer, flags);
+ slave = StartSlave(detector.get(), dockerContainerizer.get(), flags);
ASSERT_SOME(slave);
Future<Nothing> _recover = FUTURE_DISPATCH(_, &Slave::_recover);
@@ -1606,9 +1610,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverPersistentVolumes)
driver.stop();
driver.join();
-
- Shutdown();
- delete dockerContainerizer;
}
@@ -1616,7 +1617,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverPersistentVolumes)
// orphaned containers with persistent volumes.
TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverOrphanedPersistentVolumes)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -1634,13 +1635,17 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverOrphanedPersistentVolumes)
ASSERT_SOME(logger);
- MockDockerContainerizer* dockerContainerizer = new MockDockerContainerizer(
- flags,
- &fetcher,
- Owned<ContainerLogger>(logger.get()),
- docker);
+ Owned<MockDockerContainerizer> dockerContainerizer(
+ new MockDockerContainerizer(
+ flags,
+ &fetcher,
+ Owned<ContainerLogger>(logger.get()),
+ docker));
- Try<PID<Slave>> slave = StartSlave(dockerContainerizer, flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), dockerContainerizer.get(), flags);
ASSERT_SOME(slave);
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
@@ -1649,7 +1654,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverOrphanedPersistentVolumes)
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, frameworkInfo, master.get(), DEFAULT_CREDENTIAL);
+ &sched, frameworkInfo, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -1706,7 +1711,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverOrphanedPersistentVolumes)
EXPECT_CALL(*dockerContainerizer, launch(_, _, _, _, _, _, _, _))
.WillOnce(DoAll(FutureArg<0>(&containerId),
FutureArg<3>(&directory),
- Invoke(dockerContainerizer,
+ Invoke(dockerContainerizer.get(),
&MockDockerContainerizer::_launch)));
Future<TaskStatus> statusRunning;
@@ -1724,7 +1729,9 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverOrphanedPersistentVolumes)
AWAIT_READY_FOR(statusRunning, Seconds(60));
EXPECT_EQ(TASK_RUNNING, statusRunning.get().state());
- Stop(slave.get());
+ // Recreate containerizer and start slave again.
+ slave.get()->terminate();
+ slave->reset();
// Wipe the framework directory so that the slave will treat the
// above running task as an orphan. We don't want to wipe the whole
@@ -1736,19 +1743,16 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverOrphanedPersistentVolumes)
offer.slave_id(),
frameworkId.get())));
- // Recreate containerizer and start slave again.
- delete dockerContainerizer;
-
logger = ContainerLogger::create(flags.container_logger);
ASSERT_SOME(logger);
- dockerContainerizer = new MockDockerContainerizer(
+ dockerContainerizer.reset(new MockDockerContainerizer(
flags,
&fetcher,
Owned<ContainerLogger>(logger.get()),
- docker);
+ docker));
- slave = StartSlave(dockerContainerizer, flags);
+ slave = StartSlave(detector.get(), dockerContainerizer.get(), flags);
ASSERT_SOME(slave);
Future<Nothing> _recover = FUTURE_DISPATCH(_, &Slave::_recover);
@@ -1769,8 +1773,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverOrphanedPersistentVolumes)
driver.stop();
driver.join();
- Shutdown();
- delete dockerContainerizer;
+ slave->reset();
EXPECT_FALSE(exists(docker, offer.slave_id(), containerId.get()));
}
@@ -1779,7 +1782,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverOrphanedPersistentVolumes)
TEST_F(DockerContainerizerTest, ROOT_DOCKER_Logs)
{
- Try<PID<Master> > master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -1808,12 +1811,15 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Logs)
EXPECT_CALL(*mockDocker, stop(_, _, _))
.WillRepeatedly(Return(Nothing()));
- Try<PID<Slave> > slave = StartSlave(&dockerContainerizer, flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer, flags);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -1907,8 +1913,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Logs)
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -1916,7 +1920,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Logs)
// an entrypoint "echo" and a default command "inky".
TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD)
{
- Try<PID<Master> > master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -1945,12 +1949,15 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD)
EXPECT_CALL(*mockDocker, stop(_, _, _))
.WillRepeatedly(Return(Nothing()));
- Try<PID<Slave> > slave = StartSlave(&dockerContainerizer, flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer, flags);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -2039,8 +2046,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD)
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -2048,7 +2053,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD)
// an entrypoint "echo" and a default command "inky".
TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Override)
{
- Try<PID<Master> > master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -2077,12 +2082,15 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Override)
EXPECT_CALL(*mockDocker, stop(_, _, _))
.WillRepeatedly(Return(Nothing()));
- Try<PID<Slave> > slave = StartSlave(&dockerContainerizer, flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer, flags);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -2174,8 +2182,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Override)
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -2183,7 +2189,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Override)
// an entrypoint "echo" and a default command "inky".
TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Args)
{
- Try<PID<Master> > master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -2212,12 +2218,15 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Args)
EXPECT_CALL(*mockDocker, stop(_, _, _))
.WillRepeatedly(Return(Nothing()));
- Try<PID<Slave> > slave = StartSlave(&dockerContainerizer, flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer, flags);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -2310,8 +2319,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Args)
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -2320,7 +2327,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Args)
// re-registers and the slave properly sends the update.
TEST_F(DockerContainerizerTest, ROOT_DOCKER_SlaveRecoveryTaskContainer)
{
- Try<PID<Master> > master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -2338,17 +2345,18 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_SlaveRecoveryTaskContainer)
ASSERT_SOME(logger);
- // We put the containerizer on the heap so we can more easily
- // control it's lifetime, i.e., when we invoke the destructor.
- MockDockerContainerizer* dockerContainerizer1 =
- new MockDockerContainerizer(
- flags,
- &fetcher,
- Owned<ContainerLogger>(logger.get()),
- docker);
+ Owned<MockDockerContainerizer> dockerContainerizer(
+ new MockDockerContainerizer(
+ flags,
+ &fetcher,
+ Owned<ContainerLogger>(logger.get()),
+ docker));
- Try<PID<Slave> > slave1 = StartSlave(dockerContainerizer1, flags);
- ASSERT_SOME(slave1);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), dockerContainerizer.get(), flags);
+ ASSERT_SOME(slave);
// Enable checkpointing for the framework.
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
@@ -2356,7 +2364,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_SlaveRecoveryTaskContainer)
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, frameworkInfo, master.get(), DEFAULT_CREDENTIAL);
+ &sched, frameworkInfo, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -2399,9 +2407,9 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_SlaveRecoveryTaskContainer)
task.mutable_container()->CopyFrom(containerInfo);
Future<ContainerID> containerId;
- EXPECT_CALL(*dockerContainerizer1, launch(_, _, _, _, _, _, _, _))
+ EXPECT_CALL(*dockerContainerizer, launch(_, _, _, _, _, _, _, _))
.WillOnce(DoAll(FutureArg<0>(&containerId),
- Invoke(dockerContainerizer1,
+ Invoke(dockerContainerizer.get(),
&MockDockerContainerizer::_launch)));
// Drop the first update from the executor.
@@ -2415,9 +2423,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_SlaveRecoveryTaskContainer)
// Stop the slave before the status update is received.
AWAIT_READY(statusUpdateMessage);
- Stop(slave1.get());
-
- delete dockerContainerizer1;
+ slave.get()->terminate();
Future<Message> reregisterExecutorMessage =
FUTURE_MESSAGE(Eq(ReregisterExecutorMessage().GetTypeName()), _, _);
@@ -2431,15 +2437,14 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_SlaveRecoveryTaskContainer)
logger = ContainerLogger::create(flags.container_logger);
ASSERT_SOME(logger);
- MockDockerContainerizer* dockerContainerizer2 =
- new MockDockerContainerizer(
- flags,
- &fetcher,
- Owned<ContainerLogger>(logger.get()),
- docker);
+ dockerContainerizer.reset(new MockDockerContainerizer(
+ flags,
+ &fetcher,
+ Owned<ContainerLogger>(logger.get()),
+ docker));
- Try<PID<Slave> > slave2 = StartSlave(dockerContainerizer2, flags);
- ASSERT_SOME(slave2);
+ slave = StartSlave(detector.get(), dockerContainerizer.get(), flags);
+ ASSERT_SOME(slave);
// Ensure the executor re-registers.
AWAIT_READY(reregisterExecutorMessage);
@@ -2461,16 +2466,12 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_SlaveRecoveryTaskContainer)
ASSERT_TRUE(exists(docker, slaveId, containerId.get()));
Future<containerizer::Termination> termination =
- dockerContainerizer2->wait(containerId.get());
+ dockerContainerizer->wait(containerId.get());
driver.stop();
driver.join();
AWAIT_READY(termination);
-
- Shutdown();
-
- delete dockerContainerizer2;
}
@@ -2489,7 +2490,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_SlaveRecoveryTaskContainer)
TEST_F(DockerContainerizerTest,
DISABLED_ROOT_DOCKER_SlaveRecoveryExecutorContainer)
{
- Try<PID<Master> > master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -2507,17 +2508,18 @@ TEST_F(DockerContainerizerTest,
ASSERT_SOME(logger);
- // We put the containerizer on the heap so we can more easily
- // control it's lifetime, i.e., when we invoke the destructor.
- MockDockerContainerizer* dockerContainerizer1 =
- new MockDockerContainerizer(
- flags,
- &fetcher,
- Owned<ContainerLogger>(logger.get()),
- docker);
+ Owned<MockDockerContainerizer> dockerContainerizer(
+ new MockDockerContainerizer(
+ flags,
+ &fetcher,
+ Owned<ContainerLogger>(logger.get()),
+ docker));
+
+ Owned<MasterDetector> detector = master.get()->createDetector();
- Try<PID<Slave> > slave1 = StartSlave(dockerContainerizer1, flags);
- ASSERT_SOME(slave1);
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), dockerContainerizer.get(), flags);
+ ASSERT_SOME(slave);
// Enable checkpointing for the framework.
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
@@ -2525,7 +2527,7 @@ TEST_F(DockerContainerizerTest,
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, frameworkInfo, master.get(), DEFAULT_CREDENTIAL);
+ &sched, frameworkInfo, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -2574,10 +2576,10 @@ TEST_F(DockerContainerizerTest,
Future<ContainerID> containerId;
Future<SlaveID> slaveId;
- EXPECT_CALL(*dockerContainerizer1, launch(_, _, _, _, _, _, _))
+ EXPECT_CALL(*dockerContainerizer, launch(_, _, _, _, _, _, _))
.WillOnce(DoAll(FutureArg<0>(&containerId),
FutureArg<4>(&slaveId),
- Invoke(dockerContainerizer1,
+ Invoke(dockerContainerizer.get(),
&MockDockerContainerizer::_launchExecutor)));
// We need to wait until the container's pid has been been
@@ -2609,9 +2611,7 @@ TEST_F(DockerContainerizerTest,
AWAIT_READY(statusUpdateMessage1);
AWAIT_READY(statusUpdateMessage2);
- Stop(slave1.get());
-
- delete dockerContainerizer1;
+ slave.get()->terminate();
Future<Message> reregisterExecutorMessage =
FUTURE_MESSAGE(Eq(ReregisterExecutorMessage().GetTypeName()), _, _);
@@ -2625,15 +2625,14 @@ TEST_F(DockerContainerizerTest,
logger = ContainerLogger::create(flags.container_logger);
ASSERT_SOME(logger);
- MockDockerContainerizer* dockerContainerizer2 =
- new MockDockerContainerizer(
- flags,
- &fetcher,
- Owned<ContainerLogger>(logger.get()),
- docker);
+ dockerContainerizer.reset(new MockDockerContainerizer(
+ flags,
+ &fetcher,
+ Owned<ContainerLogger>(logger.get()),
+ docker));
- Try<PID<Slave> > slave2 = StartSlave(dockerContainerizer2, flags);
- ASSERT_SOME(slave2);
+ slave = StartSlave(detector.get(), dockerContainerizer.get(), flags);
+ ASSERT_SOME(slave);
// Ensure the executor re-registers.
AWAIT_READY(reregisterExecutorMessage);
@@ -2656,8 +2655,6 @@ TEST_F(DockerContainerizerTest,
driver.stop();
driver.join();
-
- delete dockerContainerizer2;
}
@@ -2667,7 +2664,7 @@ TEST_F(DockerContainerizerTest,
// to the mapped container port.
TEST_F(DockerContainerizerTest, ROOT_DOCKER_NC_PortMapping)
{
- Try<PID<Master> > master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -2697,12 +2694,15 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_NC_PortMapping)
EXPECT_CALL(*mockDocker, stop(_, _, _))
.WillRepeatedly(Return(Nothing()));
- Try<PID<Slave> > slave = StartSlave(&dockerContainerizer, flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer, flags);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -2809,8 +2809,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_NC_PortMapping)
driver.join();
AWAIT_READY(termination);
-
- Shutdown();
}
@@ -2820,7 +2818,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_NC_PortMapping)
// and incorrectly seperates the sandbox directory.
TEST_F(DockerContainerizerTest, ROOT_DOCKER_LaunchSandboxWithColon)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -2843,12 +2841,15 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_LaunchSandboxWithColon)
Owned<ContainerLogger>(logger.get()),
docker);
- Try<PID<Slave> > slave = StartSlave(&dockerContainerizer, flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer, flags);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -2916,14 +2917,12 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_LaunchSandboxWithColon)
driver.join();
AWAIT_READY(termination);
-
- Shutdown();
}
TEST_F(DockerContainerizerTest, ROOT_DOCKER_DestroyWhileFetching)
{
- Try<PID<Master> > master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -2960,12 +2959,15 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DestroyWhileFetching)
.WillOnce(DoAll(FutureSatisfy(&fetch),
Return(promise.future())));
- Try<PID<Slave> > slave = StartSlave(&dockerContainerizer);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -3032,14 +3034,12 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DestroyWhileFetching)
driver.stop();
driver.join();
-
- Shutdown();
}
TEST_F(DockerContainerizerTest, ROOT_DOCKER_DestroyWhilePulling)
{
- Try<PID<Master> > master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -3079,12 +3079,15 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DestroyWhilePulling)
EXPECT_CALL(*process, pull(_))
.WillOnce(Return(promise.future()));
- Try<PID<Slave> > slave = StartSlave(&dockerContainerizer);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -3152,8 +3155,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DestroyWhilePulling)
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -3162,7 +3163,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DestroyWhilePulling)
// is properly killed and cleaned up.
TEST_F(DockerContainerizerTest, ROOT_DOCKER_ExecutorCleanupWhenLaunchFailed)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -3191,12 +3192,15 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_ExecutorCleanupWhenLaunchFailed)
MockDockerContainerizer dockerContainerizer(
(Owned<DockerContainerizerProcess>(process)));
- Try<PID<Slave>> slave = StartSlave(&dockerContainerizer);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -3260,10 +3264,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_ExecutorCleanupWhenLaunchFailed)
driver.stop();
driver.join();
-
- // We expect the executor to have exited, and if not in Shutdown
- // the test will fail because of the executor process still running.
- Shutdown();
}
@@ -3271,7 +3271,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_ExecutorCleanupWhenLaunchFailed)
// update with message the shows the actual error.
TEST_F(DockerContainerizerTest, ROOT_DOCKER_FetchFailure)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -3300,12 +3300,15 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_FetchFailure)
MockDockerContainerizer dockerContainerizer(
(Owned<DockerContainerizerProcess>(process)));
- Try<PID<Slave>> slave = StartSlave(&dockerContainerizer);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -3372,10 +3375,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_FetchFailure)
driver.stop();
driver.join();
-
- // We expect the executor to have exited, and if not in Shutdown
- // the test will fail because of the executor process still running.
- Shutdown();
}
@@ -3383,7 +3382,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_FetchFailure)
// update with message the shows the actual error.
TEST_F(DockerContainerizerTest, ROOT_DOCKER_DockerPullFailure)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -3412,12 +3411,15 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DockerPullFailure)
MockDockerContainerizer dockerContainerizer(
(Owned<DockerContainerizerProcess>(process)));
- Try<PID<Slave>> slave = StartSlave(&dockerContainerizer);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -3484,10 +3486,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DockerPullFailure)
driver.stop();
driver.join();
-
- // We expect the executor to have exited, and if not in Shutdown
- // the test will fail because of the executor process still running.
- Shutdown();
}
@@ -3495,7 +3493,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DockerPullFailure)
// future that is in a retry loop should be discarded.
TEST_F(DockerContainerizerTest, ROOT_DOCKER_DockerInspectDiscard)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
MockDocker* mockDocker =
@@ -3533,12 +3531,15 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DockerInspectDiscard)
EXPECT_CALL(*mockDocker, run(_, _, _, _, _, _, _, _, _))
.WillOnce(Return(Failure("Run failed")));
- Try<PID<Slave>> slave = StartSlave(&dockerContainerizer);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), &dockerContainerizer);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -3606,10 +3607,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DockerInspectDiscard)
driver.stop();
driver.join();
-
- // We expect the inspect to have exited, and if not in Shutdown
- // the test will fail because of the inspect process still running.
- Shutdown();
}
} // namespace tests {
http://git-wip-us.apache.org/repos/asf/mesos/blob/95153931/src/tests/containerizer/external_containerizer_test.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/external_containerizer_test.cpp b/src/tests/containerizer/external_containerizer_test.cpp
index 8e1dbe3..5e21163 100644
--- a/src/tests/containerizer/external_containerizer_test.cpp
+++ b/src/tests/containerizer/external_containerizer_test.cpp
@@ -25,6 +25,7 @@
#include <mesos/resources.hpp>
#include <process/future.hpp>
+#include <process/owned.hpp>
#include <stout/os.hpp>
#include <stout/path.hpp>
@@ -122,7 +123,7 @@ public:
// This test has been temporarily disabled due to MESOS-1257.
TEST_F(ExternalContainerizerTest, DISABLED_Launch)
{
- Try<PID<Master> > master = this->StartMaster();
+ Try<Owned<cluster::Master>> master = this->StartMaster();
ASSERT_SOME(master);
Flags testFlags;
@@ -135,12 +136,15 @@ TEST_F(ExternalContainerizerTest, DISABLED_Launch)
MockExternalContainerizer containerizer(flags);
- Try<PID<Slave> > slave = this->StartSlave(&containerizer, flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ this->StartSlave(detector.get(), &containerizer, flags);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -253,8 +257,6 @@ TEST_F(ExternalContainerizerTest, DISABLED_Launch)
driver.stop();
driver.join();
-
- this->Shutdown();
}
#endif // MESOS_HAS_PYTHON
http://git-wip-us.apache.org/repos/asf/mesos/blob/95153931/src/tests/containerizer/filesystem_isolator_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/filesystem_isolator_tests.cpp b/src/tests/containerizer/filesystem_isolator_tests.cpp
index b1f2c98..b3bd5a0 100644
--- a/src/tests/containerizer/filesystem_isolator_tests.cpp
+++ b/src/tests/containerizer/filesystem_isolator_tests.cpp
@@ -295,7 +295,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_ChangeRootFilesystem)
// Also runs the command executor with the new root filesystem.
TEST_F(LinuxFilesystemIsolatorTest, ROOT_ChangeRootFilesystemCommandExecutor)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
slave::Flags flags = CreateSlaveFlags();
@@ -310,12 +310,15 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_ChangeRootFilesystemCommandExecutor)
ASSERT_SOME(containerizer);
- Try<PID<Slave>> slave = StartSlave(containerizer.get().get(), flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), containerizer.get().get(), flags);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -366,8 +369,6 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_ChangeRootFilesystemCommandExecutor)
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -377,7 +378,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_ChangeRootFilesystemCommandExecutor)
TEST_F(LinuxFilesystemIsolatorTest,
ROOT_ChangeRootFilesystemCommandExecutorWithVolumes)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
slave::Flags flags = CreateSlaveFlags();
@@ -392,12 +393,15 @@ TEST_F(LinuxFilesystemIsolatorTest,
ASSERT_SOME(containerizer);
- Try<PID<Slave>> slave = StartSlave(containerizer.get().get(), flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), containerizer.get().get(), flags);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+ &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -467,8 +471,6 @@ TEST_F(LinuxFilesystemIsolatorTest,
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -477,7 +479,7 @@ TEST_F(LinuxFilesystemIsolatorTest,
TEST_F(LinuxFilesystemIsolatorTest,
ROOT_ChangeRootFilesystemCommandExecutorPersistentVolume)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
slave::Flags flags = CreateSlaveFlags();
@@ -497,7 +499,10 @@ TEST_F(LinuxFilesystemIsolatorTest,
ASSERT_SOME(containerizer);
- Try<PID<Slave>> slave = StartSlave(containerizer.get().get(), flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), containerizer.get().get(), flags);
ASSERT_SOME(slave);
MockScheduler sched;
@@ -505,7 +510,7 @@ TEST_F(LinuxFilesystemIsolatorTest,
frameworkInfo.set_role("role1");
MesosSchedulerDriver driver(
- &sched, frameworkInfo, master.get(), DEFAULT_CREDENTIAL);
+ &sched, frameworkInfo, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -594,8 +599,6 @@ TEST_F(LinuxFilesystemIsolatorTest,
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -608,7 +611,7 @@ TEST_F(LinuxFilesystemIsolatorTest,
// test to test the scenario that the executor itself changes rootfs.
TEST_F(LinuxFilesystemIsolatorTest, ROOT_RecoverOrphanedPersistentVolume)
{
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
slave::Flags flags = CreateSlaveFlags();
@@ -625,7 +628,10 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_RecoverOrphanedPersistentVolume)
ASSERT_SOME(containerizer);
- Try<PID<Slave>> slave = StartSlave(containerizer.get().get(), flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave =
+ StartSlave(detector.get(), containerizer.get().get(), flags);
ASSERT_SOME(slave);
MockScheduler sched;
@@ -634,7 +640,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_RecoverOrphanedPersistentVolume)
frameworkInfo.set_checkpoint(true);
MesosSchedulerDriver driver(
- &sched, frameworkInfo, master.get(), DEFAULT_CREDENTIAL);
+ &sched, frameworkInfo, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -701,7 +707,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_RecoverOrphanedPersistentVolume)
AWAIT_READY(ack);
// Restart the slave.
- Stop(slave.get());
+ slave.get()->terminate();
// Wipe the slave meta directory so that the slave will treat the
// above running task as an orphan.
@@ -712,7 +718,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_RecoverOrphanedPersistentVolume)
flags,
{{"test_image", path::join(os::getcwd(), "test_image")}});
- slave = StartSlave(containerizer.get().get(), flags);
+ slave = StartSlave(detector.get(), containerizer.get().get(), flags);
ASSERT_SOME(slave);
// Wait until slave recovery is complete.
@@ -740,8 +746,6 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_RecoverOrphanedPersistentVolume)
driver.stop();
driver.join();
-
- Shutdown();
}
@@ -1455,7 +1459,7 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_VolumeUsageExceedsSandboxQuota)
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
frameworkInfo.set_role("role1");
- Try<PID<Master>> master = StartMaster();
+ Try<Owned<cluster::Master>> master = StartMaster();
ASSERT_SOME(master);
slave::Flags flags = CreateSlaveFlags();
@@ -1467,12 +1471,14 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_VolumeUsageExceedsSandboxQuota)
flags.enforce_container_disk_quota = true;
flags.resources = "cpus:2;mem:128;disk(role1):128";
- Try<PID<Slave>> slave = StartSlave(flags);
+ Owned<MasterDetector> detector = master.get()->createDetector();
+
+ Try<Owned<cluster::Slave>> slave = StartSlave(detector.get(), flags);
ASSERT_SOME(slave);
MockScheduler sched;
MesosSchedulerDriver driver(
- &sched, frameworkInfo, master.get(), DEFAULT_CREDENTIAL);
+ &sched, frameworkInfo, master.get()->pid, DEFAULT_CREDENTIAL);
Future<FrameworkID> frameworkId;
EXPECT_CALL(sched, registered(&driver, _, _))
@@ -1530,8 +1536,6 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_VolumeUsageExceedsSandboxQuota)
driver.stop();
driver.join();
-
- Shutdown();
}
#endif // __linux__