This is an automated email from the ASF dual-hosted git repository. qianzhang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mesos.git
commit 1fb79fefa4c28e0cf0be2686ee3d808dc30d2bfc Author: Qian Zhang <zhq527...@gmail.com> AuthorDate: Mon Aug 10 09:39:54 2020 +0800 Enabled the `volume/csi` isolator in `MesosContainerizer`. Review: https://reviews.apache.org/r/72754 --- src/slave/containerizer/containerizer.cpp | 7 +++++-- src/slave/containerizer/containerizer.hpp | 4 +++- src/slave/containerizer/mesos/containerizer.cpp | 10 +++++++++- src/slave/containerizer/mesos/containerizer.hpp | 4 +++- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/slave/containerizer/containerizer.cpp b/src/slave/containerizer/containerizer.cpp index 9e44e5e..ba3ab43 100644 --- a/src/slave/containerizer/containerizer.cpp +++ b/src/slave/containerizer/containerizer.cpp @@ -33,6 +33,7 @@ #include "hook/manager.hpp" +#include "slave/csi_server.hpp" #include "slave/flags.hpp" #include "slave/gc.hpp" #include "slave/slave.hpp" @@ -220,7 +221,8 @@ Try<Containerizer*> Containerizer::create( GarbageCollector* gc, SecretResolver* secretResolver, VolumeGidManager* volumeGidManager, - PendingFutureTracker* futureTracker) + PendingFutureTracker* futureTracker, + CSIServer* csiServer) { // Get the set of containerizer types. const vector<string> _types = strings::split(flags.containerizers, ","); @@ -297,7 +299,8 @@ Try<Containerizer*> Containerizer::create( secretResolver, nvidia, volumeGidManager, - futureTracker); + futureTracker, + csiServer); if (containerizer.isError()) { return Error("Could not create MesosContainerizer: " + diff --git a/src/slave/containerizer/containerizer.hpp b/src/slave/containerizer/containerizer.hpp index 2b3c4c0..691fdfe 100644 --- a/src/slave/containerizer/containerizer.hpp +++ b/src/slave/containerizer/containerizer.hpp @@ -38,6 +38,7 @@ #include "common/future_tracker.hpp" +#include "slave/csi_server.hpp" #include "slave/gc.hpp" #include "slave/volume_gid_manager/volume_gid_manager.hpp" @@ -78,7 +79,8 @@ public: GarbageCollector* gc, SecretResolver* secretResolver = nullptr, VolumeGidManager* volumeGidManager = nullptr, - PendingFutureTracker* futureTracker = nullptr); + PendingFutureTracker* futureTracker = nullptr, + CSIServer* csiServer = nullptr); // Determine slave resources from flags, probing the system or // querying a delegate. diff --git a/src/slave/containerizer/mesos/containerizer.cpp b/src/slave/containerizer/mesos/containerizer.cpp index 3c1840c..31d45a0 100644 --- a/src/slave/containerizer/mesos/containerizer.cpp +++ b/src/slave/containerizer/mesos/containerizer.cpp @@ -61,6 +61,7 @@ #include "module/manager.hpp" +#include "slave/csi_server.hpp" #include "slave/gc.hpp" #include "slave/paths.hpp" #include "slave/slave.hpp" @@ -114,6 +115,7 @@ #include "slave/containerizer/mesos/isolators/volume/host_path.hpp" #include "slave/containerizer/mesos/isolators/volume/image.hpp" #include "slave/containerizer/mesos/isolators/volume/secret.hpp" +#include "slave/containerizer/mesos/isolators/volume/csi/isolator.hpp" #endif // __linux__ #if ENABLE_SECCOMP_ISOLATOR @@ -180,7 +182,8 @@ Try<MesosContainerizer*> MesosContainerizer::create( SecretResolver* secretResolver, const Option<NvidiaComponents>& nvidia, VolumeGidManager* volumeGidManager, - PendingFutureTracker* futureTracker) + PendingFutureTracker* futureTracker, + CSIServer* csiServer) { Try<hashset<string>> isolations = [&flags]() -> Try<hashset<string>> { const vector<string> tokens(strings::tokenize(flags.isolation, ",")); @@ -467,6 +470,11 @@ Try<MesosContainerizer*> MesosContainerizer::create( [secretResolver] (const Flags& flags) -> Try<Isolator*> { return VolumeSecretIsolatorProcess::create(flags, secretResolver); }}, + + {"volume/csi", + [csiServer] (const Flags& flags) -> Try<Isolator*> { + return VolumeCSIIsolatorProcess::create(flags, csiServer); + }}, #endif // __linux__ // Disk isolators. diff --git a/src/slave/containerizer/mesos/containerizer.hpp b/src/slave/containerizer/mesos/containerizer.hpp index 56e4c49..62174df 100644 --- a/src/slave/containerizer/mesos/containerizer.hpp +++ b/src/slave/containerizer/mesos/containerizer.hpp @@ -36,6 +36,7 @@ #include <stout/multihashmap.hpp> #include <stout/os/int_fd.hpp> +#include "slave/csi_server.hpp" #include "slave/gc.hpp" #include "slave/state.hpp" @@ -75,7 +76,8 @@ public: SecretResolver* secretResolver = nullptr, const Option<NvidiaComponents>& nvidia = None(), VolumeGidManager* volumeGidManager = nullptr, - PendingFutureTracker* futureTracker = nullptr); + PendingFutureTracker* futureTracker = nullptr, + CSIServer* csiServer = nullptr); static Try<MesosContainerizer*> create( const Flags& flags,