Skip to content

Commit

Permalink
[ceph] prepare upgrade to rook v1.16
Browse files Browse the repository at this point in the history
  • Loading branch information
kayrus committed Dec 18, 2024
1 parent 192d7e0 commit 8b04009
Show file tree
Hide file tree
Showing 10 changed files with 760 additions and 52 deletions.
8 changes: 4 additions & 4 deletions system/cc-ceph/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@ apiVersion: v2
name: cc-ceph
description: A Helm chart for the Rook / Ceph Objects inside the Storage Clusters
type: application
version: 1.1.1
appVersion: "1.15.0"
version: 1.1.2
appVersion: "1.16.0"
dependencies:
- name: owner-info
repository: oci://keppel.eu-de-1.cloud.sap/ccloud-helm
version: '>= 0.0.0'
- name: rook-ceph
# version update should be done in the rook-crds chart as well
repository: https://charts.rook.io/release
version: 1.15.0
version: 1.16.0
- name: rook-crds
repository: oci://keppel.eu-de-1.cloud.sap/ccloud-helm
version: '0.0.2-rook.1.15.0'
version: '0.0.2-rook.1.16.0'
2 changes: 1 addition & 1 deletion system/rook-crds/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ apiVersion: v2
name: rook-crds
description: A Helm chart containing Rook CRDs.
type: application
version: 0.0.2-rook.1.15.0
version: 0.0.2-rook.1.16.0
165 changes: 165 additions & 0 deletions system/rook-crds/crds/cephblockpoolradosnamespaces.ceph.rook.io.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,38 @@ spec:
x-kubernetes-validations:
- message: blockPoolName is immutable
rule: self == oldSelf
mirroring:
description: Mirroring configuration of CephBlockPoolRadosNamespace
properties:
mode:
description: Mode is the mirroring mode; either pool or image
enum:
- ""
- pool
- image
type: string
remoteNamespace:
description: RemoteNamespace is the name of the CephBlockPoolRadosNamespace on the secondary cluster CephBlockPool
type: string
snapshotSchedules:
description: SnapshotSchedules is the scheduling of snapshot for mirrored images
items:
description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
properties:
interval:
description: Interval represent the periodicity of the snapshot.
type: string
path:
description: Path is the path to snapshot, only valid for CephFS
type: string
startTime:
description: StartTime indicates when to start the snapshot
type: string
type: object
type: array
required:
- mode
type: object
name:
description: The name of the CephBlockPoolRadosNamespaceSpec namespace. If not set, the default is the name of the CR.
type: string
Expand All @@ -80,9 +112,142 @@ spec:
type: string
nullable: true
type: object
mirroringInfo:
description: MirroringInfoSpec is the status of the pool/radosnamespace mirroring
properties:
details:
type: string
lastChanged:
type: string
lastChecked:
type: string
mode:
description: Mode is the mirroring mode
type: string
peers:
description: Peers are the list of peer sites connected to that cluster
items:
description: PeersSpec contains peer details
properties:
client_name:
description: ClientName is the CephX user used to connect to the peer
type: string
direction:
description: Direction is the peer mirroring direction
type: string
mirror_uuid:
description: MirrorUUID is the mirror UUID
type: string
site_name:
description: SiteName is the current site name
type: string
uuid:
description: UUID is the peer UUID
type: string
type: object
type: array
site_name:
description: SiteName is the current site name
type: string
type: object
mirroringStatus:
description: MirroringStatusSpec is the status of the pool/radosNamespace mirroring
properties:
details:
description: Details contains potential status errors
type: string
lastChanged:
description: LastChanged is the last time time the status last changed
type: string
lastChecked:
description: LastChecked is the last time time the status was checked
type: string
summary:
description: Summary is the mirroring status summary
properties:
daemon_health:
description: DaemonHealth is the health of the mirroring daemon
type: string
health:
description: Health is the mirroring health
type: string
image_health:
description: ImageHealth is the health of the mirrored image
type: string
states:
description: States is the various state for all mirrored images
nullable: true
properties:
error:
description: Error is when the mirroring state is errored
type: integer
replaying:
description: Replaying is when the replay of the mirroring journal is on-going
type: integer
starting_replay:
description: StartingReplay is when the replay of the mirroring journal starts
type: integer
stopped:
description: Stopped is when the mirroring state is stopped
type: integer
stopping_replay:
description: StopReplaying is when the replay of the mirroring journal stops
type: integer
syncing:
description: Syncing is when the image is syncing
type: integer
unknown:
description: Unknown is when the mirroring state is unknown
type: integer
type: object
type: object
type: object
phase:
description: ConditionType represent a resource's status
type: string
snapshotScheduleStatus:
description: SnapshotScheduleStatusSpec is the status of the snapshot schedule
properties:
details:
description: Details contains potential status errors
type: string
lastChanged:
description: LastChanged is the last time time the status last changed
type: string
lastChecked:
description: LastChecked is the last time time the status was checked
type: string
snapshotSchedules:
description: SnapshotSchedules is the list of snapshots scheduled
items:
description: SnapshotSchedulesSpec is the list of snapshot scheduled for images in a pool
properties:
image:
description: Image is the mirrored image
type: string
items:
description: Items is the list schedules times for a given snapshot
items:
description: SnapshotSchedule is a schedule
properties:
interval:
description: Interval is the interval in which snapshots will be taken
type: string
start_time:
description: StartTime is the snapshot starting time
type: string
type: object
type: array
namespace:
description: Namespace is the RADOS namespace the image is part of
type: string
pool:
description: Pool is the pool name
type: string
type: object
nullable: true
type: array
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
required:
Expand Down
7 changes: 5 additions & 2 deletions system/rook-crds/crds/cephblockpools.ceph.rook.io.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ spec:
nullable: true
type: object
mirroringInfo:
description: MirroringInfoSpec is the status of the pool mirroring
description: MirroringInfoSpec is the status of the pool/radosnamespace mirroring
properties:
details:
type: string
Expand Down Expand Up @@ -318,7 +318,7 @@ spec:
type: string
type: object
mirroringStatus:
description: MirroringStatusSpec is the status of the pool mirroring
description: MirroringStatusSpec is the status of the pool/radosNamespace mirroring
properties:
details:
description: Details contains potential status errors
Expand Down Expand Up @@ -376,6 +376,9 @@ spec:
phase:
description: ConditionType represent a resource's status
type: string
poolID:
description: optional
type: integer
snapshotScheduleStatus:
description: SnapshotScheduleStatusSpec is the status of the snapshot schedule
properties:
Expand Down
51 changes: 42 additions & 9 deletions system/rook-crds/crds/cephclusters.ceph.rook.io.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ spec:
alive or ready to receive traffic.
properties:
exec:
description: Exec specifies the action to take.
description: Exec specifies a command to execute in the container.
properties:
command:
description: |-
Expand All @@ -345,7 +345,7 @@ spec:
format: int32
type: integer
grpc:
description: GRPC specifies an action involving a GRPC port.
description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service. Number must be in the range 1 to 65535.
Expand All @@ -363,7 +363,7 @@ spec:
- port
type: object
httpGet:
description: HTTPGet specifies the http request to perform.
description: HTTPGet specifies an HTTP GET request to perform.
properties:
host:
description: |-
Expand Down Expand Up @@ -428,7 +428,7 @@ spec:
format: int32
type: integer
tcpSocket:
description: TCPSocket specifies an action involving a TCP port.
description: TCPSocket specifies a connection to a TCP port.
properties:
host:
description: 'Optional: Host name to connect to, defaults to the pod IP.'
Expand Down Expand Up @@ -472,7 +472,7 @@ spec:
alive or ready to receive traffic.
properties:
exec:
description: Exec specifies the action to take.
description: Exec specifies a command to execute in the container.
properties:
command:
description: |-
Expand All @@ -493,7 +493,7 @@ spec:
format: int32
type: integer
grpc:
description: GRPC specifies an action involving a GRPC port.
description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service. Number must be in the range 1 to 65535.
Expand All @@ -511,7 +511,7 @@ spec:
- port
type: object
httpGet:
description: HTTPGet specifies the http request to perform.
description: HTTPGet specifies an HTTP GET request to perform.
properties:
host:
description: |-
Expand Down Expand Up @@ -576,7 +576,7 @@ spec:
format: int32
type: integer
tcpSocket:
description: TCPSocket specifies an action involving a TCP port.
description: TCPSocket specifies a connection to a TCP port.
properties:
host:
description: 'Optional: Host name to connect to, defaults to the pod IP.'
Expand Down Expand Up @@ -1409,6 +1409,20 @@ spec:
Enabled determines whether to create the prometheus rules for the ceph cluster. If true, the prometheus
types must exist or the creation will fail. Default is false.
type: boolean
exporter:
description: Ceph exporter configuration
properties:
perfCountersPrioLimit:
default: 5
description: Only performance counters greater than or equal to this option are fetched
format: int64
type: integer
statsPeriodSeconds:
default: 5
description: Time to wait before sending requests again to exporter server (seconds)
format: int64
type: integer
type: object
externalMgrEndpoints:
description: ExternalMgrEndpoints points to an existing Ceph prometheus exporter endpoint
items:
Expand Down Expand Up @@ -1618,7 +1632,7 @@ spec:
other network providers.
Valid keys are "public" and "cluster". Refer to Ceph networking documentation for more:
https://docs.ceph.com/en/reef/rados/configuration/network-config-ref/
https://docs.ceph.com/en/latest/rados/configuration/network-config-ref/
Refer to Multus network annotation documentation for help selecting values:
https://github.com/k8snetworkplumbingwg/multus-cni/blob/master/docs/how-to-use.md#run-pod-with-network-annotation
Expand Down Expand Up @@ -2331,6 +2345,16 @@ spec:
minimum: 0
nullable: true
type: number
migration:
description: Migration handles the OSD migration
properties:
confirmation:
description: |-
A user confirmation to migrate the OSDs. It destroys each OSD one at a time, cleans up the backing disk
and prepares OSD with same ID on that disk
pattern: ^$|^yes-really-migrate-osds$
type: string
type: object
nearFullRatio:
description: NearFullRatio is the ratio at which the cluster is considered nearly full and will raise a ceph health warning. Default is 0.85.
maximum: 1
Expand Down Expand Up @@ -2667,6 +2691,9 @@ spec:
type: array
onlyApplyOSDPlacement:
type: boolean
scheduleAlways:
description: Whether to always schedule OSDs on a node even if the node is not currently scheduleable or ready
type: boolean
storageClassDeviceSets:
items:
description: StorageClassDeviceSet is a storage class device set
Expand Down Expand Up @@ -4421,6 +4448,12 @@ spec:
osd:
description: OSDStatus represents OSD status of the ceph Cluster
properties:
migrationStatus:
description: MigrationStatus status represents the current status of any OSD migration.
properties:
pending:
type: integer
type: object
storeType:
additionalProperties:
type: integer
Expand Down
Loading

0 comments on commit 8b04009

Please sign in to comment.