diff --git a/class/defaults.yml b/class/defaults.yml index a0b423c8..5af9109a 100644 --- a/class/defaults.yml +++ b/class/defaults.yml @@ -225,7 +225,7 @@ parameters: rook: registry: docker.io image: rook/ceph - tag: v1.15.8 + tag: v1.16.3 ceph: registry: quay.io image: ceph/ceph @@ -243,7 +243,7 @@ parameters: # We do not support helm chart versions older than v1.7.0 rook-ceph: source: https://charts.rook.io/release - version: v1.15.8 + version: v1.16.3 operator_helm_values: image: diff --git a/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/cluster-rbac.yaml b/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/cluster-rbac.yaml index a2f65275..02656d59 100644 --- a/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/cluster-rbac.yaml +++ b/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/cluster-rbac.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-osd @@ -18,7 +18,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-mgr @@ -31,7 +31,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-cmd-reporter @@ -50,7 +50,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-rgw diff --git a/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrole.yaml b/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrole.yaml index 37d67426..1da217db 100644 --- a/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrole.yaml +++ b/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrole.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system @@ -94,7 +94,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-cluster-mgmt @@ -127,7 +127,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-global @@ -315,7 +315,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-mgr-cluster @@ -371,7 +371,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-object-bucket @@ -579,9 +579,6 @@ rules: - get - list - watch - - update - - patch - - create - apiGroups: - snapshot.storage.k8s.io resources: @@ -600,7 +597,6 @@ rules: - watch - patch - update - - create - apiGroups: - snapshot.storage.k8s.io resources: @@ -653,7 +649,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rbd-csi-nodeplugin @@ -801,9 +797,6 @@ rules: - get - list - watch - - update - - patch - - create - apiGroups: - snapshot.storage.k8s.io resources: @@ -822,7 +815,6 @@ rules: - watch - patch - update - - create - apiGroups: - snapshot.storage.k8s.io resources: diff --git a/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrolebinding.yaml b/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrolebinding.yaml index 8507368e..59a5843a 100644 --- a/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrolebinding.yaml +++ b/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrolebinding.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system @@ -25,7 +25,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-global diff --git a/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/configmap.yaml b/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/configmap.yaml index b9f63805..acbabcfe 100644 --- a/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/configmap.yaml +++ b/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/configmap.yaml @@ -67,7 +67,6 @@ data: cpu: 50m limits: memory: 256Mi - CSI_DISABLE_HOLDER_PODS: 'true' CSI_ENABLE_CEPHFS_SNAPSHOTTER: 'true' CSI_ENABLE_CSIADDONS: 'false' CSI_ENABLE_ENCRYPTION: 'false' @@ -202,18 +201,18 @@ data: memory: 256Mi ROOK_CEPH_ALLOW_LOOP_DEVICES: 'false' ROOK_CEPH_COMMANDS_TIMEOUT_SECONDS: '15' - ROOK_CSIADDONS_IMAGE: quay.io/csiaddons/k8s-sidecar:v0.9.1 - ROOK_CSI_ATTACHER_IMAGE: registry.k8s.io/sig-storage/csi-attacher:v4.6.1 + ROOK_CSIADDONS_IMAGE: quay.io/csiaddons/k8s-sidecar:v0.11.0 + ROOK_CSI_ATTACHER_IMAGE: registry.k8s.io/sig-storage/csi-attacher:v4.8.0 ROOK_CSI_CEPH_IMAGE: quay.io/cephcsi/cephcsi:v3.12.3 ROOK_CSI_DISABLE_DRIVER: 'false' ROOK_CSI_ENABLE_CEPHFS: 'true' ROOK_CSI_ENABLE_NFS: 'false' ROOK_CSI_ENABLE_RBD: 'false' ROOK_CSI_IMAGE_PULL_POLICY: IfNotPresent - ROOK_CSI_PROVISIONER_IMAGE: registry.k8s.io/sig-storage/csi-provisioner:v5.0.1 - ROOK_CSI_REGISTRAR_IMAGE: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.11.1 - ROOK_CSI_RESIZER_IMAGE: registry.k8s.io/sig-storage/csi-resizer:v1.11.1 - ROOK_CSI_SNAPSHOTTER_IMAGE: registry.k8s.io/sig-storage/csi-snapshotter:v8.0.1 + ROOK_CSI_PROVISIONER_IMAGE: registry.k8s.io/sig-storage/csi-provisioner:v5.1.0 + ROOK_CSI_REGISTRAR_IMAGE: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.13.0 + ROOK_CSI_RESIZER_IMAGE: registry.k8s.io/sig-storage/csi-resizer:v1.13.1 + ROOK_CSI_SNAPSHOTTER_IMAGE: registry.k8s.io/sig-storage/csi-snapshotter:v8.2.0 ROOK_ENABLE_DISCOVERY_DAEMON: 'false' ROOK_LOG_LEVEL: INFO ROOK_OBC_WATCH_OPERATOR_NAMESPACE: 'true' diff --git a/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/deployment.yaml b/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/deployment.yaml index 8052837c..3ddcadd5 100644 --- a/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/deployment.yaml +++ b/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/deployment.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-operator @@ -21,7 +21,7 @@ spec: metadata: labels: app: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 spec: containers: - args: @@ -48,7 +48,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: docker.io/rook/ceph:v1.15.8 + image: docker.io/rook/ceph:v1.16.3 imagePullPolicy: IfNotPresent name: rook-ceph-operator resources: diff --git a/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/resources.yaml b/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/resources.yaml index d08ae4d1..ab728d9d 100644 --- a/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/resources.yaml +++ b/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/resources.yaml @@ -60,6 +60,43 @@ 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. @@ -78,9 +115,163 @@ 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: @@ -397,7 +588,8 @@ 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 @@ -437,7 +629,8 @@ 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 @@ -505,6 +698,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 @@ -1343,7 +1539,8 @@ 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: |- @@ -1364,8 +1561,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. @@ -1384,8 +1580,8 @@ 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: |- @@ -1452,8 +1648,8 @@ 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, @@ -1501,7 +1697,8 @@ 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: |- @@ -1522,8 +1719,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. @@ -1542,8 +1738,8 @@ 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: |- @@ -1610,8 +1806,8 @@ 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, @@ -2725,7 +2921,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 @@ -3458,6 +3654,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. @@ -5606,6 +5812,13 @@ 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 @@ -7470,7 +7683,8 @@ 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: |- @@ -7491,8 +7705,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 @@ -7511,7 +7724,8 @@ 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: |- @@ -7578,8 +7792,8 @@ 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, @@ -8198,7 +8412,8 @@ 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: |- @@ -8219,8 +8434,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 @@ -8239,7 +8453,8 @@ 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: |- @@ -8306,8 +8521,8 @@ 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, @@ -10025,7 +10240,8 @@ 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: |- @@ -10046,8 +10262,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 @@ -10066,7 +10281,8 @@ 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: |- @@ -10133,8 +10349,8 @@ 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, @@ -11540,6 +11756,73 @@ spec: nullable: true type: object x-kubernetes-preserve-unknown-fields: true + opsLogSidecar: + description: Enable enhanced operation Logs for S3 in a sidecar + named ops-log + nullable: true + properties: + resources: + description: Resources represents the way to specify resource + requirements for the ops-log sidecar + properties: + claims: + description: |- + Claims lists the names of resources, defined in spec.resourceClaims, + that are used by this container. + + This is an alpha field and requires enabling the + DynamicResourceAllocation feature gate. + + This field is immutable. It can only be set for containers. + items: + description: ResourceClaim references one entry in + PodSpec.ResourceClaims. + properties: + name: + description: |- + Name must match the name of one entry in pod.spec.resourceClaims of + the Pod where this field is used. It makes that resource available + inside a container. + type: string + request: + description: |- + Request is the name chosen for a request in the referenced claim. + If empty, everything from the claim is made available, otherwise + only the result of this request. + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + type: object + type: object placement: nullable: true properties: @@ -12120,6 +12403,26 @@ spec: type: object type: object x-kubernetes-preserve-unknown-fields: true + rgwCommandFlags: + additionalProperties: + type: string + description: |- + RgwCommandFlags sets Ceph RGW config values for the gateway clients that serve this object + store. Values are modified at RGW startup, resulting in RGW pod restarts. + This feature is intended for advanced users. It allows breaking configurations to be easily + applied. Use with caution. + nullable: true + type: object + rgwConfig: + additionalProperties: + type: string + description: |- + RgwConfig sets Ceph RGW config values for the gateway clients that serve this object store. + Values are modified at runtime without RGW restart. + This feature is intended for advanced users. It allows breaking configurations to be easily + applied. Use with caution. + nullable: true + type: object securePort: description: The port the rgw service will be listening on (https) format: int32 @@ -12165,7 +12468,8 @@ 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: |- @@ -12186,8 +12490,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 @@ -12206,7 +12509,8 @@ 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: |- @@ -12273,8 +12577,8 @@ 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, @@ -12319,7 +12623,8 @@ 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: |- @@ -12340,8 +12645,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 @@ -12360,7 +12664,8 @@ 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: |- @@ -12427,8 +12732,8 @@ 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, @@ -12510,7 +12815,6 @@ spec: If the DNS name corresponds to an endpoint with DNS wildcard support, do not include the wildcard itself in the list of hostnames. E.g., use "mystore.example.com" instead of "*.mystore.example.com". - The feature is supported only for Ceph v18 and later versions. items: type: string type: array @@ -12726,6 +13030,25 @@ spec: protocols: description: The protocol specification properties: + enableAPIs: + description: |- + Represents RGW 'rgw_enable_apis' config option. See: https://docs.ceph.com/en/reef/radosgw/config-ref/#confval-rgw_enable_apis + If no value provided then all APIs will be enabled: s3, s3website, swift, swift_auth, admin, sts, iam, notifications + If enabled APIs are set, all remaining APIs will be disabled. + This option overrides S3.Enabled value. + items: + enum: + - s3 + - s3website + - swift + - swift_auth + - admin + - sts + - iam + - notifications + type: string + nullable: true + type: array s3: description: The spec for S3 nullable: true @@ -12739,10 +13062,10 @@ spec: nullable: true type: boolean enabled: - description: "Whether to enable S3. This defaults to true\ - \ (even if protocols.s3 is not present in the CRD). This\ - \ maintains backwards compatibility \u2013 by default\ - \ S3 is enabled." + description: "Deprecated: use protocol.enableAPIs instead.\n\ + Whether to enable S3. This defaults to true (even if protocols.s3\ + \ is not present in the CRD). This maintains backwards\ + \ compatibility \u2013 by default S3 is enabled." nullable: true type: boolean type: object @@ -13063,7 +13386,7 @@ spec: properties: amz-cache: description: Add capabilities for user to send request to RGW - Cache API header. Documented in https://docs.ceph.com/en/quincy/radosgw/rgw-cache/#cache-api + Cache API header. Documented in https://docs.ceph.com/en/latest/radosgw/rgw-cache/#cache-api enum: - '*' - read diff --git a/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/role.yaml b/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/role.yaml index cb28b23a..e273cb25 100644 --- a/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/role.yaml +++ b/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/role.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system diff --git a/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/rolebinding.yaml b/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/rolebinding.yaml index 96c39ffb..13f4f659 100644 --- a/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/rolebinding.yaml +++ b/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/rolebinding.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system diff --git a/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/serviceaccount.yaml b/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/serviceaccount.yaml index f6d8050a..69c98f29 100644 --- a/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/serviceaccount.yaml +++ b/tests/golden/cephfs/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/serviceaccount.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system diff --git a/tests/golden/cephfs/rook-ceph/rook-ceph/10_cephcluster_toolbox.yaml b/tests/golden/cephfs/rook-ceph/rook-ceph/10_cephcluster_toolbox.yaml index 71713111..a801d479 100644 --- a/tests/golden/cephfs/rook-ceph/rook-ceph/10_cephcluster_toolbox.yaml +++ b/tests/golden/cephfs/rook-ceph/rook-ceph/10_cephcluster_toolbox.yaml @@ -109,7 +109,7 @@ spec: secretKeyRef: key: ceph-username name: rook-ceph-mon - image: docker.io/rook/ceph:v1.15.8 + image: docker.io/rook/ceph:v1.16.3 imagePullPolicy: IfNotPresent name: rook-ceph-tools securityContext: diff --git a/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/cluster-rbac.yaml b/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/cluster-rbac.yaml index a2f65275..02656d59 100644 --- a/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/cluster-rbac.yaml +++ b/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/cluster-rbac.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-osd @@ -18,7 +18,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-mgr @@ -31,7 +31,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-cmd-reporter @@ -50,7 +50,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-rgw diff --git a/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrole.yaml b/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrole.yaml index 37d67426..1da217db 100644 --- a/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrole.yaml +++ b/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrole.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system @@ -94,7 +94,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-cluster-mgmt @@ -127,7 +127,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-global @@ -315,7 +315,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-mgr-cluster @@ -371,7 +371,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-object-bucket @@ -579,9 +579,6 @@ rules: - get - list - watch - - update - - patch - - create - apiGroups: - snapshot.storage.k8s.io resources: @@ -600,7 +597,6 @@ rules: - watch - patch - update - - create - apiGroups: - snapshot.storage.k8s.io resources: @@ -653,7 +649,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rbd-csi-nodeplugin @@ -801,9 +797,6 @@ rules: - get - list - watch - - update - - patch - - create - apiGroups: - snapshot.storage.k8s.io resources: @@ -822,7 +815,6 @@ rules: - watch - patch - update - - create - apiGroups: - snapshot.storage.k8s.io resources: diff --git a/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrolebinding.yaml b/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrolebinding.yaml index 8507368e..59a5843a 100644 --- a/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrolebinding.yaml +++ b/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrolebinding.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system @@ -25,7 +25,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-global diff --git a/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/configmap.yaml b/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/configmap.yaml index 8821dd6b..29929b2a 100644 --- a/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/configmap.yaml +++ b/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/configmap.yaml @@ -67,7 +67,6 @@ data: cpu: 50m limits: memory: 256Mi - CSI_DISABLE_HOLDER_PODS: 'true' CSI_ENABLE_CEPHFS_SNAPSHOTTER: 'true' CSI_ENABLE_CSIADDONS: 'false' CSI_ENABLE_ENCRYPTION: 'false' @@ -202,18 +201,18 @@ data: memory: 256Mi ROOK_CEPH_ALLOW_LOOP_DEVICES: 'false' ROOK_CEPH_COMMANDS_TIMEOUT_SECONDS: '15' - ROOK_CSIADDONS_IMAGE: quay.io/csiaddons/k8s-sidecar:v0.9.1 - ROOK_CSI_ATTACHER_IMAGE: registry.k8s.io/sig-storage/csi-attacher:v4.6.1 + ROOK_CSIADDONS_IMAGE: quay.io/csiaddons/k8s-sidecar:v0.11.0 + ROOK_CSI_ATTACHER_IMAGE: registry.k8s.io/sig-storage/csi-attacher:v4.8.0 ROOK_CSI_CEPH_IMAGE: quay.io/cephcsi/cephcsi:v3.12.3 ROOK_CSI_DISABLE_DRIVER: 'false' ROOK_CSI_ENABLE_CEPHFS: 'false' ROOK_CSI_ENABLE_NFS: 'false' ROOK_CSI_ENABLE_RBD: 'true' ROOK_CSI_IMAGE_PULL_POLICY: IfNotPresent - ROOK_CSI_PROVISIONER_IMAGE: registry.k8s.io/sig-storage/csi-provisioner:v5.0.1 - ROOK_CSI_REGISTRAR_IMAGE: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.11.1 - ROOK_CSI_RESIZER_IMAGE: registry.k8s.io/sig-storage/csi-resizer:v1.11.1 - ROOK_CSI_SNAPSHOTTER_IMAGE: registry.k8s.io/sig-storage/csi-snapshotter:v8.0.1 + ROOK_CSI_PROVISIONER_IMAGE: registry.k8s.io/sig-storage/csi-provisioner:v5.1.0 + ROOK_CSI_REGISTRAR_IMAGE: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.13.0 + ROOK_CSI_RESIZER_IMAGE: registry.k8s.io/sig-storage/csi-resizer:v1.13.1 + ROOK_CSI_SNAPSHOTTER_IMAGE: registry.k8s.io/sig-storage/csi-snapshotter:v8.2.0 ROOK_ENABLE_DISCOVERY_DAEMON: 'false' ROOK_LOG_LEVEL: INFO ROOK_OBC_WATCH_OPERATOR_NAMESPACE: 'true' diff --git a/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/deployment.yaml b/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/deployment.yaml index 8052837c..3ddcadd5 100644 --- a/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/deployment.yaml +++ b/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/deployment.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-operator @@ -21,7 +21,7 @@ spec: metadata: labels: app: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 spec: containers: - args: @@ -48,7 +48,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: docker.io/rook/ceph:v1.15.8 + image: docker.io/rook/ceph:v1.16.3 imagePullPolicy: IfNotPresent name: rook-ceph-operator resources: diff --git a/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/resources.yaml b/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/resources.yaml index d08ae4d1..ab728d9d 100644 --- a/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/resources.yaml +++ b/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/resources.yaml @@ -60,6 +60,43 @@ 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. @@ -78,9 +115,163 @@ 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: @@ -397,7 +588,8 @@ 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 @@ -437,7 +629,8 @@ 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 @@ -505,6 +698,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 @@ -1343,7 +1539,8 @@ 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: |- @@ -1364,8 +1561,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. @@ -1384,8 +1580,8 @@ 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: |- @@ -1452,8 +1648,8 @@ 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, @@ -1501,7 +1697,8 @@ 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: |- @@ -1522,8 +1719,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. @@ -1542,8 +1738,8 @@ 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: |- @@ -1610,8 +1806,8 @@ 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, @@ -2725,7 +2921,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 @@ -3458,6 +3654,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. @@ -5606,6 +5812,13 @@ 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 @@ -7470,7 +7683,8 @@ 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: |- @@ -7491,8 +7705,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 @@ -7511,7 +7724,8 @@ 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: |- @@ -7578,8 +7792,8 @@ 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, @@ -8198,7 +8412,8 @@ 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: |- @@ -8219,8 +8434,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 @@ -8239,7 +8453,8 @@ 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: |- @@ -8306,8 +8521,8 @@ 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, @@ -10025,7 +10240,8 @@ 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: |- @@ -10046,8 +10262,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 @@ -10066,7 +10281,8 @@ 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: |- @@ -10133,8 +10349,8 @@ 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, @@ -11540,6 +11756,73 @@ spec: nullable: true type: object x-kubernetes-preserve-unknown-fields: true + opsLogSidecar: + description: Enable enhanced operation Logs for S3 in a sidecar + named ops-log + nullable: true + properties: + resources: + description: Resources represents the way to specify resource + requirements for the ops-log sidecar + properties: + claims: + description: |- + Claims lists the names of resources, defined in spec.resourceClaims, + that are used by this container. + + This is an alpha field and requires enabling the + DynamicResourceAllocation feature gate. + + This field is immutable. It can only be set for containers. + items: + description: ResourceClaim references one entry in + PodSpec.ResourceClaims. + properties: + name: + description: |- + Name must match the name of one entry in pod.spec.resourceClaims of + the Pod where this field is used. It makes that resource available + inside a container. + type: string + request: + description: |- + Request is the name chosen for a request in the referenced claim. + If empty, everything from the claim is made available, otherwise + only the result of this request. + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + type: object + type: object placement: nullable: true properties: @@ -12120,6 +12403,26 @@ spec: type: object type: object x-kubernetes-preserve-unknown-fields: true + rgwCommandFlags: + additionalProperties: + type: string + description: |- + RgwCommandFlags sets Ceph RGW config values for the gateway clients that serve this object + store. Values are modified at RGW startup, resulting in RGW pod restarts. + This feature is intended for advanced users. It allows breaking configurations to be easily + applied. Use with caution. + nullable: true + type: object + rgwConfig: + additionalProperties: + type: string + description: |- + RgwConfig sets Ceph RGW config values for the gateway clients that serve this object store. + Values are modified at runtime without RGW restart. + This feature is intended for advanced users. It allows breaking configurations to be easily + applied. Use with caution. + nullable: true + type: object securePort: description: The port the rgw service will be listening on (https) format: int32 @@ -12165,7 +12468,8 @@ 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: |- @@ -12186,8 +12490,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 @@ -12206,7 +12509,8 @@ 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: |- @@ -12273,8 +12577,8 @@ 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, @@ -12319,7 +12623,8 @@ 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: |- @@ -12340,8 +12645,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 @@ -12360,7 +12664,8 @@ 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: |- @@ -12427,8 +12732,8 @@ 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, @@ -12510,7 +12815,6 @@ spec: If the DNS name corresponds to an endpoint with DNS wildcard support, do not include the wildcard itself in the list of hostnames. E.g., use "mystore.example.com" instead of "*.mystore.example.com". - The feature is supported only for Ceph v18 and later versions. items: type: string type: array @@ -12726,6 +13030,25 @@ spec: protocols: description: The protocol specification properties: + enableAPIs: + description: |- + Represents RGW 'rgw_enable_apis' config option. See: https://docs.ceph.com/en/reef/radosgw/config-ref/#confval-rgw_enable_apis + If no value provided then all APIs will be enabled: s3, s3website, swift, swift_auth, admin, sts, iam, notifications + If enabled APIs are set, all remaining APIs will be disabled. + This option overrides S3.Enabled value. + items: + enum: + - s3 + - s3website + - swift + - swift_auth + - admin + - sts + - iam + - notifications + type: string + nullable: true + type: array s3: description: The spec for S3 nullable: true @@ -12739,10 +13062,10 @@ spec: nullable: true type: boolean enabled: - description: "Whether to enable S3. This defaults to true\ - \ (even if protocols.s3 is not present in the CRD). This\ - \ maintains backwards compatibility \u2013 by default\ - \ S3 is enabled." + description: "Deprecated: use protocol.enableAPIs instead.\n\ + Whether to enable S3. This defaults to true (even if protocols.s3\ + \ is not present in the CRD). This maintains backwards\ + \ compatibility \u2013 by default S3 is enabled." nullable: true type: boolean type: object @@ -13063,7 +13386,7 @@ spec: properties: amz-cache: description: Add capabilities for user to send request to RGW - Cache API header. Documented in https://docs.ceph.com/en/quincy/radosgw/rgw-cache/#cache-api + Cache API header. Documented in https://docs.ceph.com/en/latest/radosgw/rgw-cache/#cache-api enum: - '*' - read diff --git a/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/role.yaml b/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/role.yaml index cb28b23a..e273cb25 100644 --- a/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/role.yaml +++ b/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/role.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system diff --git a/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/rolebinding.yaml b/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/rolebinding.yaml index 96c39ffb..13f4f659 100644 --- a/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/rolebinding.yaml +++ b/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/rolebinding.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system diff --git a/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/serviceaccount.yaml b/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/serviceaccount.yaml index f6d8050a..69c98f29 100644 --- a/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/serviceaccount.yaml +++ b/tests/golden/defaults/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/serviceaccount.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system diff --git a/tests/golden/defaults/rook-ceph/rook-ceph/10_cephcluster_toolbox.yaml b/tests/golden/defaults/rook-ceph/rook-ceph/10_cephcluster_toolbox.yaml index 71713111..a801d479 100644 --- a/tests/golden/defaults/rook-ceph/rook-ceph/10_cephcluster_toolbox.yaml +++ b/tests/golden/defaults/rook-ceph/rook-ceph/10_cephcluster_toolbox.yaml @@ -109,7 +109,7 @@ spec: secretKeyRef: key: ceph-username name: rook-ceph-mon - image: docker.io/rook/ceph:v1.15.8 + image: docker.io/rook/ceph:v1.16.3 imagePullPolicy: IfNotPresent name: rook-ceph-tools securityContext: diff --git a/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/cluster-rbac.yaml b/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/cluster-rbac.yaml index a2f65275..02656d59 100644 --- a/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/cluster-rbac.yaml +++ b/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/cluster-rbac.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-osd @@ -18,7 +18,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-mgr @@ -31,7 +31,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-cmd-reporter @@ -50,7 +50,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-rgw diff --git a/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrole.yaml b/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrole.yaml index 37d67426..1da217db 100644 --- a/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrole.yaml +++ b/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrole.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system @@ -94,7 +94,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-cluster-mgmt @@ -127,7 +127,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-global @@ -315,7 +315,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-mgr-cluster @@ -371,7 +371,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-object-bucket @@ -579,9 +579,6 @@ rules: - get - list - watch - - update - - patch - - create - apiGroups: - snapshot.storage.k8s.io resources: @@ -600,7 +597,6 @@ rules: - watch - patch - update - - create - apiGroups: - snapshot.storage.k8s.io resources: @@ -653,7 +649,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rbd-csi-nodeplugin @@ -801,9 +797,6 @@ rules: - get - list - watch - - update - - patch - - create - apiGroups: - snapshot.storage.k8s.io resources: @@ -822,7 +815,6 @@ rules: - watch - patch - update - - create - apiGroups: - snapshot.storage.k8s.io resources: diff --git a/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrolebinding.yaml b/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrolebinding.yaml index 8507368e..59a5843a 100644 --- a/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrolebinding.yaml +++ b/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrolebinding.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system @@ -25,7 +25,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-global diff --git a/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/configmap.yaml b/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/configmap.yaml index 8821dd6b..29929b2a 100644 --- a/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/configmap.yaml +++ b/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/configmap.yaml @@ -67,7 +67,6 @@ data: cpu: 50m limits: memory: 256Mi - CSI_DISABLE_HOLDER_PODS: 'true' CSI_ENABLE_CEPHFS_SNAPSHOTTER: 'true' CSI_ENABLE_CSIADDONS: 'false' CSI_ENABLE_ENCRYPTION: 'false' @@ -202,18 +201,18 @@ data: memory: 256Mi ROOK_CEPH_ALLOW_LOOP_DEVICES: 'false' ROOK_CEPH_COMMANDS_TIMEOUT_SECONDS: '15' - ROOK_CSIADDONS_IMAGE: quay.io/csiaddons/k8s-sidecar:v0.9.1 - ROOK_CSI_ATTACHER_IMAGE: registry.k8s.io/sig-storage/csi-attacher:v4.6.1 + ROOK_CSIADDONS_IMAGE: quay.io/csiaddons/k8s-sidecar:v0.11.0 + ROOK_CSI_ATTACHER_IMAGE: registry.k8s.io/sig-storage/csi-attacher:v4.8.0 ROOK_CSI_CEPH_IMAGE: quay.io/cephcsi/cephcsi:v3.12.3 ROOK_CSI_DISABLE_DRIVER: 'false' ROOK_CSI_ENABLE_CEPHFS: 'false' ROOK_CSI_ENABLE_NFS: 'false' ROOK_CSI_ENABLE_RBD: 'true' ROOK_CSI_IMAGE_PULL_POLICY: IfNotPresent - ROOK_CSI_PROVISIONER_IMAGE: registry.k8s.io/sig-storage/csi-provisioner:v5.0.1 - ROOK_CSI_REGISTRAR_IMAGE: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.11.1 - ROOK_CSI_RESIZER_IMAGE: registry.k8s.io/sig-storage/csi-resizer:v1.11.1 - ROOK_CSI_SNAPSHOTTER_IMAGE: registry.k8s.io/sig-storage/csi-snapshotter:v8.0.1 + ROOK_CSI_PROVISIONER_IMAGE: registry.k8s.io/sig-storage/csi-provisioner:v5.1.0 + ROOK_CSI_REGISTRAR_IMAGE: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.13.0 + ROOK_CSI_RESIZER_IMAGE: registry.k8s.io/sig-storage/csi-resizer:v1.13.1 + ROOK_CSI_SNAPSHOTTER_IMAGE: registry.k8s.io/sig-storage/csi-snapshotter:v8.2.0 ROOK_ENABLE_DISCOVERY_DAEMON: 'false' ROOK_LOG_LEVEL: INFO ROOK_OBC_WATCH_OPERATOR_NAMESPACE: 'true' diff --git a/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/deployment.yaml b/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/deployment.yaml index 3799e92e..cb2fcecf 100644 --- a/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/deployment.yaml +++ b/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/deployment.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-operator @@ -21,7 +21,7 @@ spec: metadata: labels: app: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 spec: containers: - args: @@ -48,7 +48,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: docker.io/rook/ceph:v1.15.8 + image: docker.io/rook/ceph:v1.16.3 imagePullPolicy: IfNotPresent name: rook-ceph-operator resources: diff --git a/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/resources.yaml b/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/resources.yaml index d08ae4d1..ab728d9d 100644 --- a/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/resources.yaml +++ b/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/resources.yaml @@ -60,6 +60,43 @@ 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. @@ -78,9 +115,163 @@ 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: @@ -397,7 +588,8 @@ 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 @@ -437,7 +629,8 @@ 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 @@ -505,6 +698,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 @@ -1343,7 +1539,8 @@ 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: |- @@ -1364,8 +1561,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. @@ -1384,8 +1580,8 @@ 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: |- @@ -1452,8 +1648,8 @@ 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, @@ -1501,7 +1697,8 @@ 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: |- @@ -1522,8 +1719,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. @@ -1542,8 +1738,8 @@ 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: |- @@ -1610,8 +1806,8 @@ 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, @@ -2725,7 +2921,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 @@ -3458,6 +3654,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. @@ -5606,6 +5812,13 @@ 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 @@ -7470,7 +7683,8 @@ 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: |- @@ -7491,8 +7705,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 @@ -7511,7 +7724,8 @@ 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: |- @@ -7578,8 +7792,8 @@ 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, @@ -8198,7 +8412,8 @@ 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: |- @@ -8219,8 +8434,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 @@ -8239,7 +8453,8 @@ 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: |- @@ -8306,8 +8521,8 @@ 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, @@ -10025,7 +10240,8 @@ 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: |- @@ -10046,8 +10262,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 @@ -10066,7 +10281,8 @@ 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: |- @@ -10133,8 +10349,8 @@ 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, @@ -11540,6 +11756,73 @@ spec: nullable: true type: object x-kubernetes-preserve-unknown-fields: true + opsLogSidecar: + description: Enable enhanced operation Logs for S3 in a sidecar + named ops-log + nullable: true + properties: + resources: + description: Resources represents the way to specify resource + requirements for the ops-log sidecar + properties: + claims: + description: |- + Claims lists the names of resources, defined in spec.resourceClaims, + that are used by this container. + + This is an alpha field and requires enabling the + DynamicResourceAllocation feature gate. + + This field is immutable. It can only be set for containers. + items: + description: ResourceClaim references one entry in + PodSpec.ResourceClaims. + properties: + name: + description: |- + Name must match the name of one entry in pod.spec.resourceClaims of + the Pod where this field is used. It makes that resource available + inside a container. + type: string + request: + description: |- + Request is the name chosen for a request in the referenced claim. + If empty, everything from the claim is made available, otherwise + only the result of this request. + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + type: object + type: object placement: nullable: true properties: @@ -12120,6 +12403,26 @@ spec: type: object type: object x-kubernetes-preserve-unknown-fields: true + rgwCommandFlags: + additionalProperties: + type: string + description: |- + RgwCommandFlags sets Ceph RGW config values for the gateway clients that serve this object + store. Values are modified at RGW startup, resulting in RGW pod restarts. + This feature is intended for advanced users. It allows breaking configurations to be easily + applied. Use with caution. + nullable: true + type: object + rgwConfig: + additionalProperties: + type: string + description: |- + RgwConfig sets Ceph RGW config values for the gateway clients that serve this object store. + Values are modified at runtime without RGW restart. + This feature is intended for advanced users. It allows breaking configurations to be easily + applied. Use with caution. + nullable: true + type: object securePort: description: The port the rgw service will be listening on (https) format: int32 @@ -12165,7 +12468,8 @@ 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: |- @@ -12186,8 +12490,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 @@ -12206,7 +12509,8 @@ 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: |- @@ -12273,8 +12577,8 @@ 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, @@ -12319,7 +12623,8 @@ 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: |- @@ -12340,8 +12645,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 @@ -12360,7 +12664,8 @@ 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: |- @@ -12427,8 +12732,8 @@ 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, @@ -12510,7 +12815,6 @@ spec: If the DNS name corresponds to an endpoint with DNS wildcard support, do not include the wildcard itself in the list of hostnames. E.g., use "mystore.example.com" instead of "*.mystore.example.com". - The feature is supported only for Ceph v18 and later versions. items: type: string type: array @@ -12726,6 +13030,25 @@ spec: protocols: description: The protocol specification properties: + enableAPIs: + description: |- + Represents RGW 'rgw_enable_apis' config option. See: https://docs.ceph.com/en/reef/radosgw/config-ref/#confval-rgw_enable_apis + If no value provided then all APIs will be enabled: s3, s3website, swift, swift_auth, admin, sts, iam, notifications + If enabled APIs are set, all remaining APIs will be disabled. + This option overrides S3.Enabled value. + items: + enum: + - s3 + - s3website + - swift + - swift_auth + - admin + - sts + - iam + - notifications + type: string + nullable: true + type: array s3: description: The spec for S3 nullable: true @@ -12739,10 +13062,10 @@ spec: nullable: true type: boolean enabled: - description: "Whether to enable S3. This defaults to true\ - \ (even if protocols.s3 is not present in the CRD). This\ - \ maintains backwards compatibility \u2013 by default\ - \ S3 is enabled." + description: "Deprecated: use protocol.enableAPIs instead.\n\ + Whether to enable S3. This defaults to true (even if protocols.s3\ + \ is not present in the CRD). This maintains backwards\ + \ compatibility \u2013 by default S3 is enabled." nullable: true type: boolean type: object @@ -13063,7 +13386,7 @@ spec: properties: amz-cache: description: Add capabilities for user to send request to RGW - Cache API header. Documented in https://docs.ceph.com/en/quincy/radosgw/rgw-cache/#cache-api + Cache API header. Documented in https://docs.ceph.com/en/latest/radosgw/rgw-cache/#cache-api enum: - '*' - read diff --git a/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/role.yaml b/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/role.yaml index cb28b23a..e273cb25 100644 --- a/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/role.yaml +++ b/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/role.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system diff --git a/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/rolebinding.yaml b/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/rolebinding.yaml index 96c39ffb..13f4f659 100644 --- a/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/rolebinding.yaml +++ b/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/rolebinding.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system diff --git a/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/serviceaccount.yaml b/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/serviceaccount.yaml index f6d8050a..69c98f29 100644 --- a/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/serviceaccount.yaml +++ b/tests/golden/openshift4/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/serviceaccount.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system diff --git a/tests/golden/openshift4/rook-ceph/rook-ceph/10_cephcluster_toolbox.yaml b/tests/golden/openshift4/rook-ceph/rook-ceph/10_cephcluster_toolbox.yaml index b7490ef5..b88522bc 100644 --- a/tests/golden/openshift4/rook-ceph/rook-ceph/10_cephcluster_toolbox.yaml +++ b/tests/golden/openshift4/rook-ceph/rook-ceph/10_cephcluster_toolbox.yaml @@ -109,7 +109,7 @@ spec: secretKeyRef: key: ceph-username name: rook-ceph-mon - image: docker.io/rook/ceph:v1.15.8 + image: docker.io/rook/ceph:v1.16.3 imagePullPolicy: IfNotPresent name: rook-ceph-tools securityContext: {} diff --git a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/cluster-rbac.yaml b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/cluster-rbac.yaml index a2f65275..02656d59 100644 --- a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/cluster-rbac.yaml +++ b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/cluster-rbac.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-osd @@ -18,7 +18,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-mgr @@ -31,7 +31,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-cmd-reporter @@ -50,7 +50,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-rgw diff --git a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrole.yaml b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrole.yaml index 37d67426..1da217db 100644 --- a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrole.yaml +++ b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrole.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system @@ -94,7 +94,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-cluster-mgmt @@ -127,7 +127,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-global @@ -315,7 +315,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-mgr-cluster @@ -371,7 +371,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-object-bucket @@ -579,9 +579,6 @@ rules: - get - list - watch - - update - - patch - - create - apiGroups: - snapshot.storage.k8s.io resources: @@ -600,7 +597,6 @@ rules: - watch - patch - update - - create - apiGroups: - snapshot.storage.k8s.io resources: @@ -653,7 +649,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rbd-csi-nodeplugin @@ -801,9 +797,6 @@ rules: - get - list - watch - - update - - patch - - create - apiGroups: - snapshot.storage.k8s.io resources: @@ -822,7 +815,6 @@ rules: - watch - patch - update - - create - apiGroups: - snapshot.storage.k8s.io resources: diff --git a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrolebinding.yaml b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrolebinding.yaml index 8507368e..59a5843a 100644 --- a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrolebinding.yaml +++ b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/clusterrolebinding.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system @@ -25,7 +25,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-global diff --git a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/configmap.yaml b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/configmap.yaml index 8821dd6b..29929b2a 100644 --- a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/configmap.yaml +++ b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/configmap.yaml @@ -67,7 +67,6 @@ data: cpu: 50m limits: memory: 256Mi - CSI_DISABLE_HOLDER_PODS: 'true' CSI_ENABLE_CEPHFS_SNAPSHOTTER: 'true' CSI_ENABLE_CSIADDONS: 'false' CSI_ENABLE_ENCRYPTION: 'false' @@ -202,18 +201,18 @@ data: memory: 256Mi ROOK_CEPH_ALLOW_LOOP_DEVICES: 'false' ROOK_CEPH_COMMANDS_TIMEOUT_SECONDS: '15' - ROOK_CSIADDONS_IMAGE: quay.io/csiaddons/k8s-sidecar:v0.9.1 - ROOK_CSI_ATTACHER_IMAGE: registry.k8s.io/sig-storage/csi-attacher:v4.6.1 + ROOK_CSIADDONS_IMAGE: quay.io/csiaddons/k8s-sidecar:v0.11.0 + ROOK_CSI_ATTACHER_IMAGE: registry.k8s.io/sig-storage/csi-attacher:v4.8.0 ROOK_CSI_CEPH_IMAGE: quay.io/cephcsi/cephcsi:v3.12.3 ROOK_CSI_DISABLE_DRIVER: 'false' ROOK_CSI_ENABLE_CEPHFS: 'false' ROOK_CSI_ENABLE_NFS: 'false' ROOK_CSI_ENABLE_RBD: 'true' ROOK_CSI_IMAGE_PULL_POLICY: IfNotPresent - ROOK_CSI_PROVISIONER_IMAGE: registry.k8s.io/sig-storage/csi-provisioner:v5.0.1 - ROOK_CSI_REGISTRAR_IMAGE: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.11.1 - ROOK_CSI_RESIZER_IMAGE: registry.k8s.io/sig-storage/csi-resizer:v1.11.1 - ROOK_CSI_SNAPSHOTTER_IMAGE: registry.k8s.io/sig-storage/csi-snapshotter:v8.0.1 + ROOK_CSI_PROVISIONER_IMAGE: registry.k8s.io/sig-storage/csi-provisioner:v5.1.0 + ROOK_CSI_REGISTRAR_IMAGE: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.13.0 + ROOK_CSI_RESIZER_IMAGE: registry.k8s.io/sig-storage/csi-resizer:v1.13.1 + ROOK_CSI_SNAPSHOTTER_IMAGE: registry.k8s.io/sig-storage/csi-snapshotter:v8.2.0 ROOK_ENABLE_DISCOVERY_DAEMON: 'false' ROOK_LOG_LEVEL: INFO ROOK_OBC_WATCH_OPERATOR_NAMESPACE: 'true' diff --git a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/deployment.yaml b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/deployment.yaml index 3799e92e..cb2fcecf 100644 --- a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/deployment.yaml +++ b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/deployment.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-operator @@ -21,7 +21,7 @@ spec: metadata: labels: app: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 spec: containers: - args: @@ -48,7 +48,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: docker.io/rook/ceph:v1.15.8 + image: docker.io/rook/ceph:v1.16.3 imagePullPolicy: IfNotPresent name: rook-ceph-operator resources: diff --git a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/resources.yaml b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/resources.yaml index d08ae4d1..ab728d9d 100644 --- a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/resources.yaml +++ b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/resources.yaml @@ -60,6 +60,43 @@ 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. @@ -78,9 +115,163 @@ 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: @@ -397,7 +588,8 @@ 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 @@ -437,7 +629,8 @@ 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 @@ -505,6 +698,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 @@ -1343,7 +1539,8 @@ 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: |- @@ -1364,8 +1561,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. @@ -1384,8 +1580,8 @@ 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: |- @@ -1452,8 +1648,8 @@ 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, @@ -1501,7 +1697,8 @@ 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: |- @@ -1522,8 +1719,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. @@ -1542,8 +1738,8 @@ 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: |- @@ -1610,8 +1806,8 @@ 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, @@ -2725,7 +2921,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 @@ -3458,6 +3654,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. @@ -5606,6 +5812,13 @@ 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 @@ -7470,7 +7683,8 @@ 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: |- @@ -7491,8 +7705,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 @@ -7511,7 +7724,8 @@ 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: |- @@ -7578,8 +7792,8 @@ 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, @@ -8198,7 +8412,8 @@ 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: |- @@ -8219,8 +8434,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 @@ -8239,7 +8453,8 @@ 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: |- @@ -8306,8 +8521,8 @@ 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, @@ -10025,7 +10240,8 @@ 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: |- @@ -10046,8 +10262,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 @@ -10066,7 +10281,8 @@ 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: |- @@ -10133,8 +10349,8 @@ 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, @@ -11540,6 +11756,73 @@ spec: nullable: true type: object x-kubernetes-preserve-unknown-fields: true + opsLogSidecar: + description: Enable enhanced operation Logs for S3 in a sidecar + named ops-log + nullable: true + properties: + resources: + description: Resources represents the way to specify resource + requirements for the ops-log sidecar + properties: + claims: + description: |- + Claims lists the names of resources, defined in spec.resourceClaims, + that are used by this container. + + This is an alpha field and requires enabling the + DynamicResourceAllocation feature gate. + + This field is immutable. It can only be set for containers. + items: + description: ResourceClaim references one entry in + PodSpec.ResourceClaims. + properties: + name: + description: |- + Name must match the name of one entry in pod.spec.resourceClaims of + the Pod where this field is used. It makes that resource available + inside a container. + type: string + request: + description: |- + Request is the name chosen for a request in the referenced claim. + If empty, everything from the claim is made available, otherwise + only the result of this request. + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + type: object + type: object placement: nullable: true properties: @@ -12120,6 +12403,26 @@ spec: type: object type: object x-kubernetes-preserve-unknown-fields: true + rgwCommandFlags: + additionalProperties: + type: string + description: |- + RgwCommandFlags sets Ceph RGW config values for the gateway clients that serve this object + store. Values are modified at RGW startup, resulting in RGW pod restarts. + This feature is intended for advanced users. It allows breaking configurations to be easily + applied. Use with caution. + nullable: true + type: object + rgwConfig: + additionalProperties: + type: string + description: |- + RgwConfig sets Ceph RGW config values for the gateway clients that serve this object store. + Values are modified at runtime without RGW restart. + This feature is intended for advanced users. It allows breaking configurations to be easily + applied. Use with caution. + nullable: true + type: object securePort: description: The port the rgw service will be listening on (https) format: int32 @@ -12165,7 +12468,8 @@ 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: |- @@ -12186,8 +12490,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 @@ -12206,7 +12509,8 @@ 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: |- @@ -12273,8 +12577,8 @@ 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, @@ -12319,7 +12623,8 @@ 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: |- @@ -12340,8 +12645,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 @@ -12360,7 +12664,8 @@ 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: |- @@ -12427,8 +12732,8 @@ 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, @@ -12510,7 +12815,6 @@ spec: If the DNS name corresponds to an endpoint with DNS wildcard support, do not include the wildcard itself in the list of hostnames. E.g., use "mystore.example.com" instead of "*.mystore.example.com". - The feature is supported only for Ceph v18 and later versions. items: type: string type: array @@ -12726,6 +13030,25 @@ spec: protocols: description: The protocol specification properties: + enableAPIs: + description: |- + Represents RGW 'rgw_enable_apis' config option. See: https://docs.ceph.com/en/reef/radosgw/config-ref/#confval-rgw_enable_apis + If no value provided then all APIs will be enabled: s3, s3website, swift, swift_auth, admin, sts, iam, notifications + If enabled APIs are set, all remaining APIs will be disabled. + This option overrides S3.Enabled value. + items: + enum: + - s3 + - s3website + - swift + - swift_auth + - admin + - sts + - iam + - notifications + type: string + nullable: true + type: array s3: description: The spec for S3 nullable: true @@ -12739,10 +13062,10 @@ spec: nullable: true type: boolean enabled: - description: "Whether to enable S3. This defaults to true\ - \ (even if protocols.s3 is not present in the CRD). This\ - \ maintains backwards compatibility \u2013 by default\ - \ S3 is enabled." + description: "Deprecated: use protocol.enableAPIs instead.\n\ + Whether to enable S3. This defaults to true (even if protocols.s3\ + \ is not present in the CRD). This maintains backwards\ + \ compatibility \u2013 by default S3 is enabled." nullable: true type: boolean type: object @@ -13063,7 +13386,7 @@ spec: properties: amz-cache: description: Add capabilities for user to send request to RGW - Cache API header. Documented in https://docs.ceph.com/en/quincy/radosgw/rgw-cache/#cache-api + Cache API header. Documented in https://docs.ceph.com/en/latest/radosgw/rgw-cache/#cache-api enum: - '*' - read diff --git a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/role.yaml b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/role.yaml index cb28b23a..e273cb25 100644 --- a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/role.yaml +++ b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/role.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system diff --git a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/rolebinding.yaml b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/rolebinding.yaml index 96c39ffb..13f4f659 100644 --- a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/rolebinding.yaml +++ b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/rolebinding.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system diff --git a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/serviceaccount.yaml b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/serviceaccount.yaml index f6d8050a..69c98f29 100644 --- a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/serviceaccount.yaml +++ b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/01_rook_ceph_helmchart/rook-ceph/templates/serviceaccount.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/created-by: helm app.kubernetes.io/managed-by: Helm app.kubernetes.io/part-of: rook-ceph-operator - helm.sh/chart: rook-ceph-v1.15.8 + helm.sh/chart: rook-ceph-v1.16.3 operator: rook storage-backend: ceph name: rook-ceph-system diff --git a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/10_cephcluster_toolbox.yaml b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/10_cephcluster_toolbox.yaml index b7490ef5..b88522bc 100644 --- a/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/10_cephcluster_toolbox.yaml +++ b/tests/golden/rbd-extra-storageclass/rook-ceph/rook-ceph/10_cephcluster_toolbox.yaml @@ -109,7 +109,7 @@ spec: secretKeyRef: key: ceph-username name: rook-ceph-mon - image: docker.io/rook/ceph:v1.15.8 + image: docker.io/rook/ceph:v1.16.3 imagePullPolicy: IfNotPresent name: rook-ceph-tools securityContext: {}