NamedBlockPoolSpec allows a block pool to be created with a non-default name.
This is more specific than the NamedPoolSpec so we get schema validation on the
allowed pool names that can be specified.
application
string
The application name to set on the pool. Only expected to be set for rgw pools.
compressionMode
string
DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force"
The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)
Do NOT set a default value for kubebuilder as this will override the Parameters
enum: none, passive, aggressive, force,
crushRoot
string
The root of the crush hierarchy utilized by the pool
deviceClass
string
The device class the OSD should set to for use in the pool
enableCrushUpdates
boolean
Allow rook operator to change the pool CRUSH tunables once the pool is created
enableRBDStats
boolean
EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
erasureCoded
object
The erasure code settings
algorithm
string
The algorithm for erasure coding.
If absent, defaults to the plugin specified in osd_pool_default_erasure_code_profile.
enum: isa, jerasure
codingChunks
integer required
Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
This is the number of OSDs that can be lost simultaneously before data cannot be recovered.
minimum: 0
dataChunks
integer required
Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
The number of chunks required to recover an object when any single OSD is lost is the same
as dataChunks so be aware that the larger the number of data chunks, the higher the cost of recovery.
minimum: 0
failureDomain
string
The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map
mirroring
object
The mirroring settings
enabled
boolean
Enabled whether this pool is mirrored or not
mode
string
Mode is the mirroring mode: pool, image or init-only.
enum: pool, image, init-only
peers
object
Peers represents the peers spec
secretNames
[]string
SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
snapshotSchedules
[]object
SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
interval
string
Interval represent the periodicity of the snapshot.
path
string
Path is the path to snapshot, only valid for CephFS
startTime
string
StartTime indicates when to start the snapshot
name
string
The desired name of the pool if different from the CephBlockPool CR name.
enum: .rgw.root, .nfs, .mgr
parameters
object
Parameters is a list of properties to enable on a given pool
quotas
object
The quota settings
maxBytes
integer
MaxBytes represents the quota in bytes
Deprecated in favor of MaxSize
format: int64
maxObjects
integer
MaxObjects represents the quota in objects
format: int64
maxSize
string
MaxSize represents the quota in bytes as a string
pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
replicated
object
The replication settings
hybridStorage
object
HybridStorage represents hybrid storage tier settings
primaryDeviceClass
string required
PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
minLength: 1
secondaryDeviceClass
string required
SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
minLength: 1
replicasPerFailureDomain
integer
ReplicasPerFailureDomain the number of replica in the specified failure domain
minimum: 1
requireSafeReplicaSize
boolean
RequireSafeReplicaSize if false allows you to set replica 1
size
integer required
Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
minimum: 0
subFailureDomain
string
SubFailureDomain the name of the sub-failure domain
targetSizeRatio
number
TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
minimum: 0
statusCheck
object
The mirroring statusCheck
mirror
object
HealthCheckSpec represents the health check of an object store bucket
interval
string
Interval is the internal in second or minute for the health check to run like 60s for 60 seconds