Feature #40929
closedpybind/mgr/mds_autoscaler: create mgr plugin to deploy and configure MDSs in response to degraded file system
0%
Description
Create a new mgr plugin that adds and removes MDSs in response to degraded file systems. The plugin should monitor changes to the FSMap and look for any file system that requires more standbys. This would be indicated by FS_DEGRADED, MDS_UP_LESS_THAN_MAX, or MDS_INSUFFICIENT_STANDBY. These warnings are not in the FSMap. The same logic for checking these conditions in FSMap.cc/MDSMap.cc needs replicated in the mgr plugin.
The name "mds_autoscaler" is subject to change but I've chosen it to coincide with pg_autoscaler. The end-intent may be the same: the mds_autoscaler plugin may also monitor file system load to increase max_mds according to some ruleset. Then it would simultaneously launch more MDS to fill those ranks. To start, this ticket is simply focused on launching MDS in response to degraded file systems or file systems with insufficient standbys.
The volumes plugin should no longer create an MDS for each volume. The fix for this ticket should also remove that behavior.
Note, [1] also introduces the ability to assign a new MDS to a particular file system. This plugin should plan to use that behavior.