You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ji...@apache.org on 2017/07/01 00:23:31 UTC
[5/7] mesos git commit: Rename and deprecate the LinuxInfo
capability_info field.
Rename and deprecate the LinuxInfo capability_info field.
For clarity, deprecate the LinuxInfo `capability_info`` field in
favor of a new `effective_capabilities` field.
Review: https://reviews.apache.org/r/60413/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/31c7ad72
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/31c7ad72
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/31c7ad72
Branch: refs/heads/master
Commit: 31c7ad725a2c787a861c98129b4cf803dc0ba7ac
Parents: dd2374b
Author: James Peach <jp...@apache.org>
Authored: Fri Jun 30 17:12:33 2017 -0700
Committer: Jie Yu <yu...@gmail.com>
Committed: Fri Jun 30 17:12:33 2017 -0700
----------------------------------------------------------------------
include/mesos/mesos.proto | 8 ++++++--
include/mesos/v1/mesos.proto | 8 ++++++--
src/cli/execute.cpp | 2 +-
.../containerizer/mesos/isolators/linux/capabilities.cpp | 11 +++++++++++
.../containerizer/linux_capabilities_isolator_tests.cpp | 2 +-
5 files changed, 25 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/31c7ad72/include/mesos/mesos.proto
----------------------------------------------------------------------
diff --git a/include/mesos/mesos.proto b/include/mesos/mesos.proto
index 5fe28bc..4e4b279 100644
--- a/include/mesos/mesos.proto
+++ b/include/mesos/mesos.proto
@@ -2642,12 +2642,16 @@ message CapabilityInfo {
* E.g, capabilities, limits etc.
*/
message LinuxInfo {
- // Represents the capability whitelist.
- optional CapabilityInfo capability_info = 1;
+ // Since 1.4.0, deprecated in favor of `effective_capabilities`.
+ optional CapabilityInfo capability_info = 1 [deprecated = true];
// The set of capabilities that are allowed but not initially
// granted to tasks.
optional CapabilityInfo bounding_capabilities = 2;
+
+ // Represents the set of capabilities that the task will
+ // be executed with.
+ optional CapabilityInfo effective_capabilities = 3;
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/31c7ad72/include/mesos/v1/mesos.proto
----------------------------------------------------------------------
diff --git a/include/mesos/v1/mesos.proto b/include/mesos/v1/mesos.proto
index 091cecd..b8625d3 100644
--- a/include/mesos/v1/mesos.proto
+++ b/include/mesos/v1/mesos.proto
@@ -2625,12 +2625,16 @@ message CapabilityInfo {
* E.g, capabilities, limits etc.
*/
message LinuxInfo {
- // Represents the capability whitelist.
- optional CapabilityInfo capability_info = 1;
+ // Since 1.4.0, deprecated in favor of `effective_capabilities`.
+ optional CapabilityInfo capability_info = 1 [deprecated = true];
// The set of capabilities that are allowed but not initially
// granted to tasks.
optional CapabilityInfo bounding_capabilities = 2;
+
+ // Represents the set of capabilities that the task will
+ // be executed with.
+ optional CapabilityInfo effective_capabilities = 3;
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/31c7ad72/src/cli/execute.cpp
----------------------------------------------------------------------
diff --git a/src/cli/execute.cpp b/src/cli/execute.cpp
index 6e15344..9aafd80 100644
--- a/src/cli/execute.cpp
+++ b/src/cli/execute.cpp
@@ -835,7 +835,7 @@ static Result<ContainerInfo> getContainerInfo(
if (capabilities.isSome()) {
containerInfo
.mutable_linux_info()
- ->mutable_capability_info()
+ ->mutable_effective_capabilities()
->CopyFrom(capabilities.get());
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/31c7ad72/src/slave/containerizer/mesos/isolators/linux/capabilities.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/isolators/linux/capabilities.cpp b/src/slave/containerizer/mesos/isolators/linux/capabilities.cpp
index 5c79619..f85a84d 100644
--- a/src/slave/containerizer/mesos/isolators/linux/capabilities.cpp
+++ b/src/slave/containerizer/mesos/isolators/linux/capabilities.cpp
@@ -89,10 +89,21 @@ Future<Option<ContainerLaunchInfo>> LinuxCapabilitiesIsolatorProcess::prepare(
containerConfig.container_info().has_linux_info()) {
const auto& linuxInfo = containerConfig.container_info().linux_info();
+ if (linuxInfo.has_capability_info() &&
+ linuxInfo.has_effective_capabilities()) {
+ return Failure(
+ "Only one of 'capability_info' or 'effective_capabilities' "
+ "is allowed");
+ }
+
if (linuxInfo.has_capability_info()) {
effective = linuxInfo.capability_info();
}
+ if (linuxInfo.has_effective_capabilities()) {
+ effective = linuxInfo.effective_capabilities();
+ }
+
if (linuxInfo.has_bounding_capabilities()) {
bounding = linuxInfo.bounding_capabilities();
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/31c7ad72/src/tests/containerizer/linux_capabilities_isolator_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/linux_capabilities_isolator_tests.cpp b/src/tests/containerizer/linux_capabilities_isolator_tests.cpp
index a0b8b4b..8050876 100644
--- a/src/tests/containerizer/linux_capabilities_isolator_tests.cpp
+++ b/src/tests/containerizer/linux_capabilities_isolator_tests.cpp
@@ -279,7 +279,7 @@ TEST_P(LinuxCapabilitiesIsolatorTest, ROOT_Ping)
LinuxInfo* linux = container->mutable_linux_info();
if (param.framework_effective.isSome()) {
- CapabilityInfo* capabilities = linux->mutable_capability_info();
+ CapabilityInfo* capabilities = linux->mutable_effective_capabilities();
capabilities->CopyFrom(param.framework_effective.get());
}