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 4d3c3d770eceff12ea5d39dbd57ce6bae602266e Author: Qian Zhang <zhq527...@gmail.com> AuthorDate: Mon Jul 13 17:16:28 2020 +0800 Introduced a new agent flag `--csi_plugin_config_dir`. Review: https://reviews.apache.org/r/72672 --- docs/configuration/agent.md | 43 +++++++++++++++++++++++++++++++++++++++++++ src/slave/flags.cpp | 39 +++++++++++++++++++++++++++++++++++++++ src/slave/flags.hpp | 1 + 3 files changed, 83 insertions(+) diff --git a/docs/configuration/agent.md b/docs/configuration/agent.md index 01ffa38..e8608d9 100644 --- a/docs/configuration/agent.md +++ b/docs/configuration/agent.md @@ -1511,6 +1511,49 @@ Example config file in this directory: </td> </tr> +<tr id="csi_plugin_config_dir"> + <td> + --csi_plugin_config_dir=VALUE + </td> + <td> +Path to a directory that contains CSI plugin configs. +Each file in the config dir should contain a JSON object representing +a <code>CSIPluginInfo</code> object which can be either a managed CSI +plugin (i.e. the plugin launched by Mesos as a standalone container) +or an unmanaged CSI plugin (i.e. the plugin launched out of Mesos). +<p/> +Example config files in this directory: +<pre><code>{ + "type": "org.apache.mesos.csi.managed-plugin", + "containers": [ + { + "services": [ + "CONTROLLER_SERVICE", + "NODE_SERVICE" + ], + "command": { + "shell": false, + "value": "managed-plugin", + "arguments": [ + "managed-plugin", + "--endpoint=$(CSI_ENDPOINT)" + ] + }, + "resources": [ + {"name": "cpus", "type": "SCALAR", "scalar": {"value": 0.1}}, + {"name": "mem", "type": "SCALAR", "scalar": {"value": 1024}} + ] + } + ] +}</code></pre> +<pre><code>{ + "type": "org.apache.mesos.csi.unmanaged-plugin", + "node_service_endpoint": "/var/lib/unmanaged-plugin/csi.sock", + "target_path_root": "/mnt/unmanaged-plugin" +}</code></pre> + </td> +</tr> + <tr id="revocable_cpu_low_priority"> <td> --[no-]revocable_cpu_low_priority diff --git a/src/slave/flags.cpp b/src/slave/flags.cpp index 2f88b90..02a5568 100644 --- a/src/slave/flags.cpp +++ b/src/slave/flags.cpp @@ -115,6 +115,45 @@ mesos::internal::slave::Flags::Flags() " \"name\": \"lvm\"\n" "}"); + add(&Flags::csi_plugin_config_dir, + "csi_plugin_config_dir", + "Path to a directory that contains CSI plugin configs.\n" + "Each file in the config dir should contain a JSON object representing\n" + "a `CSIPluginInfo` object which can be either a managed CSI plugin\n" + "(i.e. the plugin launched by Mesos as a standalone container) or an\n" + "unmanaged CSI plugin (i.e. the plugin launched out of Mesos).\n" + "\n" + "Example config files in this directory:\n" + "{\n" + " \"type\": \"org.apache.mesos.csi.managed-plugin\",\n" + " \"containers\": [\n" + " {\n" + " \"services\": [\n" + " \"CONTROLLER_SERVICE\",\n" + " \"NODE_SERVICE\"\n" + " ],\n" + " \"command\": {\n" + " \"shell\": false,\n" + " \"value\": \"managed-plugin\",\n" + " \"arguments\": [\n" + " \"managed-plugin\",\n" + " \"--endpoint=$(CSI_ENDPOINT)\"\n" + " ]\n" + " },\n" + " \"resources\": [\n" + " {\"name\": \"cpus\", \"type\": \"SCALAR\", \"scalar\": {\"value\": 0.1}},\n" // NOLINT(whitespace/line_length) + " {\"name\": \"mem\", \"type\": \"SCALAR\", \"scalar\": {\"value\": 1024}}\n" // NOLINT(whitespace/line_length) + " ]\n" + " }\n" + " ]\n" + "}\n" + "\n" + "{\n" + " \"type\": \"org.apache.mesos.csi.unmanaged-plugin\",\n" + " \"node_service_endpoint\": \"/var/lib/unmanaged-plugin/csi.sock\",\n" + " \"target_path_root\": \"/mnt/unmanaged-plugin\"\n" + "}"); + add(&Flags::disk_profile_adaptor, "disk_profile_adaptor", "The name of the disk profile adaptor module that storage resource\n" diff --git a/src/slave/flags.hpp b/src/slave/flags.hpp index c3ff887..51770f5 100644 --- a/src/slave/flags.hpp +++ b/src/slave/flags.hpp @@ -46,6 +46,7 @@ public: bool hostname_lookup; Option<std::string> resources; Option<std::string> resource_provider_config_dir; + Option<std::string> csi_plugin_config_dir; Option<std::string> disk_profile_adaptor; std::string isolation; std::string launcher;