You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Should there be a "default" DataPolicy that is assumed unless overridden?
The DataPolicies, DataEndpoints, and StorageNodes lists are ordered. How can we use that ordering to make predictable results from selections?
Proposal for StorageNodes: The last group of selectors (all must match) to match a host is what applies.
Proposal for DataPolicies: The last policy to match a device or directory is what applies.
Proposal for DataEndpoints: Inclusive match. If any one rule describes a device or directory then it's added to the group.
Seems like it could be possible to combine DataPolicies and DataEndpoints into one resource type.
Hopefully there are few flaws in the logic and this proposal is a good compromise between simplicity and power.
This will also hopefully conform to most Kubernetes conventions
and make a clear link between user configuration and data structures within Rook.
Builtin policies could be created that handle most use-cases, so they only need to be named by the user kind of like
they do now with settings that correspond to CLI arguments.
Rules that group one or more devices and directories and defines their expected configuration details. These are what go in dataEndpoints and metadataEndpoints lists.
Specification
Attribute Name
Type
Description
name
string
Unique identifier
deviceNames
list of strings
Matches devices by name
devicePaths
list of strings
Matches devices by full path
deviceFilters
list of strings
Matches devices by regular expression
deviceTypes
list of strings
Matches devices by type (e.g. ssd, hdd, ramdisk, loop)
paths
list of strings
Matches directories by path
pathFilters
list of strings
Matches directories by regular expression
settings
list of objects
Configuration details for matched data endpoints. Used to override or add to default settings.
Configuration information that can be applied to data endpoints. These are used in settings lists.
Specification
Attribute Name
Type
Description
name
string
Unique identifier
location
map
Key/Value pairs to be used in crushmap rules
store
string
The data store (e.g. bluestore, filestore) or metadata store (e.g. rocksdb, file)
forceFormatEnabled
bool
Decides whether to destroy data (format, partition, rm -rf, etc) on an endpoint when the device or directory does not match the expected configuration.