std::list<std::string> failed_modules;
const std::string module_path = g_conf().get_val<std::string>("mgr_module_path");
- std::set<std::string> module_names = probe_modules(module_path);
+ auto module_names = probe_modules(module_path);
// Load python code
for (const auto& module_name : module_names) {
dout(1) << "Loading python module '" << module_name << "'" << dendl;
Py_Finalize();
}
-std::set<std::string> PyModuleRegistry::probe_modules(const std::string &path) const
+std::vector<std::string> PyModuleRegistry::probe_modules(const std::string &path) const
{
const auto opt = g_conf().get_val<std::string>("mgr_disabled_modules");
const auto disabled_modules = ceph::split(opt);
- std::set<std::string> modules;
+ std::vector<std::string> modules;
for (const auto& entry: fs::directory_iterator(path)) {
if (!fs::is_directory(entry)) {
continue;
}
auto module_path = entry.path() / "module.py";
if (fs::exists(module_path)) {
- modules.emplace(name);
+ modules.push_back(name);
}
}
return modules;
/**
* Discover python modules from local disk
*/
- std::set<std::string> probe_modules(const std::string &path) const;
+ std::vector<std::string> probe_modules(const std::string &path) const;
PyModuleConfig module_config;