CephBlockPool [cephblockpools.ceph.rook.io/v1]

Description
CephBlockPool represents a Ceph Storage Pool
Type
object
Required
metadataspec

Specification

PropertyTypeDescription
apiVersionstring

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kindstring

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadataObjectMeta

ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.

specobject

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.

statusobject

CephBlockPoolStatus represents the mirroring status of Ceph Storage Pool

.spec

Description
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.
Type
object
PropertyTypeDescription
applicationstring

The application name to set on the pool. Only expected to be set for rgw pools.

compressionModestring

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

crushRootstring

The root of the crush hierarchy utilized by the pool

deviceClassstring

The device class the OSD should set to for use in the pool

enableCrushUpdatesboolean

Allow rook operator to change the pool CRUSH tunables once the pool is created

enableRBDStatsboolean

EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool

erasureCodedobject

The erasure code settings

failureDomainstring

The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map

mirroringobject

The mirroring settings

namestring

The desired name of the pool if different from the CephBlockPool CR name.

parametersobject

Parameters is a list of properties to enable on a given pool

quotasobject

The quota settings

replicatedobject

The replication settings

statusCheckobject

The mirroring statusCheck

.spec.erasureCoded

Description
The erasure code settings
Type
object
Required
codingChunksdataChunks
PropertyTypeDescription
algorithmstring

The algorithm for erasure coding. If absent, defaults to the plugin specified in osd_pool_default_erasure_code_profile.

codingChunksinteger

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.

dataChunksinteger

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.

.spec.mirroring

Description
The mirroring settings
Type
object
PropertyTypeDescription
enabledboolean

Enabled whether this pool is mirrored or not

modestring

Mode is the mirroring mode: pool, image or init-only.

peersobject

Peers represents the peers spec

snapshotSchedulesarray

SnapshotSchedules is the scheduling of snapshot for mirrored images/pools

.spec.mirroring.peers

Description
Peers represents the peers spec
Type
object
PropertyTypeDescription
secretNamesarray

SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers

.spec.mirroring.peers.secretNames

Description
SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
Type
array

.spec.mirroring.peers.secretNames[]

Type
string

.spec.mirroring.snapshotSchedules

Description
SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
Type
array

.spec.mirroring.snapshotSchedules[]

Description
SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
Type
object
PropertyTypeDescription
intervalstring

Interval represent the periodicity of the snapshot.

pathstring

Path is the path to snapshot, only valid for CephFS

startTimestring

StartTime indicates when to start the snapshot

.spec.parameters

Description
Parameters is a list of properties to enable on a given pool
Type
object

.spec.quotas

Description
The quota settings
Type
object
PropertyTypeDescription
maxBytesinteger

MaxBytes represents the quota in bytes Deprecated in favor of MaxSize

maxObjectsinteger

MaxObjects represents the quota in objects

maxSizestring

MaxSize represents the quota in bytes as a string

.spec.replicated

Description
The replication settings
Type
object
Required
size
PropertyTypeDescription
hybridStorageobject

HybridStorage represents hybrid storage tier settings

replicasPerFailureDomaininteger

ReplicasPerFailureDomain the number of replica in the specified failure domain

requireSafeReplicaSizeboolean

RequireSafeReplicaSize if false allows you to set replica 1

sizeinteger

Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)

subFailureDomainstring

SubFailureDomain the name of the sub-failure domain

targetSizeRationumber

TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity

.spec.replicated.hybridStorage

Description
HybridStorage represents hybrid storage tier settings
Type
object
Required
primaryDeviceClasssecondaryDeviceClass
PropertyTypeDescription
primaryDeviceClassstring

PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD

secondaryDeviceClassstring

SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs

.spec.statusCheck

Description
The mirroring statusCheck
Type
object
PropertyTypeDescription
mirrorobject

HealthCheckSpec represents the health check of an object store bucket

.spec.statusCheck.mirror

Description
HealthCheckSpec represents the health check of an object store bucket
Type
object
PropertyTypeDescription
disabledboolean
intervalstring

Interval is the internal in second or minute for the health check to run like 60s for 60 seconds

timeoutstring

.status

Description
CephBlockPoolStatus represents the mirroring status of Ceph Storage Pool
Type
object
PropertyTypeDescription
cephxobject

PeerTokenCephxStatus represents the cephx key rotation status for peer tokens

conditionsarray
infoobject
mirroringInfoobject

MirroringInfoSpec is the status of the pool/radosnamespace mirroring

mirroringStatusobject

MirroringStatusSpec is the status of the pool/radosNamespace mirroring

observedGenerationinteger

ObservedGeneration is the latest generation observed by the controller.

phasestring

ConditionType represent a resource's status

poolIDinteger

optional

snapshotScheduleStatusobject

SnapshotScheduleStatusSpec is the status of the snapshot schedule

.status.cephx

