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/02/21 21:04:07 UTC
[2/2] mesos git commit: Added agent capabilities to `/state`(v0)
endpoint of agent.
Added agent capabilities to `/state`(v0) endpoint of agent.
Review: https://reviews.apache.org/r/56645/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/5ad643fd
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/5ad643fd
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/5ad643fd
Branch: refs/heads/master
Commit: 5ad643fd7b83cf87a820c82e3c980e2ad21899f4
Parents: 16c59fc
Author: Jay Guo <gu...@gmail.com>
Authored: Tue Feb 21 13:03:07 2017 -0800
Committer: Benjamin Mahler <bm...@apache.org>
Committed: Tue Feb 21 13:03:07 2017 -0800
----------------------------------------------------------------------
src/slave/http.cpp | 8 ++++++++
src/tests/slave_tests.cpp | 9 +++++++++
2 files changed, 17 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/5ad643fd/src/slave/http.cpp
----------------------------------------------------------------------
diff --git a/src/slave/http.cpp b/src/slave/http.cpp
index af70b6f..8a9fabf 100644
--- a/src/slave/http.cpp
+++ b/src/slave/http.cpp
@@ -138,6 +138,13 @@ static void json(JSON::ObjectWriter* writer, const TaskInfo& task)
}
}
+static void json(
+ JSON::StringWriter* writer,
+ const SlaveInfo::Capability::Type& capability)
+{
+ writer->append(SlaveInfo::Capability::Type_Name(capability));
+}
+
namespace internal {
namespace slave {
@@ -1222,6 +1229,7 @@ Future<Response> Slave::Http::state(
writer->field("id", slave->info.id().value());
writer->field("pid", string(slave->self()));
writer->field("hostname", slave->info.hostname());
+ writer->field("capabilities", MESOS_AGENT_CAPABILITIES);
const Resources& totalResources = slave->totalResources;
http://git-wip-us.apache.org/repos/asf/mesos/blob/5ad643fd/src/tests/slave_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/slave_tests.cpp b/src/tests/slave_tests.cpp
index 16bb14b..61767b1 100644
--- a/src/tests/slave_tests.cpp
+++ b/src/tests/slave_tests.cpp
@@ -1525,6 +1525,15 @@ TEST_F(SlaveTest, StateEndpoint)
EXPECT_EQ(stringify(slave.get()->pid), state.values["pid"]);
EXPECT_EQ(agentFlags.hostname.get(), state.values["hostname"]);
+ ASSERT_TRUE(state.values["capabilities"].is<JSON::Array>());
+ EXPECT_FALSE(state.values["capabilities"].as<JSON::Array>().values.empty());
+ JSON::Value slaveCapabilities = state.values.at("capabilities");
+
+ // Agents should always have MULTI_ROLE capability in current implementation.
+ Try<JSON::Value> expectedCapabilities = JSON::parse("[\"MULTI_ROLE\"]");
+ ASSERT_SOME(expectedCapabilities);
+ EXPECT_TRUE(slaveCapabilities.contains(expectedCapabilities.get()));
+
Try<Resources> resources = Resources::parse(
agentFlags.resources.get(), agentFlags.default_role);