You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by bm...@apache.org on 2017/12/02 00:22:45 UTC
[3/3] mesos git commit: Updated the tests to use MULTI_ROLE
frameworks by default.
Updated the tests to use MULTI_ROLE frameworks by default.
Now that we strip the `Resource.allocation_info` for non-MULTI_ROLE
schedulers, it's simpler to default the tests to use the MULTI_ROLE
capability, since we've already updated the majority of the tests
to be aware of `Resource.allocation_info`.
Review: https://reviews.apache.org/r/64195
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/5044610c
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/5044610c
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/5044610c
Branch: refs/heads/master
Commit: 5044610ca405fe11fc507aaaa8d29e2f80bd1301
Parents: d321b1d
Author: Benjamin Mahler <bm...@apache.org>
Authored: Wed Nov 29 17:41:11 2017 -0800
Committer: Benjamin Mahler <bm...@apache.org>
Committed: Fri Dec 1 16:20:33 2017 -0800
----------------------------------------------------------------------
src/examples/balloon_framework.cpp | 10 +-
src/examples/disk_full_framework.cpp | 7 +-
src/examples/dynamic_reservation_framework.cpp | 4 +-
src/examples/long_lived_framework.cpp | 11 +-
src/examples/no_executor_framework.cpp | 5 +-
src/examples/persistent_volume_framework.cpp | 14 +-
src/examples/test_framework.cpp | 4 +-
src/examples/test_http_framework.cpp | 13 +-
src/tests/api_tests.cpp | 26 +--
.../containerizer/cgroups_isolator_tests.cpp | 2 +-
.../docker_containerizer_tests.cpp | 6 +-
.../linux_filesystem_isolator_tests.cpp | 8 +-
src/tests/default_executor_tests.cpp | 38 ++--
src/tests/disk_quota_tests.cpp | 4 +-
src/tests/fault_tolerance_tests.cpp | 11 +-
src/tests/hook_tests.cpp | 2 +-
src/tests/master_allocator_tests.cpp | 16 +-
src/tests/master_authorization_tests.cpp | 12 +-
src/tests/master_quota_tests.cpp | 4 +-
src/tests/master_tests.cpp | 71 ++++---
src/tests/master_validation_tests.cpp | 23 +-
src/tests/mesos.hpp | 9 +-
src/tests/oversubscription_tests.cpp | 16 +-
src/tests/partition_tests.cpp | 2 +-
src/tests/persistent_volume_endpoints_tests.cpp | 72 +++----
src/tests/persistent_volume_tests.cpp | 122 ++++++-----
src/tests/reservation_endpoints_tests.cpp | 84 ++++----
src/tests/reservation_tests.cpp | 210 +++++++++----------
src/tests/resource_provider_manager_tests.cpp | 4 +-
src/tests/role_tests.cpp | 36 ++--
src/tests/scheduler_http_api_tests.cpp | 2 +-
src/tests/scheduler_tests.cpp | 4 +-
src/tests/slave_authorization_tests.cpp | 4 +-
src/tests/slave_recovery_tests.cpp | 4 +-
src/tests/slave_tests.cpp | 25 ++-
src/tests/upgrade_tests.cpp | 28 ++-
36 files changed, 476 insertions(+), 437 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/examples/balloon_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/balloon_framework.cpp b/src/examples/balloon_framework.cpp
index 2895253..a36e04b 100644
--- a/src/examples/balloon_framework.cpp
+++ b/src/examples/balloon_framework.cpp
@@ -184,6 +184,7 @@ public:
const ExecutorInfo& _executor,
const Flags& _flags)
: frameworkInfo(_frameworkInfo),
+ role(_frameworkInfo.roles(0)),
executor(_executor),
flags(_flags),
taskActive(false),
@@ -211,10 +212,10 @@ public:
Resources taskResources = Resources::parse(
"cpus:" + stringify(CPUS_PER_TASK) +
";mem:" + stringify(flags.task_memory.megabytes())).get();
- taskResources.allocate(frameworkInfo.role());
+ taskResources.allocate(role);
Resources executorResources = Resources(executor.resources());
- executorResources.allocate(frameworkInfo.role());
+ executorResources.allocate(role);
foreach (const Offer& offer, offers) {
Resources resources(offer.resources());
@@ -312,6 +313,7 @@ public:
private:
const FrameworkInfo frameworkInfo;
+ const string role;
const ExecutorInfo executor;
const Flags flags;
bool taskActive;
@@ -568,7 +570,9 @@ int main(int argc, char** argv)
framework.set_user(os::user().get());
framework.set_name(flags.name);
framework.set_checkpoint(flags.checkpoint);
- framework.set_role("*");
+ framework.add_roles("*");
+ framework.add_capabilities()->set_type(
+ FrameworkInfo::Capability::MULTI_ROLE);
framework.add_capabilities()->set_type(
FrameworkInfo::Capability::RESERVATION_REFINEMENT);
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/examples/disk_full_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/disk_full_framework.cpp b/src/examples/disk_full_framework.cpp
index 28f71c3..d9d2d35 100644
--- a/src/examples/disk_full_framework.cpp
+++ b/src/examples/disk_full_framework.cpp
@@ -123,6 +123,7 @@ public:
const FrameworkInfo& _frameworkInfo)
: flags(_flags),
frameworkInfo(_frameworkInfo),
+ role(_frameworkInfo.roles(0)),
tasksLaunched(0),
taskActive(false),
isRegistered(false),
@@ -149,7 +150,7 @@ public:
"cpus:" + stringify(CPUS_PER_TASK) +
";mem:" + stringify(MEMORY_PER_TASK) +
";disk:" + stringify(DISK_PER_TASK.megabytes())).get();
- taskResources.allocate(frameworkInfo.role());
+ taskResources.allocate(role);
foreach (const Offer& offer, offers) {
LOG(INFO) << "Received offer " << offer.id() << " from agent "
@@ -272,6 +273,7 @@ public:
private:
const Flags flags;
const FrameworkInfo frameworkInfo;
+ const string role;
int tasksLaunched;
bool taskActive;
@@ -465,6 +467,9 @@ int main(int argc, char** argv)
framework.set_user(""); // Have Mesos fill the current user.
framework.set_name(flags.name);
framework.set_checkpoint(true);
+ framework.add_roles("*");
+ framework.add_capabilities()->set_type(
+ FrameworkInfo::Capability::MULTI_ROLE);
framework.add_capabilities()->set_type(
FrameworkInfo::Capability::RESERVATION_REFINEMENT);
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/examples/dynamic_reservation_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/dynamic_reservation_framework.cpp b/src/examples/dynamic_reservation_framework.cpp
index 5ee3867..538fbe8 100644
--- a/src/examples/dynamic_reservation_framework.cpp
+++ b/src/examples/dynamic_reservation_framework.cpp
@@ -399,7 +399,9 @@ int main(int argc, char** argv)
FrameworkInfo framework;
framework.set_user(""); // Mesos'll fill in the current user.
framework.set_name(FRAMEWORK_NAME);
- framework.set_role(flags.role.get());
+ framework.add_roles(flags.role.get());
+ framework.add_capabilities()->set_type(
+ FrameworkInfo::Capability::MULTI_ROLE);
framework.set_principal(flags.principal);
framework.add_capabilities()->set_type(
FrameworkInfo::Capability::RESERVATION_REFINEMENT);
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/examples/long_lived_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/long_lived_framework.cpp b/src/examples/long_lived_framework.cpp
index a8516a7..bb9fc2d 100644
--- a/src/examples/long_lived_framework.cpp
+++ b/src/examples/long_lived_framework.cpp
@@ -118,12 +118,13 @@ public:
: state(DISCONNECTED),
master(_master),
framework(_framework),
+ role(_framework.roles(0)),
executor(_executor),
- taskResources([&_framework]() {
+ taskResources([this]() {
Resources resources = Resources::parse(
"cpus:" + stringify(CPUS_PER_TASK) +
";mem:" + stringify(MEM_PER_TASK)).get();
- resources.allocate(_framework.role());
+ resources.allocate(this->role);
return resources;
}()),
tasksLaunched(0),
@@ -260,7 +261,7 @@ protected:
const Resources executorResources = [this]() {
Resources resources(executor.resources());
- resources.allocate(framework.role());
+ resources.allocate(role);
return resources;
}();
@@ -425,6 +426,7 @@ private:
const string master;
FrameworkInfo framework;
+ const string role;
const ExecutorInfo executor;
const Resources taskResources;
string uri;
@@ -662,6 +664,9 @@ int main(int argc, char** argv)
framework.set_user(os::user().get());
framework.set_name(FRAMEWORK_NAME);
framework.set_checkpoint(flags.checkpoint);
+ framework.add_roles("*");
+ framework.add_capabilities()->set_type(
+ FrameworkInfo::Capability::MULTI_ROLE);
framework.add_capabilities()->set_type(
FrameworkInfo::Capability::RESERVATION_REFINEMENT);
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/examples/no_executor_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/no_executor_framework.cpp b/src/examples/no_executor_framework.cpp
index fd920f5..972ef77 100644
--- a/src/examples/no_executor_framework.cpp
+++ b/src/examples/no_executor_framework.cpp
@@ -328,6 +328,9 @@ int main(int argc, char** argv)
framework.set_user(""); // Have Mesos fill in the current user.
framework.set_name(FRAMEWORK_NAME);
framework.set_checkpoint(flags.checkpoint);
+ framework.add_roles("*");
+ framework.add_capabilities()->set_type(
+ FrameworkInfo::Capability::MULTI_ROLE);
framework.add_capabilities()->set_type(
FrameworkInfo::Capability::RESERVATION_REFINEMENT);
@@ -364,7 +367,7 @@ int main(int argc, char** argv)
}
}
- taskResources.allocate(framework.role());
+ taskResources.allocate(framework.roles(0));
NoExecutorScheduler scheduler(
framework,
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/examples/persistent_volume_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/persistent_volume_framework.cpp b/src/examples/persistent_volume_framework.cpp
index 674d58a..9ccc7eb 100644
--- a/src/examples/persistent_volume_framework.cpp
+++ b/src/examples/persistent_volume_framework.cpp
@@ -142,14 +142,15 @@ public:
size_t numShards,
size_t numSharedShards,
size_t tasksPerShard)
- : frameworkInfo(_frameworkInfo)
+ : frameworkInfo(_frameworkInfo),
+ role(_frameworkInfo.roles(0))
{
// Initialize the shards using regular persistent volume.
for (size_t i = 0; i < numShards; i++) {
shards.push_back(
Shard(
"shard-" + stringify(i),
- frameworkInfo.role(),
+ role,
tasksPerShard,
false));
}
@@ -159,7 +160,7 @@ public:
shards.push_back(
Shard(
"shared-shard-" + stringify(i),
- frameworkInfo.role(),
+ role,
tasksPerShard,
true));
}
@@ -209,7 +210,7 @@ public:
if (offered.contains(shard.resources)) {
Resource volume = SHARD_PERSISTENT_VOLUME(
- frameworkInfo.role(),
+ role,
UUID::random().toString(),
"volume",
frameworkInfo.principal(),
@@ -484,6 +485,7 @@ private:
};
FrameworkInfo frameworkInfo;
+ const string role;
vector<Shard> shards;
};
@@ -566,7 +568,9 @@ int main(int argc, char** argv)
FrameworkInfo framework;
framework.set_user(""); // Have Mesos fill in the current user.
framework.set_name(FRAMEWORK_NAME);
- framework.set_role(flags.role);
+ framework.add_roles(flags.role);
+ framework.add_capabilities()->set_type(
+ FrameworkInfo::Capability::MULTI_ROLE);
framework.set_checkpoint(true);
framework.set_principal(flags.principal);
framework.add_capabilities()->set_type(
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/examples/test_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/test_framework.cpp b/src/examples/test_framework.cpp
index d60adff..acf1faf 100644
--- a/src/examples/test_framework.cpp
+++ b/src/examples/test_framework.cpp
@@ -271,7 +271,9 @@ int main(int argc, char** argv)
FrameworkInfo framework;
framework.set_user(""); // Have Mesos fill in the current user.
framework.set_name(FRAMEWORK_NAME);
- framework.set_role(flags.role);
+ framework.add_roles(flags.role);
+ framework.add_capabilities()->set_type(
+ FrameworkInfo::Capability::MULTI_ROLE);
framework.add_capabilities()->set_type(
FrameworkInfo::Capability::RESERVATION_REFINEMENT);
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/examples/test_http_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/test_http_framework.cpp b/src/examples/test_http_framework.cpp
index 76b64fe..e83aded 100644
--- a/src/examples/test_http_framework.cpp
+++ b/src/examples/test_http_framework.cpp
@@ -78,6 +78,7 @@ public:
const ExecutorInfo& _executor,
const string& _master)
: framework(_framework),
+ role(_framework.roles(0)),
executor(_executor),
master(_master),
state(INITIALIZING),
@@ -90,6 +91,7 @@ public:
const string& _master,
const Credential& credential)
: framework(_framework),
+ role(_framework.roles(0)),
executor(_executor),
master(_master),
state(INITIALIZING),
@@ -235,7 +237,7 @@ private:
Resources taskResources = Resources::parse(
"cpus:" + stringify(CPUS_PER_TASK) +
";mem:" + stringify(MEM_PER_TASK)).get();
- taskResources.allocate(framework.role());
+ taskResources.allocate(role);
Resources remaining = offer.resources();
@@ -255,12 +257,12 @@ private:
task.mutable_executor()->MergeFrom(executor);
Option<Resources> resources = [&]() {
- if (framework.role() == "*") {
+ if (role == "*") {
return remaining.find(taskResources);
} else {
Resource::ReservationInfo reservation;
reservation.set_type(Resource::ReservationInfo::STATIC);
- reservation.set_role(framework.role());
+ reservation.set_role(role);
return remaining.find(taskResources.pushReservation(reservation));
}
@@ -367,6 +369,7 @@ private:
}
FrameworkInfo framework;
+ const string role;
const ExecutorInfo executor;
const string master;
process::Owned<scheduler::Mesos> mesos;
@@ -447,7 +450,9 @@ int main(int argc, char** argv)
FrameworkInfo framework;
framework.set_name(FRAMEWORK_NAME);
- framework.set_role(flags.role);
+ framework.add_roles(flags.role);
+ framework.add_capabilities()->set_type(
+ FrameworkInfo::Capability::MULTI_ROLE);
framework.add_capabilities()->set_type(
FrameworkInfo::Capability::RESERVATION_REFINEMENT);
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/tests/api_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/api_tests.cpp b/src/tests/api_tests.cpp
index 66cb059..53c705e 100644
--- a/src/tests/api_tests.cpp
+++ b/src/tests/api_tests.cpp
@@ -259,7 +259,7 @@ TEST_P(MasterAPITest, GetFrameworks)
ASSERT_EQ(1, frameworks.frameworks_size());
ASSERT_EQ("default", frameworks.frameworks(0).framework_info().name());
- ASSERT_EQ("*", frameworks.frameworks(0).framework_info().role());
+ ASSERT_EQ("*", frameworks.frameworks(0).framework_info().roles(0));
ASSERT_FALSE(frameworks.frameworks(0).framework_info().checkpoint());
ASSERT_TRUE(frameworks.frameworks(0).active());
ASSERT_TRUE(frameworks.frameworks(0).connected());
@@ -904,7 +904,7 @@ TEST_P(MasterAPITest, GetRoles)
ASSERT_SOME(slave);
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("role1");
+ frameworkInfo.set_roles(0, "role1");
MockScheduler sched;
MesosSchedulerDriver driver(
@@ -995,12 +995,12 @@ TEST_P(MasterAPITest, ReserveResources)
ASSERT_SOME(slave);
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("role");
+ frameworkInfo.set_roles(0, "role");
Resources unreserved = Resources::parse("cpus:1;mem:512").get();
Resources dynamicallyReserved =
unreserved.pushReservation(createDynamicReservationInfo(
- frameworkInfo.role(), DEFAULT_CREDENTIAL.principal()));
+ frameworkInfo.roles(0), DEFAULT_CREDENTIAL.principal()));
MockScheduler sched;
MesosSchedulerDriver driver(
@@ -1021,7 +1021,7 @@ TEST_P(MasterAPITest, ReserveResources)
Offer offer = offers.get()[0];
EXPECT_TRUE(Resources(offer.resources()).contains(
- allocatedResources(unreserved, frameworkInfo.role())));
+ allocatedResources(unreserved, frameworkInfo.roles(0))));
// Expect an offer to be rescinded!
EXPECT_CALL(sched, offerRescinded(_, _));
@@ -1058,7 +1058,7 @@ TEST_P(MasterAPITest, ReserveResources)
offer = offers.get()[0];
EXPECT_TRUE(Resources(offer.resources()).contains(
- allocatedResources(dynamicallyReserved, frameworkInfo.role())));
+ allocatedResources(dynamicallyReserved, frameworkInfo.roles(0))));
driver.stop();
driver.join();
@@ -1086,12 +1086,12 @@ TEST_P(MasterAPITest, UnreserveResources)
ASSERT_SOME(slave);
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("role");
+ frameworkInfo.set_roles(0, "role");
Resources unreserved = Resources::parse("cpus:1;mem:512").get();
Resources dynamicallyReserved =
unreserved.pushReservation(createDynamicReservationInfo(
- frameworkInfo.role(), DEFAULT_CREDENTIAL.principal()));
+ frameworkInfo.roles(0), DEFAULT_CREDENTIAL.principal()));
v1::master::Call v1Call;
v1Call.set_type(v1::master::Call::RESERVE_RESOURCES);
@@ -1132,7 +1132,7 @@ TEST_P(MasterAPITest, UnreserveResources)
Offer offer = offers.get()[0];
EXPECT_TRUE(Resources(offer.resources()).contains(
- allocatedResources(dynamicallyReserved, frameworkInfo.role())));
+ allocatedResources(dynamicallyReserved, frameworkInfo.roles(0))));
// Expect an offer to be rescinded!
EXPECT_CALL(sched, offerRescinded(_, _));
@@ -1169,7 +1169,7 @@ TEST_P(MasterAPITest, UnreserveResources)
// Verifies if the resources are unreserved.
EXPECT_TRUE(Resources(offer.resources()).contains(
- allocatedResources(unreserved, frameworkInfo.role())));
+ allocatedResources(unreserved, frameworkInfo.roles(0))));
driver.stop();
driver.join();
@@ -3016,7 +3016,7 @@ TEST_P(MasterAPITest, CreateAndDestroyVolumes)
v1CreateVolumesResponse);
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("role1");
+ frameworkInfo.set_roles(0, "role1");
// Start a framework and launch a task on the persistent volume.
MockScheduler sched;
@@ -3037,11 +3037,11 @@ TEST_P(MasterAPITest, CreateAndDestroyVolumes)
Offer offer = offers.get()[0];
EXPECT_TRUE(Resources(offer.resources()).contains(
- allocatedResources(volume, frameworkInfo.role())));
+ allocatedResources(volume, frameworkInfo.roles(0))));
Resources taskResources = Resources::parse(
"disk:256",
- frameworkInfo.role()).get();
+ frameworkInfo.roles(0)).get();
TaskInfo taskInfo = createTask(
offer.slave_id(),
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/tests/containerizer/cgroups_isolator_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/cgroups_isolator_tests.cpp b/src/tests/containerizer/cgroups_isolator_tests.cpp
index 421a72f..54404ee 100644
--- a/src/tests/containerizer/cgroups_isolator_tests.cpp
+++ b/src/tests/containerizer/cgroups_isolator_tests.cpp
@@ -318,7 +318,7 @@ TEST_F(CgroupsIsolatorTest, ROOT_CGROUPS_RevocableCpu)
// Now the framework will get revocable resources.
AWAIT_READY(offers2);
ASSERT_FALSE(offers2->empty());
- EXPECT_EQ(allocatedResources(cpus, frameworkInfo.role()),
+ EXPECT_EQ(allocatedResources(cpus, frameworkInfo.roles(0)),
Resources(offers2.get()[0].resources()));
TaskInfo task = createTask(
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/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 7a42bb9..1f6ff52 100644
--- a/src/tests/containerizer/docker_containerizer_tests.cpp
+++ b/src/tests/containerizer/docker_containerizer_tests.cpp
@@ -1607,7 +1607,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_LaunchWithPersistentVolumes)
ASSERT_SOME(slave);
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("role1");
+ frameworkInfo.set_roles(0, "role1");
MockScheduler sched;
MesosSchedulerDriver driver(
@@ -1767,7 +1767,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverPersistentVolumes)
ASSERT_SOME(slave);
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("role1");
+ frameworkInfo.set_roles(0, "role1");
frameworkInfo.set_checkpoint(true);
MockScheduler sched;
@@ -1935,7 +1935,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverOrphanedPersistentVolumes)
ASSERT_SOME(slave);
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("role1");
+ frameworkInfo.set_roles(0, "role1");
frameworkInfo.set_checkpoint(true);
MockScheduler sched;
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/tests/containerizer/linux_filesystem_isolator_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/linux_filesystem_isolator_tests.cpp b/src/tests/containerizer/linux_filesystem_isolator_tests.cpp
index 655f9f8..4d796a8 100644
--- a/src/tests/containerizer/linux_filesystem_isolator_tests.cpp
+++ b/src/tests/containerizer/linux_filesystem_isolator_tests.cpp
@@ -755,7 +755,7 @@ TEST_F(LinuxFilesystemIsolatorMesosTest,
MockScheduler sched;
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("role1");
+ frameworkInfo.set_roles(0, "role1");
MesosSchedulerDriver driver(
&sched,
@@ -898,7 +898,7 @@ TEST_F(LinuxFilesystemIsolatorMesosTest,
MockScheduler sched;
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("role1");
+ frameworkInfo.set_roles(0, "role1");
frameworkInfo.set_checkpoint(true);
MesosSchedulerDriver driver(
@@ -1128,7 +1128,7 @@ TEST_F(LinuxFilesystemIsolatorMesosTest,
MockScheduler sched;
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("role1");
+ frameworkInfo.set_roles(0, "role1");
MesosSchedulerDriver driver(
&sched,
@@ -1226,7 +1226,7 @@ TEST_F(LinuxFilesystemIsolatorMesosTest,
MockScheduler sched;
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("role1");
+ frameworkInfo.set_roles(0, "role1");
frameworkInfo.add_capabilities()->set_type(
FrameworkInfo::Capability::SHARED_RESOURCES);
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/tests/default_executor_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/default_executor_tests.cpp b/src/tests/default_executor_tests.cpp
index 0b80d4a..d3e3ef7 100644
--- a/src/tests/default_executor_tests.cpp
+++ b/src/tests/default_executor_tests.cpp
@@ -1322,7 +1322,7 @@ TEST_P(DefaultExecutorTest, ReservedResources)
auto scheduler = std::make_shared<v1::MockHTTPScheduler>();
v1::FrameworkInfo frameworkInfo = v1::DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role(DEFAULT_TEST_ROLE);
+ frameworkInfo.set_roles(0, DEFAULT_TEST_ROLE);
EXPECT_CALL(*scheduler, connected(_))
.WillOnce(v1::scheduler::SendSubscribe(frameworkInfo));
@@ -1359,7 +1359,7 @@ TEST_P(DefaultExecutorTest, ReservedResources)
// Launch the executor using reserved resources.
v1::Resources reserved =
unreserved.pushReservation(v1::createDynamicReservationInfo(
- frameworkInfo.role(), frameworkInfo.principal()));
+ frameworkInfo.roles(0), frameworkInfo.principal()));
v1::ExecutorInfo executorInfo = v1::createExecutorInfo(
v1::DEFAULT_EXECUTOR_ID,
@@ -2300,7 +2300,7 @@ TEST_P_TEMP_DISABLED_ON_WINDOWS(
auto scheduler = std::make_shared<v1::MockHTTPScheduler>();
v1::FrameworkInfo frameworkInfo = v1::DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role(DEFAULT_TEST_ROLE);
+ frameworkInfo.set_roles(0, DEFAULT_TEST_ROLE);
EXPECT_CALL(*scheduler, connected(_))
.WillOnce(v1::scheduler::SendSubscribe(frameworkInfo));
@@ -2330,11 +2330,11 @@ TEST_P_TEMP_DISABLED_ON_WINDOWS(
v1::Resources reserved =
unreserved.pushReservation(v1::createDynamicReservationInfo(
- frameworkInfo.role(), frameworkInfo.principal()));
+ frameworkInfo.roles(0), frameworkInfo.principal()));
v1::Resource volume = v1::createPersistentVolume(
Megabytes(1),
- frameworkInfo.role(),
+ frameworkInfo.roles(0),
"id1",
"executor_volume_path",
frameworkInfo.principal(),
@@ -2446,7 +2446,7 @@ TEST_P_TEMP_DISABLED_ON_WINDOWS(
auto scheduler = std::make_shared<v1::MockHTTPScheduler>();
v1::FrameworkInfo frameworkInfo = v1::DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role(DEFAULT_TEST_ROLE);
+ frameworkInfo.set_roles(0, DEFAULT_TEST_ROLE);
EXPECT_CALL(*scheduler, connected(_))
.WillOnce(v1::scheduler::SendSubscribe(frameworkInfo));
@@ -2488,7 +2488,7 @@ TEST_P_TEMP_DISABLED_ON_WINDOWS(
v1::Resource volume = v1::createPersistentVolume(
Megabytes(1),
- frameworkInfo.role(),
+ frameworkInfo.roles(0),
"id1",
"task_volume_path",
frameworkInfo.principal(),
@@ -2497,7 +2497,7 @@ TEST_P_TEMP_DISABLED_ON_WINDOWS(
v1::Resources reserved =
unreserved.pushReservation(v1::createDynamicReservationInfo(
- frameworkInfo.role(), frameworkInfo.principal()));
+ frameworkInfo.roles(0), frameworkInfo.principal()));
// Launch a task that expects the persistent volume to be
// mounted in its sandbox.
@@ -2573,7 +2573,7 @@ TEST_P_TEMP_DISABLED_ON_WINDOWS(
auto scheduler = std::make_shared<v1::MockHTTPScheduler>();
v1::FrameworkInfo frameworkInfo = v1::DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role(DEFAULT_TEST_ROLE);
+ frameworkInfo.set_roles(0, DEFAULT_TEST_ROLE);
EXPECT_CALL(*scheduler, connected(_))
.WillOnce(v1::scheduler::SendSubscribe(frameworkInfo));
@@ -2602,17 +2602,17 @@ TEST_P_TEMP_DISABLED_ON_WINDOWS(
v1::Resources::parse("cpus:0.1;mem:32;disk:32").get()
.pushReservation(
v1::createDynamicReservationInfo(
- frameworkInfo.role(), frameworkInfo.principal()));
+ frameworkInfo.roles(0), frameworkInfo.principal()));
v1::Resources totalResources =
v1::Resources::parse("cpus:0.3;mem:96;disk:96").get()
.pushReservation(
v1::createDynamicReservationInfo(
- frameworkInfo.role(), frameworkInfo.principal()));
+ frameworkInfo.roles(0), frameworkInfo.principal()));
v1::Resource executorVolume = v1::createPersistentVolume(
Megabytes(1),
- frameworkInfo.role(),
+ frameworkInfo.roles(0),
"executor",
"executor_volume_path",
frameworkInfo.principal(),
@@ -2790,7 +2790,7 @@ TEST_P_TEMP_DISABLED_ON_WINDOWS(
auto scheduler = std::make_shared<v1::MockHTTPScheduler>();
v1::FrameworkInfo frameworkInfo = v1::DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role(DEFAULT_TEST_ROLE);
+ frameworkInfo.set_roles(0, DEFAULT_TEST_ROLE);
EXPECT_CALL(*scheduler, connected(_))
.WillOnce(v1::scheduler::SendSubscribe(frameworkInfo));
@@ -2819,17 +2819,17 @@ TEST_P_TEMP_DISABLED_ON_WINDOWS(
v1::Resources::parse("cpus:0.1;mem:32;disk:32").get()
.pushReservation(
v1::createDynamicReservationInfo(
- frameworkInfo.role(), frameworkInfo.principal()));
+ frameworkInfo.roles(0), frameworkInfo.principal()));
v1::Resources totalResources =
v1::Resources::parse("cpus:0.3;mem:96;disk:96").get()
.pushReservation(
v1::createDynamicReservationInfo(
- frameworkInfo.role(), frameworkInfo.principal()));
+ frameworkInfo.roles(0), frameworkInfo.principal()));
v1::Resource executorVolume = v1::createPersistentVolume(
Megabytes(1),
- frameworkInfo.role(),
+ frameworkInfo.roles(0),
"executor",
"executor_volume_path",
frameworkInfo.principal(),
@@ -3022,7 +3022,7 @@ TEST_P_TEMP_DISABLED_ON_WINDOWS(
auto scheduler = std::make_shared<v1::MockHTTPScheduler>();
v1::FrameworkInfo frameworkInfo = v1::DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role(DEFAULT_TEST_ROLE);
+ frameworkInfo.set_roles(0, DEFAULT_TEST_ROLE);
EXPECT_CALL(*scheduler, connected(_))
.WillOnce(v1::scheduler::SendSubscribe(frameworkInfo));
@@ -3064,7 +3064,7 @@ TEST_P_TEMP_DISABLED_ON_WINDOWS(
v1::Resource volume = v1::createPersistentVolume(
Megabytes(1),
- frameworkInfo.role(),
+ frameworkInfo.roles(0),
"id1",
"task_volume_path",
frameworkInfo.principal(),
@@ -3073,7 +3073,7 @@ TEST_P_TEMP_DISABLED_ON_WINDOWS(
v1::Resources reserved =
unreserved.pushReservation(v1::createDynamicReservationInfo(
- frameworkInfo.role(), frameworkInfo.principal()));
+ frameworkInfo.roles(0), frameworkInfo.principal()));
// Launch a task that expects the persistent volume to be
// mounted in its sandbox.
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/tests/disk_quota_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/disk_quota_tests.cpp b/src/tests/disk_quota_tests.cpp
index fc29799..4e25e32 100644
--- a/src/tests/disk_quota_tests.cpp
+++ b/src/tests/disk_quota_tests.cpp
@@ -251,7 +251,7 @@ TEST_F(DiskQuotaTest, DiskUsageExceedsQuota)
TEST_F(DiskQuotaTest, VolumeUsageExceedsQuota)
{
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("role1");
+ frameworkInfo.set_roles(0, "role1");
master::Flags masterFlags = CreateMasterFlags();
@@ -490,7 +490,7 @@ TEST_F(DiskQuotaTest, ResourceStatistics)
ASSERT_SOME(slave);
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role(DEFAULT_TEST_ROLE);
+ frameworkInfo.set_roles(0, DEFAULT_TEST_ROLE);
MockScheduler sched;
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/tests/fault_tolerance_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/fault_tolerance_tests.cpp b/src/tests/fault_tolerance_tests.cpp
index 33a2220..6f69b6f 100644
--- a/src/tests/fault_tolerance_tests.cpp
+++ b/src/tests/fault_tolerance_tests.cpp
@@ -2040,10 +2040,8 @@ TEST_F(FaultToleranceTest, UpdateFrameworkInfoOnSchedulerFailover)
// scheduler with updated information.
FrameworkInfo finfo1 = DEFAULT_FRAMEWORK_INFO;
-
- // TODO(mpark): Remove this once `RESERVATION_REFINEMENT`
- // is removed from `DEFAULT_FRAMEWORK_INFO`.
finfo1.clear_capabilities();
+ finfo1.clear_roles();
finfo1.set_name("Framework 1");
finfo1.set_failover_timeout(1000);
@@ -2069,11 +2067,7 @@ TEST_F(FaultToleranceTest, UpdateFrameworkInfoOnSchedulerFailover)
// updated FrameworkInfo and wait until it gets a registered
// callback.
- FrameworkInfo finfo2 = DEFAULT_FRAMEWORK_INFO;
-
- // TODO(mpark): Remove this once `RESERVATION_REFINEMENT`
- // is removed from `DEFAULT_FRAMEWORK_INFO`.
- finfo2.clear_capabilities();
+ FrameworkInfo finfo2 = finfo1;
finfo2.mutable_id()->MergeFrom(frameworkId.get());
auto capabilityType = FrameworkInfo::Capability::REVOCABLE_RESOURCES;
@@ -2082,6 +2076,7 @@ TEST_F(FaultToleranceTest, UpdateFrameworkInfoOnSchedulerFailover)
finfo2.set_webui_url("http://localhost:8080/");
finfo2.set_failover_timeout(100);
finfo2.set_hostname("myHostname");
+ finfo2.clear_labels();
finfo2.mutable_labels()->add_labels()->CopyFrom(createLabel("baz", "qux"));
MockScheduler sched2;
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/tests/hook_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/hook_tests.cpp b/src/tests/hook_tests.cpp
index 2e58d11..26394d8 100644
--- a/src/tests/hook_tests.cpp
+++ b/src/tests/hook_tests.cpp
@@ -1132,7 +1132,7 @@ TEST_F_TEMP_DISABLED_ON_WINDOWS(
EXPECT_EQ(TEST_HOOK_CPUS, resources.cpus().get());
- const string allocationRole = DEFAULT_FRAMEWORK_INFO.role();
+ const string allocationRole = DEFAULT_FRAMEWORK_INFO.roles(0);
EXPECT_TRUE(resources.contains(
allocatedResources(TEST_HOOK_ADDITIONAL_RESOURCES, allocationRole)));
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/tests/master_allocator_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/master_allocator_tests.cpp b/src/tests/master_allocator_tests.cpp
index 3400d70..10de6f0 100644
--- a/src/tests/master_allocator_tests.cpp
+++ b/src/tests/master_allocator_tests.cpp
@@ -839,7 +839,7 @@ TYPED_TEST(MasterAllocatorTest, SlaveLost)
EXPECT_EQ(Resources(resourceOffers.get()[0].resources()),
allocatedResources(
Resources::parse(flags2.resources.get()).get(),
- DEFAULT_FRAMEWORK_INFO.role()));
+ DEFAULT_FRAMEWORK_INFO.roles(0)));
// Shut everything down.
EXPECT_CALL(allocator, recoverResources(_, _, _, _))
@@ -1287,7 +1287,7 @@ TYPED_TEST(MasterAllocatorTest, RoleTest)
FrameworkInfo frameworkInfo1 = DEFAULT_FRAMEWORK_INFO;
frameworkInfo1.set_name("framework1");
frameworkInfo1.set_user("user1");
- frameworkInfo1.set_role("role1");
+ frameworkInfo1.set_roles(0, "role1");
MockScheduler sched1;
MesosSchedulerDriver driver1(
@@ -1306,7 +1306,7 @@ TYPED_TEST(MasterAllocatorTest, RoleTest)
FrameworkInfo frameworkInfo2 = DEFAULT_FRAMEWORK_INFO;
frameworkInfo2.set_name("framework2");
frameworkInfo2.set_user("user2");
- frameworkInfo2.set_role("role2");
+ frameworkInfo2.set_roles(0, "role2");
MockScheduler sched2;
MesosSchedulerDriver driver2(
@@ -1656,7 +1656,7 @@ TYPED_TEST(MasterAllocatorTest, RebalancedForUpdatedWeights)
// and all resources will be offered to this framework since it is the only
// framework running so far.
FrameworkInfo frameworkInfo1 = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo1.set_role("role1");
+ frameworkInfo1.set_roles(0, "role1");
MockScheduler sched1;
MesosSchedulerDriver driver1(
&sched1, frameworkInfo1, master.get()->pid, DEFAULT_CREDENTIAL);
@@ -1686,7 +1686,7 @@ TYPED_TEST(MasterAllocatorTest, RebalancedForUpdatedWeights)
// It will not get any offers due to all resources having outstanding offers
// to framework1 when it registered.
FrameworkInfo frameworkInfo2 = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo2.set_role("role2");
+ frameworkInfo2.set_roles(0, "role2");
MockScheduler sched2;
MesosSchedulerDriver driver2(
&sched2, frameworkInfo2, master.get()->pid, DEFAULT_CREDENTIAL);
@@ -1834,7 +1834,7 @@ TYPED_TEST(MasterAllocatorTest, NestedRoles)
// Register a framework in the "a/b" role and launch a single task,
// consuming all the resources on `slave1`.
FrameworkInfo frameworkInfo1 = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo1.set_role("a/b");
+ frameworkInfo1.set_roles(0, "a/b");
MockScheduler sched1;
MesosSchedulerDriver driver1(
@@ -1864,7 +1864,7 @@ TYPED_TEST(MasterAllocatorTest, NestedRoles)
// Register a framework in the "a/c" role. It should not get any
// offers, because there are no unused resources.
FrameworkInfo frameworkInfo2 = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo2.set_role("a/c");
+ frameworkInfo2.set_roles(0, "a/c");
MockScheduler sched2;
MesosSchedulerDriver driver2(
@@ -1883,7 +1883,7 @@ TYPED_TEST(MasterAllocatorTest, NestedRoles)
// Register a framework in the "b/x" role. It should not get any
// offers, because there are no unused resources.
FrameworkInfo frameworkInfo3 = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo3.set_role("b/x");
+ frameworkInfo3.set_roles(0, "b/x");
MockScheduler sched3;
MesosSchedulerDriver driver3(
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/tests/master_authorization_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/master_authorization_tests.cpp b/src/tests/master_authorization_tests.cpp
index eff97f1..676543a 100644
--- a/src/tests/master_authorization_tests.cpp
+++ b/src/tests/master_authorization_tests.cpp
@@ -993,7 +993,7 @@ TEST_F(MasterAuthorizationTest, AuthorizedRole)
ASSERT_SOME(master);
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("foo");
+ frameworkInfo.set_roles(0, "foo");
MockScheduler sched;
MesosSchedulerDriver driver(
@@ -1031,7 +1031,7 @@ TEST_F(MasterAuthorizationTest, UnauthorizedRole)
ASSERT_SOME(master);
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("foo");
+ frameworkInfo.set_roles(0, "foo");
MockScheduler sched;
MesosSchedulerDriver driver(
@@ -1369,7 +1369,7 @@ TYPED_TEST(MasterAuthorizerTest, FilterStateSummaryEndpoint)
// Start framwork with user "bar".
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("role");
+ frameworkInfo.set_roles(0, "role");
frameworkInfo.set_user(user);
MockScheduler sched;
@@ -1499,7 +1499,7 @@ TYPED_TEST(MasterAuthorizerTest, FilterStateEndpoint)
// Start framwork with user "bar".
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("role");
+ frameworkInfo.set_roles(0, "role");
frameworkInfo.set_user(user);
// Create an executor with user "bar".
@@ -1686,7 +1686,7 @@ TYPED_TEST(MasterAuthorizerTest, FilterFrameworksEndpoint)
// Start framwork with user "bar".
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("role");
+ frameworkInfo.set_roles(0, "role");
frameworkInfo.set_user("bar");
// Create an executor with user "bar".
@@ -1875,7 +1875,7 @@ TYPED_TEST(MasterAuthorizerTest, FilterTasksEndpoint)
// Start framwork with user "bar".
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("role");
+ frameworkInfo.set_roles(0, "role");
frameworkInfo.set_user(user);
// Create an executor with user "bar".
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/tests/master_quota_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/master_quota_tests.cpp b/src/tests/master_quota_tests.cpp
index 058f6d2..79c0739 100644
--- a/src/tests/master_quota_tests.cpp
+++ b/src/tests/master_quota_tests.cpp
@@ -115,11 +115,11 @@ protected:
// Creates a FrameworkInfo with the specified role.
FrameworkInfo createFrameworkInfo(const string& role)
{
- FrameworkInfo info;
+ FrameworkInfo info = DEFAULT_FRAMEWORK_INFO;
info.set_user("user");
info.set_name("framework" + process::ID::generate());
info.mutable_id()->set_value(info.name());
- info.set_role(role);
+ info.set_roles(0, role);
return info;
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/tests/master_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/master_tests.cpp b/src/tests/master_tests.cpp
index 57eae32..08742ec 100644
--- a/src/tests/master_tests.cpp
+++ b/src/tests/master_tests.cpp
@@ -976,7 +976,7 @@ TEST_F(MasterTest, RecoverResources)
Resources executorResources = allocatedResources(
Resources::parse("cpus:0.3;mem:200;ports:[5-8, 23-25]").get(),
- DEFAULT_FRAMEWORK_INFO.role());
+ DEFAULT_FRAMEWORK_INFO.roles(0));
executorInfo.mutable_resources()->MergeFrom(executorResources);
TaskID taskId;
@@ -1058,7 +1058,7 @@ TEST_F(MasterTest, RecoverResources)
ASSERT_FALSE(offers->empty());
Resources slaveResources = Resources::parse(flags.resources.get()).get();
- EXPECT_EQ(allocatedResources(slaveResources, DEFAULT_FRAMEWORK_INFO.role()),
+ EXPECT_EQ(allocatedResources(slaveResources, DEFAULT_FRAMEWORK_INFO.roles(0)),
offers.get()[0].resources());
driver.stop();
@@ -2072,11 +2072,8 @@ TEST_F(MasterTest, LaunchDifferentRoleLost)
ASSERT_SOME(slave);
FrameworkInfo framework = DEFAULT_FRAMEWORK_INFO;
- framework.clear_role();
- framework.add_roles("role1");
+ framework.set_roles(0, "role1");
framework.add_roles("role2");
- framework.add_capabilities()->set_type(
- FrameworkInfo::Capability::MULTI_ROLE);
MockScheduler sched;
MesosSchedulerDriver driver(
@@ -4032,7 +4029,7 @@ TEST_F(MasterTest, IgnoreEphemeralPortsResource)
Resources(offers.get()[0].resources()),
allocatedResources(
Resources::parse(resourcesWithoutEphemeralPorts).get(),
- DEFAULT_FRAMEWORK_INFO.role()));
+ DEFAULT_FRAMEWORK_INFO.roles(0)));
driver.stop();
driver.join();
@@ -4547,9 +4544,6 @@ TEST_F(MasterTest, StateEndpointFrameworkInfo)
AWAIT_READY(slaveRegisteredMessage);
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
-
- // TODO(mpark): Remove this once `RESERVATION_REFINEMENT`
- // is removed from `DEFAULT_FRAMEWORK_INFO`.
frameworkInfo.clear_capabilities();
frameworkInfo.set_webui_url("http://localhost:8080/");
@@ -4558,7 +4552,9 @@ TEST_F(MasterTest, StateEndpointFrameworkInfo)
FrameworkInfo::Capability::REVOCABLE_RESOURCES,
FrameworkInfo::Capability::TASK_KILLING_STATE,
FrameworkInfo::Capability::GPU_RESOURCES,
- FrameworkInfo::Capability::PARTITION_AWARE
+ FrameworkInfo::Capability::PARTITION_AWARE,
+ FrameworkInfo::Capability::MULTI_ROLE,
+ FrameworkInfo::Capability::RESERVATION_REFINEMENT,
};
foreach (FrameworkInfo::Capability::Type capability, capabilities) {
@@ -4634,7 +4630,7 @@ TEST_F(MasterTest, StateEndpointFrameworkInfo)
.as<JSON::Array>().values[0].as<JSON::Object>();
JSON::Object allocationInfo;
- allocationInfo.values["role"] = frameworkInfo.role();
+ allocationInfo.values["role"] = frameworkInfo.roles(0);
ASSERT_EQ(1u, offer.values.count("allocation_info"));
EXPECT_EQ(allocationInfo, offer.values.at("allocation_info"));
@@ -4809,7 +4805,7 @@ TEST_F(MasterTest, StateEndpointAllocationRole)
ASSERT_SOME(slave);
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("foo");
+ frameworkInfo.set_roles(0, "foo");
MockScheduler sched;
MesosSchedulerDriver driver(
@@ -4879,10 +4875,10 @@ TEST_F(MasterTest, StateEndpointAllocationRole)
JSON::Array {
JSON::Object {
{ "executors", JSON::Array {
- JSON::Object { { "role", frameworkInfo.role() } } }
+ JSON::Object { { "role", frameworkInfo.roles(0) } } }
},
{ "tasks", JSON::Array {
- JSON::Object { { "role", frameworkInfo.role() } } }
+ JSON::Object { { "role", frameworkInfo.roles(0) } } }
}
}
}
@@ -5954,7 +5950,7 @@ TEST_F(MasterTest, RejectFrameworkWithInvalidRole)
FrameworkInfo framework = DEFAULT_FRAMEWORK_INFO;
// Add invalid role to the FrameworkInfo.
- framework.set_role("/test/test1");
+ framework.set_roles(0, "/test/test1");
MockScheduler sched;
MesosSchedulerDriver driver(
@@ -7366,10 +7362,8 @@ TEST_F(MasterTest, MultiRoleFrameworkReceivesOffers)
ASSERT_SOME(slave1);
FrameworkInfo framework = DEFAULT_FRAMEWORK_INFO;
- framework.add_roles("role1");
+ framework.set_roles(0, "role1");
framework.add_roles("role2");
- framework.add_capabilities()->set_type(
- FrameworkInfo::Capability::MULTI_ROLE);
MockScheduler sched;
MesosSchedulerDriver driver(
@@ -7517,12 +7511,9 @@ TEST_F(MasterTest, MultiRoleSchedulerUnsubscribeFromRole)
// capability, so we expect its tasks to continue running when the
// partitioned agent reregisters.
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.clear_role();
- frameworkInfo.add_roles("foo");
+ frameworkInfo.set_roles(0, "foo");
frameworkInfo.add_capabilities()->set_type(
FrameworkInfo::Capability::PARTITION_AWARE);
- frameworkInfo.add_capabilities()->set_type(
- FrameworkInfo::Capability::MULTI_ROLE);
MockScheduler sched1;
MesosSchedulerDriver driver1(
@@ -8299,11 +8290,13 @@ INSTANTIATE_TEST_CASE_P(
TEST_P(MasterTestPrePostReservationRefinement, LaunchTask)
{
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role(DEFAULT_TEST_ROLE);
+ frameworkInfo.set_roles(0, DEFAULT_TEST_ROLE);
// TODO(mpark): Remove this once `RESERVATION_REFINEMENT`
// is removed from `DEFAULT_FRAMEWORK_INFO`.
frameworkInfo.clear_capabilities();
+ frameworkInfo.add_capabilities()->set_type(
+ FrameworkInfo::Capability::MULTI_ROLE);
if (GetParam()) {
frameworkInfo.add_capabilities()->set_type(
@@ -8379,11 +8372,13 @@ TEST_P(MasterTestPrePostReservationRefinement, LaunchTask)
TEST_P(MasterTestPrePostReservationRefinement, LaunchGroup)
{
v1::FrameworkInfo frameworkInfo = v1::DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role(DEFAULT_TEST_ROLE);
+ frameworkInfo.set_roles(0, DEFAULT_TEST_ROLE);
// TODO(mpark): Remove this once `RESERVATION_REFINEMENT`
// is removed from `DEFAULT_FRAMEWORK_INFO`.
frameworkInfo.clear_capabilities();
+ frameworkInfo.add_capabilities()->set_type(
+ v1::FrameworkInfo::Capability::MULTI_ROLE);
if (GetParam()) {
frameworkInfo.add_capabilities()->set_type(
@@ -8544,11 +8539,13 @@ TEST_P(MasterTestPrePostReservationRefinement,
ReserveCreateLaunchDestroyUnreserve)
{
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role(DEFAULT_TEST_ROLE);
+ frameworkInfo.set_roles(0, DEFAULT_TEST_ROLE);
// TODO(mpark): Remove this once `RESERVATION_REFINEMENT`
// is removed from `DEFAULT_FRAMEWORK_INFO`.
frameworkInfo.clear_capabilities();
+ frameworkInfo.add_capabilities()->set_type(
+ FrameworkInfo::Capability::MULTI_ROLE);
if (GetParam()) {
frameworkInfo.add_capabilities()->set_type(
@@ -8557,7 +8554,7 @@ TEST_P(MasterTestPrePostReservationRefinement,
master::Flags masterFlags = CreateMasterFlags();
masterFlags.allocation_interval = Milliseconds(5);
- masterFlags.roles = frameworkInfo.role();
+ masterFlags.roles = frameworkInfo.roles(0);
Try<Owned<cluster::Master>> master = StartMaster(masterFlags);
ASSERT_SOME(master);
@@ -8583,11 +8580,11 @@ TEST_P(MasterTestPrePostReservationRefinement,
Resources reservedCpus =
unreservedCpus.pushReservation(createDynamicReservationInfo(
- frameworkInfo.role(), frameworkInfo.principal()));
+ frameworkInfo.roles(0), frameworkInfo.principal()));
Resources reservedDisk =
unreservedDisk.pushReservation(createDynamicReservationInfo(
- frameworkInfo.role(), frameworkInfo.principal()));
+ frameworkInfo.roles(0), frameworkInfo.principal()));
Resources volume = createPersistentVolume(
createDiskResource("512", DEFAULT_TEST_ROLE, None(), None()),
@@ -8615,7 +8612,7 @@ TEST_P(MasterTestPrePostReservationRefinement,
EXPECT_TRUE(inboundResources(offer.resources())
.contains(allocatedResources(
- unreservedCpus + unreservedDisk, frameworkInfo.role())));
+ unreservedCpus + unreservedDisk, frameworkInfo.roles(0))));
// The expectation for the next offer.
EXPECT_CALL(sched, resourceOffers(&driver, _))
@@ -8640,7 +8637,7 @@ TEST_P(MasterTestPrePostReservationRefinement,
EXPECT_TRUE(inboundResources(offer.resources())
.contains(allocatedResources(
- reservedCpus + reservedDisk, frameworkInfo.role())));
+ reservedCpus + reservedDisk, frameworkInfo.roles(0))));
// The expectation for the next offer.
EXPECT_CALL(sched, resourceOffers(&driver, _))
@@ -8665,7 +8662,7 @@ TEST_P(MasterTestPrePostReservationRefinement,
EXPECT_TRUE(inboundResources(offer.resources())
.contains(allocatedResources(
- reservedCpus + volume, frameworkInfo.role())));
+ reservedCpus + volume, frameworkInfo.roles(0))));
// The expectation for the next offer.
EXPECT_CALL(sched, resourceOffers(&driver, _))
@@ -8690,7 +8687,7 @@ TEST_P(MasterTestPrePostReservationRefinement,
EXPECT_TRUE(inboundResources(offer.resources())
.contains(allocatedResources(
- reservedCpus + reservedDisk, frameworkInfo.role())));
+ reservedCpus + reservedDisk, frameworkInfo.roles(0))));
// The expectation for the next offer.
EXPECT_CALL(sched, resourceOffers(&driver, _))
@@ -8715,7 +8712,7 @@ TEST_P(MasterTestPrePostReservationRefinement,
EXPECT_TRUE(inboundResources(offer.resources())
.contains(allocatedResources(
- unreservedCpus + unreservedDisk, frameworkInfo.role())));
+ unreservedCpus + unreservedDisk, frameworkInfo.roles(0))));
driver.stop();
driver.join();
@@ -8727,11 +8724,13 @@ TEST_P(MasterTestPrePostReservationRefinement,
TEST_P(MasterTestPrePostReservationRefinement, StateEndpointPendingTasks)
{
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role(DEFAULT_TEST_ROLE);
+ frameworkInfo.set_roles(0, DEFAULT_TEST_ROLE);
// TODO(mpark): Remove this once `RESERVATION_REFINEMENT`
// is removed from `DEFAULT_FRAMEWORK_INFO`.
frameworkInfo.clear_capabilities();
+ frameworkInfo.add_capabilities()->set_type(
+ FrameworkInfo::Capability::MULTI_ROLE);
if (GetParam()) {
frameworkInfo.add_capabilities()->set_type(
@@ -8806,7 +8805,7 @@ TEST_P(MasterTestPrePostReservationRefinement, StateEndpointPendingTasks)
JSON::Array {
JSON::Object {
{ "id", "1" },
- { "role", frameworkInfo.role() },
+ { "role", frameworkInfo.roles(0) },
{ "state", "TASK_STAGING" }
}
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/tests/master_validation_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/master_validation_tests.cpp b/src/tests/master_validation_tests.cpp
index 0e1c8b4..6398f16 100644
--- a/src/tests/master_validation_tests.cpp
+++ b/src/tests/master_validation_tests.cpp
@@ -917,7 +917,7 @@ TEST_F(CreateOperationValidationTest, SharedVolumeBasedOnCapability)
// When a FrameworkInfo with no SHARED_RESOURCES capability is
// specified, the validation should fail.
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("role1");
+ frameworkInfo.set_roles(0, "role1");
error = operation::validate(
create, Resources(), None(), capabilities, frameworkInfo);
@@ -943,14 +943,14 @@ TEST_F(CreateOperationValidationTest, InsufficientDiskResource)
protobuf::slave::Capabilities capabilities;
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
- frameworkInfo.set_role("role1");
+ frameworkInfo.set_roles(0, "role1");
master::Flags masterFlags = CreateMasterFlags();
ACLs acls;
mesos::ACL::RegisterFramework* acl = acls.add_register_frameworks();
acl->mutable_principals()->add_values(frameworkInfo.principal());
- acl->mutable_roles()->add_values(frameworkInfo.role());
+ acl->mutable_roles()->add_values(frameworkInfo.roles(0));
masterFlags.acls = acls;
masterFlags.roles = "role1";
@@ -3703,7 +3703,8 @@ TEST_F(FrameworkInfoValidationTest, MissingMultiRoleCapability)
ASSERT_SOME(master);
FrameworkInfo framework = DEFAULT_FRAMEWORK_INFO;
- framework.add_roles("role");
+ framework.clear_capabilities();
+ framework.set_roles(0, "role");
MockScheduler sched;
MesosSchedulerDriver driver(
@@ -3726,7 +3727,7 @@ TEST_F(FrameworkInfoValidationTest, AcceptMultiRoleFramework)
ASSERT_SOME(master);
FrameworkInfo framework = DEFAULT_FRAMEWORK_INFO;
- framework.add_roles("role1");
+ framework.set_roles(0, "role1");
framework.add_roles("role2");
framework.add_capabilities()->set_type(
FrameworkInfo::Capability::MULTI_ROLE);
@@ -3756,7 +3757,7 @@ TEST_F(FrameworkInfoValidationTest, MultiRoleWhitelist)
ASSERT_SOME(master);
FrameworkInfo framework = DEFAULT_FRAMEWORK_INFO;
- framework.add_roles("role1");
+ framework.set_roles(0, "role1");
framework.add_roles("role2");
framework.add_capabilities()->set_type(
FrameworkInfo::Capability::MULTI_ROLE);
@@ -3789,6 +3790,8 @@ TEST_F(FrameworkInfoValidationTest, UpgradeToMultiRole)
ASSERT_SOME(master);
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
+ frameworkInfo.clear_capabilities();
+ frameworkInfo.clear_roles();
frameworkInfo.set_role("role");
// Set a long failover timeout so the framework isn't immediately removed.
@@ -3860,7 +3863,7 @@ TEST_F(FrameworkInfoValidationTest, DowngradeFromMultipleRoles)
// is removed from `DEFAULT_FRAMEWORK_INFO`.
frameworkInfo.clear_capabilities();
- frameworkInfo.add_roles("role1");
+ frameworkInfo.set_roles(0, "role1");
frameworkInfo.add_roles("role2");
frameworkInfo.add_capabilities()->set_type(
FrameworkInfo::Capability::MULTI_ROLE);
@@ -3930,9 +3933,7 @@ TEST_F(FrameworkInfoValidationTest, RoleChangeWithMultiRole)
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
ASSERT_FALSE(frameworkInfo.has_role());
- frameworkInfo.add_roles("role1");
- frameworkInfo.add_capabilities()->set_type(
- FrameworkInfo::Capability::MULTI_ROLE);
+ frameworkInfo.set_roles(0, "role1");
// Set a long failover timeout so the framework isn't immediately removed.
frameworkInfo.set_failover_timeout(Weeks(1).secs());
@@ -4002,6 +4003,8 @@ TEST_F(FrameworkInfoValidationTest, RoleChangeWithMultiRoleMasterFailover)
// immediately cleaned up.
FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO;
frameworkInfo.set_failover_timeout(Weeks(1).secs());
+ frameworkInfo.clear_capabilities();
+ frameworkInfo.clear_roles();
frameworkInfo.set_role("role1");
Future<FrameworkID> frameworkId;
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/tests/mesos.hpp
----------------------------------------------------------------------
diff --git a/src/tests/mesos.hpp b/src/tests/mesos.hpp
index aa2571f..3a9b1fb 100644
--- a/src/tests/mesos.hpp
+++ b/src/tests/mesos.hpp
@@ -489,6 +489,9 @@ struct DefaultFrameworkInfo
framework.set_user(os::user().get());
framework.set_principal(
DefaultCredential<TCredential>::create().principal());
+ framework.add_roles("*");
+ framework.add_capabilities()->set_type(
+ TFrameworkInfo::Capability::MULTI_ROLE);
framework.add_capabilities()->set_type(
TFrameworkInfo::Capability::RESERVATION_REFINEMENT);
@@ -2265,7 +2268,11 @@ ACTION_P5(LaunchTasks, executor, tasks, cpus, mem, role)
Resources taskResources = Resources::parse(
"cpus:" + stringify(cpus) + ";mem:" + stringify(mem)).get();
- taskResources.allocate(role);
+
+ if (offer.resources_size() > 0 &&
+ offer.resources(0).has_allocation_info()) {
+ taskResources.allocate(role);
+ }
int nextTaskId = 0;
std::vector<TaskInfo> tasks;
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/tests/oversubscription_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/oversubscription_tests.cpp b/src/tests/oversubscription_tests.cpp
index 57f42e0..3f57ce1 100644
--- a/src/tests/oversubscription_tests.cpp
+++ b/src/tests/oversubscription_tests.cpp
@@ -405,10 +405,10 @@ TEST_F(OversubscriptionTest, RevocableOffer)
estimations.put(createRevocableResources("cpus", "2"));
Resources taskResources = createRevocableResources("cpus", "1");
- taskResources.allocate(framework.role());
+ taskResources.allocate(framework.roles(0));
Resources executorResources = createRevocableResources("cpus", "1");
- executorResources.allocate(framework.role());
+ executorResources.allocate(framework.roles(0));
// Now the framework will get revocable resources.
AWAIT_READY(offers2);
@@ -514,7 +514,7 @@ TEST_F(OversubscriptionTest, RescindRevocableOfferWithIncreasedRevocable)
EXPECT_EQ(1u, offers.size());
Future<Offer> offer = offers.get();
AWAIT_READY(offer);
- EXPECT_EQ(allocatedResources(resources1, framework.role()),
+ EXPECT_EQ(allocatedResources(resources1, framework.roles(0)),
Resources(offer->resources()));
Future<OfferID> offerId;
@@ -552,7 +552,7 @@ TEST_F(OversubscriptionTest, RescindRevocableOfferWithIncreasedRevocable)
}
// The offered resources should match the resource estimate.
- EXPECT_EQ(allocatedResources(resources2, framework.role()), resources3);
+ EXPECT_EQ(allocatedResources(resources2, framework.roles(0)), resources3);
driver.stop();
driver.join();
@@ -628,7 +628,7 @@ TEST_F(OversubscriptionTest, RescindRevocableOfferWithDecreasedRevocable)
// Now the framework will get revocable resources.
AWAIT_READY(offers2);
ASSERT_FALSE(offers2->empty());
- EXPECT_EQ(allocatedResources(resources1, framework.role()),
+ EXPECT_EQ(allocatedResources(resources1, framework.roles(0)),
Resources(offers2.get()[0].resources()));
Future<OfferID> offerId;
@@ -659,7 +659,7 @@ TEST_F(OversubscriptionTest, RescindRevocableOfferWithDecreasedRevocable)
// The new offer should include the latest oversubscribed resources.
AWAIT_READY(offers3);
ASSERT_FALSE(offers3->empty());
- EXPECT_EQ(allocatedResources(resources2, framework.role()),
+ EXPECT_EQ(allocatedResources(resources2, framework.roles(0)),
Resources(offers3.get()[0].resources()));
driver.stop();
@@ -1314,7 +1314,7 @@ TEST_F(OversubscriptionTest, UpdateAllocatorOnSchedulerFailover)
AWAIT_READY(offers2);
ASSERT_FALSE(offers2->empty());
- EXPECT_EQ(allocatedResources(revocable, framework2.role()),
+ EXPECT_EQ(allocatedResources(revocable, framework2.roles(0)),
Resources(offers2.get()[0].resources()));
EXPECT_EQ(DRIVER_STOPPED, driver2.stop());
@@ -1388,7 +1388,7 @@ TEST_F(OversubscriptionTest, RemoveCapabilitiesOnSchedulerFailover)
// Now the framework will get revocable resources.
AWAIT_READY(offers2);
ASSERT_FALSE(offers2->empty());
- EXPECT_EQ(allocatedResources(revocable, framework1.role()),
+ EXPECT_EQ(allocatedResources(revocable, framework1.roles(0)),
Resources(offers2.get()[0].resources()));
// Reregister the framework with removal of revocable resources capability.
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/tests/partition_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/partition_tests.cpp b/src/tests/partition_tests.cpp
index 31ebfe1..54ccf78 100644
--- a/src/tests/partition_tests.cpp
+++ b/src/tests/partition_tests.cpp
@@ -873,7 +873,7 @@ TEST_F_TEMP_DISABLED_ON_WINDOWS(
Offer offer = offers.get()[0];
Resources taskResources = Resources::parse("cpus:1;mem:512").get();
- taskResources.allocate(DEFAULT_FRAMEWORK_INFO.role());
+ taskResources.allocate(DEFAULT_FRAMEWORK_INFO.roles(0));
EXPECT_TRUE(Resources(offer.resources()).contains(taskResources));
http://git-wip-us.apache.org/repos/asf/mesos/blob/5044610c/src/tests/persistent_volume_endpoints_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/persistent_volume_endpoints_tests.cpp b/src/tests/persistent_volume_endpoints_tests.cpp
index 883192d..94b8caa 100644
--- a/src/tests/persistent_volume_endpoints_tests.cpp
+++ b/src/tests/persistent_volume_endpoints_tests.cpp
@@ -82,7 +82,7 @@ public:
// `HierarchicalAllocator::updateAvailable()` and periodic allocations.
master::Flags flags = MesosTest::CreateMasterFlags();
flags.allocation_interval = Seconds(1000);
- flags.roles = createFrameworkInfo().role();
+ flags.roles = createFrameworkInfo().roles(0);
return flags;
}
@@ -90,7 +90,7 @@ public:
FrameworkInfo createFrameworkInfo()
{
FrameworkInfo info = DEFAULT_FRAMEWORK_INFO;
- info.set_role("role1");
+ info.set_roles(0, "role1");
return info;
}
@@ -166,7 +166,7 @@ TEST_F(PersistentVolumeEndpointsTest, StaticReservation)
Offer offer = offers.get()[0];
EXPECT_TRUE(Resources(offer.resources()).contains(
- allocatedResources(volume, frameworkInfo.role())));
+ allocatedResources(volume, frameworkInfo.roles(0))));
Future<OfferID> rescindedOfferId;
@@ -197,7 +197,7 @@ TEST_F(PersistentVolumeEndpointsTest, StaticReservation)
offer = offers.get()[0];
EXPECT_FALSE(Resources(offer.resources()).contains(
- allocatedResources(volume, frameworkInfo.role())));
+ allocatedResources(volume, frameworkInfo.roles(0))));
driver.stop();
driver.join();
@@ -229,7 +229,7 @@ TEST_F(PersistentVolumeEndpointsTest, DynamicReservation)
Resources unreserved = Resources::parse("disk:1024").get();
Resources dynamicallyReserved =
unreserved.pushReservation(createDynamicReservationInfo(
- frameworkInfo.role(), DEFAULT_CREDENTIAL.principal()));
+ frameworkInfo.roles(0), DEFAULT_CREDENTIAL.principal()));
Future<Response> response = process::http::post(
master.get()->pid,
@@ -262,7 +262,7 @@ TEST_F(PersistentVolumeEndpointsTest, DynamicReservation)
EXPECT_TRUE(Resources(offer.resources())
.contains(allocatedResources(
- dynamicallyReserved, frameworkInfo.role())));
+ dynamicallyReserved, frameworkInfo.roles(0))));
Future<OfferID> rescindedOfferId;
@@ -271,7 +271,7 @@ TEST_F(PersistentVolumeEndpointsTest, DynamicReservation)
Resources volume = createPersistentVolume(
Megabytes(64),
- frameworkInfo.role(),
+ frameworkInfo.roles(0),
"id1",
"path1",
DEFAULT_CREDENTIAL.principal(),
@@ -302,7 +302,7 @@ TEST_F(PersistentVolumeEndpointsTest, DynamicReservation)
offer = offers.get()[0];
EXPECT_TRUE(Resources(offer.resources()).contains(
- allocatedResources(volume, frameworkInfo.role())));
+ allocatedResources(volume, frameworkInfo.roles(0))));
EXPECT_CALL(sched, offerRescinded(&driver, _))
.WillOnce(FutureArg<1>(&rescindedOfferId));
@@ -352,7 +352,7 @@ TEST_F(PersistentVolumeEndpointsTest, DynamicReservationRoleMismatch)
Resources unreserved = Resources::parse("disk:1024").get();
Resources dynamicallyReserved =
unreserved.pushReservation(createDynamicReservationInfo(
- frameworkInfo.role(), DEFAULT_CREDENTIAL.principal()));
+ frameworkInfo.roles(0), DEFAULT_CREDENTIAL.principal()));
Future<Response> response = process::http::post(
master.get()->pid,
@@ -381,9 +381,9 @@ TEST_F(PersistentVolumeEndpointsTest, DynamicReservationRoleMismatch)
Offer offer = offers.get()[0];
EXPECT_TRUE(Resources(offer.resources()).contains(
- allocatedResources(dynamicallyReserved, frameworkInfo.role())));
+ allocatedResources(dynamicallyReserved, frameworkInfo.roles(0))));
- ASSERT_NE(frameworkInfo.role(), "role2");
+ ASSERT_NE(frameworkInfo.roles(0), "role2");
Resources volume = createPersistentVolume(
Megabytes(64),
"role2",
@@ -431,7 +431,7 @@ TEST_F(PersistentVolumeEndpointsTest, UnreserveVolumeResources)
Resources unreserved = Resources::parse("disk:1024").get();
Resources dynamicallyReserved =
unreserved.pushReservation(createDynamicReservationInfo(
- frameworkInfo.role(), DEFAULT_CREDENTIAL.principal()));
+ frameworkInfo.roles(0), DEFAULT_CREDENTIAL.principal()));
Future<Response> response = process::http::post(
master.get()->pid,
@@ -443,7 +443,7 @@ TEST_F(PersistentVolumeEndpointsTest, UnreserveVolumeResources)
Resources volume = createPersistentVolume(
Megabytes(64),
- frameworkInfo.role(),
+ frameworkInfo.roles(0),
"id1",
"path1",
DEFAULT_CREDENTIAL.principal(),
@@ -711,7 +711,7 @@ TEST_F(PersistentVolumeEndpointsTest, NoHeader)
Resources volume = createPersistentVolume(
Megabytes(64),
- frameworkInfo.role(),
+ frameworkInfo.roles(0),
"id1",
"path1",
None(),
@@ -868,7 +868,7 @@ TEST_F(PersistentVolumeEndpointsTest, GoodCreateAndDestroyACL)
Offer offer = offers.get()[0];
EXPECT_TRUE(Resources(offer.resources()).contains(
- allocatedResources(volume, frameworkInfo.role())));
+ allocatedResources(volume, frameworkInfo.roles(0))));
Future<OfferID> rescindedOfferId;
@@ -899,7 +899,7 @@ TEST_F(PersistentVolumeEndpointsTest, GoodCreateAndDestroyACL)
offer = offers.get()[0];
EXPECT_FALSE(Resources(offer.resources()).contains(
- allocatedResources(volume, frameworkInfo.role())));
+ allocatedResources(volume, frameworkInfo.roles(0))));
driver.stop();
driver.join();
@@ -1089,7 +1089,7 @@ TEST_F(PersistentVolumeEndpointsTest, BadCreateAndDestroyACL)
Offer offer = offers.get()[0];
EXPECT_TRUE(Resources(offer.resources()).contains(
- allocatedResources(volume, frameworkInfo.role())));
+ allocatedResources(volume, frameworkInfo.roles(0))));
// The failed destruction attempt.
Future<Response> destroyResponse = process::http::post(
@@ -1286,7 +1286,7 @@ TEST_F(PersistentVolumeEndpointsTest, GoodCreateAndDestroyACLBadCredential)
Offer offer = offers.get()[0];
EXPECT_TRUE(Resources(offer.resources()).contains(
- allocatedResources(volume, frameworkInfo.role())));
+ allocatedResources(volume, frameworkInfo.roles(0))));
// The failed destruction attempt.
Future<Response> destroyResponse = process::http::post(
@@ -1506,7 +1506,7 @@ TEST_F(PersistentVolumeEndpointsTest, OfferCreateThenEndpointRemove)
Resources unreserved = Resources::parse("disk:512").get();
Resources dynamicallyReserved =
unreserved.pushReservation(createDynamicReservationInfo(
- frameworkInfo.role(), DEFAULT_CREDENTIAL.principal()));
+ frameworkInfo.roles(0), DEFAULT_CREDENTIAL.principal()));
EXPECT_CALL(sched, registered(_, _, _));
@@ -1547,12 +1547,12 @@ TEST_F(PersistentVolumeEndpointsTest, OfferCreateThenEndpointRemove)
offer = offers.get()[0];
EXPECT_TRUE(Resources(offer.resources()).contains(
- allocatedResources(dynamicallyReserved, frameworkInfo.role())));
+ allocatedResources(dynamicallyReserved, frameworkInfo.roles(0))));
// Create a 1MB persistent volume.
Resources volume = createPersistentVolume(
Megabytes(1),
- frameworkInfo.role(),
+ frameworkInfo.roles(0),
"id1",
"volume_path",
frameworkInfo.principal(),
@@ -1580,7 +1580,7 @@ TEST_F(PersistentVolumeEndpointsTest, OfferCreateThenEndpointRemove)
offer = offers.get()[0];
EXPECT_TRUE(Resources(offer.resources()).contains(
- allocatedResources(volume, frameworkInfo.role())));
+ allocatedResources(volume, frameworkInfo.roles(0))));
Future<OfferID> rescindedOfferId;
@@ -1612,7 +1612,7 @@ TEST_F(PersistentVolumeEndpointsTest, OfferCreateThenEndpointRemove)
offer = offers.get()[0];
EXPECT_TRUE(Resources(offer.resources()).contains(
- allocatedResources(dynamicallyReserved, frameworkInfo.role())));
+ allocatedResources(dynamicallyReserved, frameworkInfo.roles(0))));
EXPECT_CALL(sched, offerRescinded(&driver, _))
.WillOnce(FutureArg<1>(&rescindedOfferId));
@@ -1642,7 +1642,7 @@ TEST_F(PersistentVolumeEndpointsTest, OfferCreateThenEndpointRemove)
offer = offers.get()[0];
EXPECT_TRUE(Resources(offer.resources()).contains(
- allocatedResources(unreserved, frameworkInfo.role())));
+ allocatedResources(unreserved, frameworkInfo.roles(0))));
driver.stop();
driver.join();
@@ -1676,7 +1676,7 @@ TEST_F(PersistentVolumeEndpointsTest, EndpointCreateThenOfferRemove)
Resources unreserved = Resources::parse("disk:512").get();
Resources dynamicallyReserved =
unreserved.pushReservation(createDynamicReservationInfo(
- frameworkInfo.role(), DEFAULT_CREDENTIAL.principal()));
+ frameworkInfo.roles(0), DEFAULT_CREDENTIAL.principal()));
Future<Response> response = process::http::post(
master.get()->pid,
@@ -1689,7 +1689,7 @@ TEST_F(PersistentVolumeEndpointsTest, EndpointCreateThenOfferRemove)
// Create a 1MB persistent volume.
Resources volume = createPersistentVolume(
Megabytes(1),
- frameworkInfo.role(),
+ frameworkInfo.roles(0),
"id1",
"volume_path",
frameworkInfo.principal(),
@@ -1724,7 +1724,7 @@ TEST_F(PersistentVolumeEndpointsTest, EndpointCreateThenOfferRemove)
Offer offer = offers.get()[0];
EXPECT_TRUE(Resources(offer.resources()).contains(
- allocatedResources(volume, frameworkInfo.role())));
+ allocatedResources(volume, frameworkInfo.roles(0))));
Future<CheckpointResourcesMessage> checkpointResources =
FUTURE_PROTOBUF(CheckpointResourcesMessage(), _, _);
@@ -1748,9 +1748,9 @@ TEST_F(PersistentVolumeEndpointsTest, EndpointCreateThenOfferRemove)
EXPECT_TRUE(Resources(offer.resources())
.contains(allocatedResources(
- dynamicallyReserved, frameworkInfo.role())))
+ dynamicallyReserved, frameworkInfo.roles(0))))
<< Resources(offer.resources()) << " vs "
- << allocatedResources(dynamicallyReserved, frameworkInfo.role());
+ << allocatedResources(dynamicallyReserved, frameworkInfo.roles(0));
checkpointResources = FUTURE_PROTOBUF(CheckpointResourcesMessage(), _, _);
@@ -1773,7 +1773,7 @@ TEST_F(PersistentVolumeEndpointsTest, EndpointCreateThenOfferRemove)
offer = offers.get()[0];
EXPECT_TRUE(Resources(offer.resources()).contains(
- allocatedResources(unreserved, frameworkInfo.role())));
+ allocatedResources(unreserved, frameworkInfo.roles(0))));
driver.stop();
driver.join();
@@ -1826,7 +1826,7 @@ TEST_F(PersistentVolumeEndpointsTest, ReserveAndSlaveRemoval)
Resources slave1Unreserved = Resources::parse("cpus:4").get();
Resources slave1Reserved =
slave1Unreserved.pushReservation(createDynamicReservationInfo(
- frameworkInfo.role(), DEFAULT_CREDENTIAL.principal()));
+ frameworkInfo.roles(0), DEFAULT_CREDENTIAL.principal()));
Future<Response> response = process::http::post(
master.get()->pid,
@@ -1863,7 +1863,7 @@ TEST_F(PersistentVolumeEndpointsTest, ReserveAndSlaveRemoval)
Resources slave2Unreserved = Resources::parse("cpus:3").get();
Resources slave2Reserved =
slave2Unreserved.pushReservation(createDynamicReservationInfo(
- frameworkInfo.role(), DEFAULT_CREDENTIAL.principal()));
+ frameworkInfo.roles(0), DEFAULT_CREDENTIAL.principal()));
for (size_t i = 0; i < offers->size(); i++) {
const Offer& offer = offers.get()[i];
@@ -1931,7 +1931,7 @@ TEST_F(PersistentVolumeEndpointsTest, SlavesEndpointFullResources)
Resources unreserved = Resources::parse("cpus:1;mem:512;disk:1024").get();
Resources dynamicallyReserved =
unreserved.pushReservation(createDynamicReservationInfo(
- frameworkInfo.role(), DEFAULT_CREDENTIAL.principal()));
+ frameworkInfo.roles(0), DEFAULT_CREDENTIAL.principal()));
Future<Response> response = process::http::post(
master.get()->pid,
@@ -1943,7 +1943,7 @@ TEST_F(PersistentVolumeEndpointsTest, SlavesEndpointFullResources)
Resources volume = createPersistentVolume(
Megabytes(64),
- frameworkInfo.role(),
+ frameworkInfo.roles(0),
"id1",
"path1",
DEFAULT_CREDENTIAL.principal(),
@@ -1979,12 +1979,12 @@ TEST_F(PersistentVolumeEndpointsTest, SlavesEndpointFullResources)
Offer offer = offers.get()[0];
EXPECT_TRUE(Resources(offer.resources()).contains(
- allocatedResources(volume, frameworkInfo.role())));
+ allocatedResources(volume, frameworkInfo.roles(0))));
Resources taskUnreserved = Resources::parse("cpus:1;mem:256").get();
Resources taskResources =
taskUnreserved.pushReservation(createDynamicReservationInfo(
- frameworkInfo.role(), DEFAULT_CREDENTIAL.principal()));
+ frameworkInfo.roles(0), DEFAULT_CREDENTIAL.principal()));
TaskInfo taskInfo = createTask(offer.slave_id(), taskResources, "sleep 1000");