Description
PeerTokenCephxStatus represents the cephx key rotation status for peer tokens
Type
object
PropertyTypeDescription
peerTokenobject

PeerToken shows the rotation status of the peer token associated with the rbd-mirror-peer user.

.status.cephx.peerToken

Description
PeerToken shows the rotation status of the peer token associated with the `rbd-mirror-peer` user.
Type
object
PropertyTypeDescription
keyCephVersionstring

KeyCephVersion reports the Ceph version that created the current generation's keys. This is same string format as reported by CephCluster.status.version.version to allow them to be compared. E.g., 20.2.0-0. For all newly-created resources, this field set to the version of Ceph that created the key. The special value "Uninitialized" indicates that keys are being created for the first time. An empty string indicates that the version is unknown, as expected in brownfield deployments.

keyGenerationinteger

KeyGeneration represents the CephX key generation for the last successful reconcile. For all newly-created resources, this field is set to 1. When keys are rotated due to any rotation policy, the generation is incremented or updated to the configured policy generation. Generation 0 indicates that keys existed prior to the implementation of key tracking.

.status.conditions

Type
array

.status.conditions[]

Description
Condition represents a status condition on any Rook-Ceph Custom Resource.
Type
object
PropertyTypeDescription
lastHeartbeatTimestring
lastTransitionTimestring
messagestring
reasonstring

ConditionReason is a reason for a condition

statusstring
typestring

ConditionType represent a resource's status

.status.info

Type
object

.status.mirroringInfo

Description
MirroringInfoSpec is the status of the pool/radosnamespace mirroring
Type
object
PropertyTypeDescription
detailsstring
lastChangedstring
lastCheckedstring
modestring

Mode is the mirroring mode

peersarray

Peers are the list of peer sites connected to that cluster

site_namestring

SiteName is the current site name

.status.mirroringInfo.peers

Description
Peers are the list of peer sites connected to that cluster
Type
array

.status.mirroringInfo.peers[]

Description
PeersSpec contains peer details
Type
object
PropertyTypeDescription
client_namestring

ClientName is the CephX user used to connect to the peer

directionstring

Direction is the peer mirroring direction

mirror_uuidstring

MirrorUUID is the mirror UUID

site_namestring

SiteName is the current site name

uuidstring

UUID is the peer UUID

.status.mirroringStatus

Description
MirroringStatusSpec is the status of the pool/radosNamespace mirroring
Type
object
PropertyTypeDescription
detailsstring

Details contains potential status errors

lastChangedstring

LastChanged is the last time time the status last changed

lastCheckedstring

LastChecked is the last time time the status was checked

summaryobject

Summary is the mirroring status summary

.status.mirroringStatus.summary

Description
Summary is the mirroring status summary
Type
object
PropertyTypeDescription
daemon_healthstring

DaemonHealth is the health of the mirroring daemon

group_healthstring

GroupHealth is the health of the mirrored image group

group_statesobject

GroupStates is the various state for all mirrored image groups

healthstring

Health is the mirroring health

image_healthstring

ImageHealth is the health of the mirrored image

image_statesobject

ImageStates is the various state for all mirrored images

statesobject

States is the various state for all mirrored images

.status.mirroringStatus.summary.group_states

Description
GroupStates is the various state for all mirrored image groups
Type
object
PropertyTypeDescription
errorinteger

Error is when the mirroring state is errored

replayinginteger

Replaying is when the replay of the mirroring journal is on-going

starting_replayinteger

StartingReplay is when the replay of the mirroring journal starts

stoppedinteger

Stopped is when the mirroring state is stopped

stopping_replayinteger

StopReplaying is when the replay of the mirroring journal stops

syncinginteger

Syncing is when the image is syncing

unknowninteger

Unknown is when the mirroring state is unknown

.status.mirroringStatus.summary.image_states

Description
ImageStates is the various state for all mirrored images
Type
object
PropertyTypeDescription
errorinteger

Error is when the mirroring state is errored

replayinginteger

Replaying is when the replay of the mirroring journal is on-going

starting_replayinteger

StartingReplay is when the replay of the mirroring journal starts

stoppedinteger

Stopped is when the mirroring state is stopped

stopping_replayinteger

StopReplaying is when the replay of the mirroring journal stops

syncinginteger

Syncing is when the image is syncing

unknowninteger

Unknown is when the mirroring state is unknown

.status.mirroringStatus.summary.states

Description
States is the various state for all mirrored images
Type
object
PropertyTypeDescription
errorinteger

Error is when the mirroring state is errored

replayinginteger

Replaying is when the replay of the mirroring journal is on-going

starting_replayinteger

StartingReplay is when the replay of the mirroring journal starts

stoppedinteger

Stopped is when the mirroring state is stopped

stopping_replayinteger

StopReplaying is when the replay of the mirroring journal stops

syncinginteger

Syncing is when the image is syncing

unknowninteger

Unknown is when the mirroring state is unknown

.status.snapshotScheduleStatus

