Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ceph: remove default value for pool compression #8966

Merged
merged 1 commit into from Oct 13, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
21 changes: 7 additions & 14 deletions cluster/charts/rook-ceph/templates/resources.yaml
Expand Up @@ -33,8 +33,7 @@ spec:
description: PoolSpec represents the spec of ceph pool
properties:
compressionMode:
default: none
description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
description: 'DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force" The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force) Do NOT set a default value for kubebuilder as this will override the Parameters'
enum:
- none
- passive
Expand Down Expand Up @@ -4457,8 +4456,7 @@ spec:
description: PoolSpec represents the spec of ceph pool
properties:
compressionMode:
default: none
description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
description: 'DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force" The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force) Do NOT set a default value for kubebuilder as this will override the Parameters'
enum:
- none
- passive
Expand Down Expand Up @@ -4625,8 +4623,7 @@ spec:
nullable: true
properties:
compressionMode:
default: none
description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
description: 'DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force" The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force) Do NOT set a default value for kubebuilder as this will override the Parameters'
enum:
- none
- passive
Expand Down Expand Up @@ -6387,8 +6384,7 @@ spec:
nullable: true
properties:
compressionMode:
default: none
description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
description: 'DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force" The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force) Do NOT set a default value for kubebuilder as this will override the Parameters'
enum:
- none
- passive
Expand Down Expand Up @@ -7326,8 +7322,7 @@ spec:
nullable: true
properties:
compressionMode:
default: none
description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
description: 'DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force" The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force) Do NOT set a default value for kubebuilder as this will override the Parameters'
enum:
- none
- passive
Expand Down Expand Up @@ -7822,8 +7817,7 @@ spec:
nullable: true
properties:
compressionMode:
default: none
description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
description: 'DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force" The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force) Do NOT set a default value for kubebuilder as this will override the Parameters'
enum:
- none
- passive
Expand Down Expand Up @@ -7988,8 +7982,7 @@ spec:
nullable: true
properties:
compressionMode:
default: none
description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
description: 'DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force" The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force) Do NOT set a default value for kubebuilder as this will override the Parameters'
enum:
- none
- passive
Expand Down
21 changes: 7 additions & 14 deletions cluster/examples/kubernetes/ceph/crds.yaml
Expand Up @@ -36,8 +36,7 @@ spec:
description: PoolSpec represents the spec of ceph pool
properties:
compressionMode:
default: none
description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
description: 'DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force" The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force) Do NOT set a default value for kubebuilder as this will override the Parameters'
enum:
- none
- passive
Expand Down Expand Up @@ -4456,8 +4455,7 @@ spec:
description: PoolSpec represents the spec of ceph pool
properties:
compressionMode:
default: none
description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
description: 'DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force" The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force) Do NOT set a default value for kubebuilder as this will override the Parameters'
enum:
- none
- passive
Expand Down Expand Up @@ -4624,8 +4622,7 @@ spec:
nullable: true
properties:
compressionMode:
default: none
description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
description: 'DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force" The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force) Do NOT set a default value for kubebuilder as this will override the Parameters'
enum:
- none
- passive
Expand Down Expand Up @@ -6383,8 +6380,7 @@ spec:
nullable: true
properties:
compressionMode:
default: none
description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
description: 'DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force" The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force) Do NOT set a default value for kubebuilder as this will override the Parameters'
enum:
- none
- passive
Expand Down Expand Up @@ -7322,8 +7318,7 @@ spec:
nullable: true
properties:
compressionMode:
default: none
description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
description: 'DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force" The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force) Do NOT set a default value for kubebuilder as this will override the Parameters'
enum:
- none
- passive
Expand Down Expand Up @@ -7815,8 +7810,7 @@ spec:
nullable: true
properties:
compressionMode:
default: none
description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
description: 'DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force" The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force) Do NOT set a default value for kubebuilder as this will override the Parameters'
enum:
- none
- passive
Expand Down Expand Up @@ -7981,8 +7975,7 @@ spec:
nullable: true
properties:
compressionMode:
default: none
description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
description: 'DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force" The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force) Do NOT set a default value for kubebuilder as this will override the Parameters'
enum:
- none
- passive
Expand Down
3 changes: 2 additions & 1 deletion pkg/apis/ceph.rook.io/v1/types.go
Expand Up @@ -601,9 +601,10 @@ type PoolSpec struct {
// +nullable
DeviceClass string `json:"deviceClass,omitempty"`

// DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force"
// The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)
// +kubebuilder:validation:Enum=none;passive;aggressive;force;""
// +kubebuilder:default=none
// Do NOT set a default value for kubebuilder as this will override the Parameters
leseb marked this conversation as resolved.
Show resolved Hide resolved
// +optional
// +nullable
CompressionMode string `json:"compressionMode,omitempty"`
Expand Down
4 changes: 2 additions & 2 deletions pkg/daemon/ceph/client/pool.go
Expand Up @@ -34,7 +34,7 @@ const (
confirmFlag = "--yes-i-really-mean-it"
reallyConfirmFlag = "--yes-i-really-really-mean-it"
targetSizeRatioProperty = "target_size_ratio"
compressionModeProperty = "compression_mode"
CompressionModeProperty = "compression_mode"
PgAutoscaleModeProperty = "pg_autoscale_mode"
PgAutoscaleModeOn = "on"
)
Expand Down Expand Up @@ -252,7 +252,7 @@ func setCommonPoolProperties(context *clusterd.Context, clusterInfo *ClusterInfo
}

if pool.IsCompressionEnabled() {
pool.Parameters[compressionModeProperty] = pool.CompressionMode
pool.Parameters[CompressionModeProperty] = pool.CompressionMode
}

// Apply properties
Expand Down
18 changes: 13 additions & 5 deletions pkg/operator/ceph/pool/validate.go
Expand Up @@ -139,11 +139,19 @@ func ValidatePoolSpec(context *clusterd.Context, clusterInfo *cephclient.Cluster

// validate pool compression mode if specified
if p.CompressionMode != "" {
switch p.CompressionMode {
case "none", "passive", "aggressive", "force":
break
default:
return errors.Errorf("unrecognized compression mode %q", p.CompressionMode)
logger.Warning("compressionMode is DEPRECATED, use Parameters instead")
}

// Test the same for Parameters
if p.Parameters != nil {
compression, ok := p.Parameters[client.CompressionModeProperty]
if ok && compression != "" {
switch compression {
case "none", "passive", "aggressive", "force":
leseb marked this conversation as resolved.
Show resolved Hide resolved
break
default:
return errors.Errorf("failed to validate pool spec unknown compression mode %q", compression)
}
}
}

Expand Down