Repository: mesos Updated Branches: refs/heads/master 4f321cf66 -> 0071a9020
Fix External Containerizer creation. Review: https://reviews.apache.org/r/25116 Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/0071a902 Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/0071a902 Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/0071a902 Branch: refs/heads/master Commit: 0071a90205351b0f0e716431002e8d1d7cf5eb6f Parents: 4f321cf Author: Timothy Chen <[email protected]> Authored: Wed Aug 27 16:33:41 2014 -0700 Committer: Benjamin Hindman <[email protected]> Committed: Wed Aug 27 16:35:52 2014 -0700 ---------------------------------------------------------------------- src/slave/containerizer/containerizer.cpp | 14 +++++++++++--- src/slave/containerizer/external_containerizer.cpp | 6 ++++++ src/slave/containerizer/external_containerizer.hpp | 2 ++ 3 files changed, 19 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/0071a902/src/slave/containerizer/containerizer.cpp ---------------------------------------------------------------------- diff --git a/src/slave/containerizer/containerizer.cpp b/src/slave/containerizer/containerizer.cpp index 0e68684..0254679 100644 --- a/src/slave/containerizer/containerizer.cpp +++ b/src/slave/containerizer/containerizer.cpp @@ -159,7 +159,15 @@ Try<Containerizer*> Containerizer::create(const Flags& flags, bool local) LOG(WARNING) << "The 'external' isolation flag is deprecated, " << "please update your flags to" << " '--containerizers=external'."; - return ExternalContainerizer::create(flags, local); + + Try<ExternalContainerizer*> containerizer = + ExternalContainerizer::create(flags); + if (containerizer.isError()) { + return Error("Could not create ExternalContainerizer: " + + containerizer.error()); + } + + return containerizer.get(); } // TODO(benh): We need to store which containerizer or @@ -188,8 +196,8 @@ Try<Containerizer*> Containerizer::create(const Flags& flags, bool local) containerizers.push_back(containerizer.get()); } } else if (type == "external") { - Try<Containerizer*> containerizer = - ExternalContainerizer::create(flags, local); + Try<ExternalContainerizer*> containerizer = + ExternalContainerizer::create(flags); if (containerizer.isError()) { return Error("Could not create ExternalContainerizer: " + containerizer.error()); http://git-wip-us.apache.org/repos/asf/mesos/blob/0071a902/src/slave/containerizer/external_containerizer.cpp ---------------------------------------------------------------------- diff --git a/src/slave/containerizer/external_containerizer.cpp b/src/slave/containerizer/external_containerizer.cpp index e5726e1..efbc68f 100644 --- a/src/slave/containerizer/external_containerizer.cpp +++ b/src/slave/containerizer/external_containerizer.cpp @@ -73,6 +73,12 @@ using state::RunState; using state::SlaveState; +Try<ExternalContainerizer*> ExternalContainerizer::create(const Flags& flags) +{ + return new ExternalContainerizer(flags); +} + + // Validate the invocation result. static Option<Error> validate( const Future<Option<int> >& future) http://git-wip-us.apache.org/repos/asf/mesos/blob/0071a902/src/slave/containerizer/external_containerizer.hpp ---------------------------------------------------------------------- diff --git a/src/slave/containerizer/external_containerizer.hpp b/src/slave/containerizer/external_containerizer.hpp index b32efdd..8363cec 100644 --- a/src/slave/containerizer/external_containerizer.hpp +++ b/src/slave/containerizer/external_containerizer.hpp @@ -74,6 +74,8 @@ class ExternalContainerizerProcess; class ExternalContainerizer : public Containerizer { public: + static Try<ExternalContainerizer*> create(const Flags& flags); + ExternalContainerizer(const Flags& flags); virtual ~ExternalContainerizer();