Description
SnapshotScheduleStatusSpec is the status of the snapshot schedule
Type
object
PropertyTypeDescription
detailsstring

Details contains potential status errors

lastChangedstring

LastChanged is the last time time the status last changed

lastCheckedstring

LastChecked is the last time time the status was checked

snapshotSchedulesarray

SnapshotSchedules is the list of snapshots scheduled

.status.snapshotScheduleStatus.snapshotSchedules

Description
SnapshotSchedules is the list of snapshots scheduled
Type
array

.status.snapshotScheduleStatus.snapshotSchedules[]

Description
SnapshotSchedulesSpec is the list of snapshot scheduled for images in a pool
Type
object
PropertyTypeDescription
imagestring

Image is the mirrored image

itemsarray

Items is the list schedules times for a given snapshot

namespacestring

Namespace is the RADOS namespace the image is part of

poolstring

Pool is the pool name

.status.snapshotScheduleStatus.snapshotSchedules[].items

Description
Items is the list schedules times for a given snapshot
Type
array

.status.snapshotScheduleStatus.snapshotSchedules[].items[]

Description
SnapshotSchedule is a schedule
Type
object
PropertyTypeDescription
intervalstring

Interval is the interval in which snapshots will be taken

start_timestring

StartTime is the snapshot starting time

API Endpoints

The following API endpoints are available:

  • /apis/ceph.rook.io/v1/namespaces/{namespace}/cephblockpools
    • DELETE: delete collection of CephBlockPool
    • GET: list objects of kind CephBlockPool
    • POST: create a new CephBlockPool
  • /apis/ceph.rook.io/v1/namespaces/{namespace}/cephblockpools/{name}
    • DELETE: delete the specified CephBlockPool
    • GET: read the specified CephBlockPool
    • PATCH: partially update the specified CephBlockPool
    • PUT: replace the specified CephBlockPool
  • /apis/ceph.rook.io/v1/namespaces/{namespace}/cephblockpools/{name}/status
    • GET: read status of the specified CephBlockPool
    • PATCH: partially update status of the specified CephBlockPool
    • PUT: replace status of the specified CephBlockPool

/apis/ceph.rook.io/v1/namespaces/{namespace}/cephblockpools

HTTP method
DELETE
Description
delete collection of CephBlockPool
HTTP responses
HTTP codeResponse body
200 - OKStatus schema
401 - UnauthorizedEmpty
HTTP method
GET
Description
list objects of kind CephBlockPool
HTTP responses
HTTP codeResponse body
200 - OKCephBlockPoolList schema
401 - UnauthorizedEmpty
HTTP method
POST
Description
create a new CephBlockPool
Query parameters
ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
Body parameters
ParameterTypeDescription
bodyCephBlockPool schemaapplication/json formatted
HTTP responses
HTTP codeResponse body
200 - OKCephBlockPool schema
201 - CreatedCephBlockPool schema
202 - AcceptedCephBlockPool schema
401 - UnauthorizedEmpty

/apis/ceph.rook.io/v1/namespaces/{namespace}/cephblockpools/{name}

HTTP method
DELETE
Description
delete the specified CephBlockPool
Query parameters
ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
HTTP responses
HTTP codeResponse body
200 - OKStatus schema
202 - AcceptedStatus schema
401 - UnauthorizedEmpty
HTTP method
GET
Description
read the specified CephBlockPool
HTTP responses
HTTP codeResponse body
200 - OKCephBlockPool schema
401 - UnauthorizedEmpty
HTTP method
PATCH
Description
partially update the specified CephBlockPool
Query parameters
ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
HTTP responses
HTTP codeResponse body
200 - OKCephBlockPool schema
401 - UnauthorizedEmpty
HTTP method
PUT
Description
replace the specified CephBlockPool
Query parameters
ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
Body parameters
ParameterTypeDescription
bodyCephBlockPool schemaapplication/json formatted
HTTP responses
HTTP codeResponse body
200 - OKCephBlockPool schema
201 - CreatedCephBlockPool schema
401 - UnauthorizedEmpty

/apis/ceph.rook.io/v1/namespaces/{namespace}/cephblockpools/{name}/status

HTTP method
GET
Description
read status of the specified CephBlockPool
HTTP responses
HTTP codeResponse body
200 - OKCephBlockPool schema
401 - UnauthorizedEmpty
HTTP method
PATCH
Description
partially update status of the specified CephBlockPool
Query parameters
ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
HTTP responses
HTTP codeResponse body
200 - OKCephBlockPool schema
401 - UnauthorizedEmpty
HTTP method
PUT
Description
replace status of the specified CephBlockPool
Query parameters
ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
Body parameters
ParameterTypeDescription
bodyCephBlockPool schemaapplication/json formatted
HTTP responses
HTTP codeResponse body
200 - OKCephBlockPool schema
201 - CreatedCephBlockPool schema
401 - UnauthorizedEmpty