Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions mgmtd/assets/beegfs-mgmtd.toml
Original file line number Diff line number Diff line change
Expand Up @@ -122,23 +122,24 @@
# the IDs that exceed the limits and reports them back to the server nodes.
# quota-update-interval = "30s"

# The following options specify the User/Group IDs to be fetched from storage services for quota
# checking and enforcement. They are disabled by default and least one needs to be enabled for
# quota enforcement having any effect. They can be mixed.
# The following options specify the User/Group IDs for which to query the quota entries on the
# storage services. By default, all quota entries for all existing ids on the storage nodes are
# queried automatically. This is the preferred way. Setting any option below (group or user) opts
# out of automatic mode for users or groups (separately) and only queries the ids specified. The
# settings can be mixed.

# Defines the minimum id of the existing system users to be quota checked and enforced.
# Set to opt out of automatic query of all quota entries for all ids on the storage server.
# Note that this uses the users from the local machine the management is running on.
# quota-user-system-ids-min = 1000

# Loads the user ids to be quota queried and enforced from a file.
# Set to opt out of automatic query of all quota entries for all ids on the storage server.
# Ids must be numeric only and separated by any whitespace.
# quota-user-ids-file = ""

# Defines a range of user ids to be quota queried and enforced.
# IMPORTANT: This setting may only be used for reasonable small ranges (hundreds or thousands).
# For dynamic ids in a large range, the file should be used instead to query only the existing ids.
# The file can be regularly updated by a cronjob to collect ids from external sources (e.g. active
# directory).
# Set to opt out of automatic query of all quota entries for all ids on the storage server.
# quota-user-ids-range = "1000-1100"

# Same as above, but for group IDs
Expand Down
20 changes: 12 additions & 8 deletions mgmtd/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -338,26 +338,31 @@ generate_structs! {
#[serde(deserialize_with = "deserialize_duration")]
quota_update_interval: Duration = Duration::from_secs(30),

// The following options specify the User/Group IDs for which to query the quota entries on the
// storage services. By default, all quota entries for all existing ids on the storage nodes
// are queried automatically. This is the preferred way. Setting any option below (group or
// user) opts out of automatic mode for users or groups (separately) and only queries the ids
// specified. The settings can be mixed.

/// Defines the minimum id of the existing system users to be quota checked and enforced.
///
/// Set to opt out of automatic query of all quota entries for all ids on the storage server.
/// Note that this uses the users from the local machine the management is running on.
#[arg(long)]
#[arg(num_args = 1)] // Overwrite the automatic `num_args = 0..=1`
#[arg(value_name = "ID")]
quota_user_system_ids_min: Option<QuotaId> = None,
/// Loads the user ids to be quota queried and enforced from a file.
///
/// Set to opt out of automatic query of all quota entries for all ids on the storage server.
/// Ids must be numeric only and separated by any whitespace.
#[arg(long)]
#[arg(num_args = 1)]
#[arg(value_name = "PATH")]
quota_user_ids_file: Option<PathBuf> = None,
/// Defines a range of user ids to be quota queried and enforced.
///
/// IMPORTANT: This setting may only be used for reasonable small ranges (hundreds or
/// thousands). For dynamic ids in a large range, the file should be used instead to query
/// only the existing ids. The file can be regularly updated by a cronjob to collect ids from
/// external sources (e.g. active directory).
/// Set to opt out of automatic query of all quota entries for all ids on the storage server.
#[arg(long)]
#[arg(num_args = 1)]
#[arg(value_name = "RANGE")]
Expand All @@ -369,24 +374,23 @@ generate_structs! {

/// Defines the minimum id of the existing system groups to be quota checked and enforced.
///
/// Set to opt out of automatic query of all quota entries for all ids on the storage server.
/// Note that this uses the groups from the local machine the management is running on.
#[arg(long)]
#[arg(num_args = 1)]
#[arg(value_name = "ID")]
quota_group_system_ids_min: Option<QuotaId> = None,
/// Loads the group ids to be quota queried and enforced from a file.
///
/// Set to opt out of automatic query of all quota entries for all ids on the storage server.
/// Ids must be numeric only and separated by any whitespace.
#[arg(long)]
#[arg(num_args = 1)]
#[arg(value_name = "PATH")]
quota_group_ids_file: Option<PathBuf> = None,
/// Defines a range of group ids to be quota queried and enforced.
///
/// IMPORTANT: This setting may only be used for reasonable small ranges (hundreds or
/// thousands). For dynamic ids in a large range, the file should be used instead to query
/// only the existing ids. The file can be regularly updated by a cronjob to collect ids from
/// external sources (e.g. active directory).
/// Set to opt out of automatic query of all quota entries for all ids on the storage server.
#[arg(long)]
#[arg(num_args = 1)]
#[arg(value_name = "RANGE")]
Expand Down
Loading
Loading