diff --git a/go.mod b/go.mod index f50b01f4d..2b21dc3ba 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/openshift/custom-resource-status v1.1.2 github.com/operator-framework/api v0.20.0 github.com/prometheus/client_golang v1.17.0 - github.com/red-hat-storage/ocs-operator/api/v4 v4.0.0-20231218123823-334ed88d3c2c + github.com/red-hat-storage/ocs-operator/api/v4 v4.0.0-20240531085837-24a53a5b7724 github.com/stretchr/testify v1.8.4 go.uber.org/multierr v1.11.0 k8s.io/api v0.28.4 diff --git a/go.sum b/go.sum index ac0be1a8a..42f99ec0b 100644 --- a/go.sum +++ b/go.sum @@ -704,8 +704,8 @@ github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/red-hat-storage/ocs-operator/api/v4 v4.0.0-20231218123823-334ed88d3c2c h1:KyAwwA5IBiA74sEgfhpeaKu2M6pvT79HnYHBdpklX50= -github.com/red-hat-storage/ocs-operator/api/v4 v4.0.0-20231218123823-334ed88d3c2c/go.mod h1:A2MTpyd4Iy++ePsglCfMZs2e+Q0fgjPC1HOhjvMDeFU= +github.com/red-hat-storage/ocs-operator/api/v4 v4.0.0-20240531085837-24a53a5b7724 h1:mHXvII2d46M0ScQ1CAghQ0Ir5prZyiDhReW2NTmnU6A= +github.com/red-hat-storage/ocs-operator/api/v4 v4.0.0-20240531085837-24a53a5b7724/go.mod h1:A2MTpyd4Iy++ePsglCfMZs2e+Q0fgjPC1HOhjvMDeFU= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= diff --git a/vendor/github.com/red-hat-storage/ocs-operator/api/v4/v1/storagecluster_types.go b/vendor/github.com/red-hat-storage/ocs-operator/api/v4/v1/storagecluster_types.go index 00c569e71..048a4d213 100644 --- a/vendor/github.com/red-hat-storage/ocs-operator/api/v4/v1/storagecluster_types.go +++ b/vendor/github.com/red-hat-storage/ocs-operator/api/v4/v1/storagecluster_types.go @@ -18,6 +18,7 @@ package v1 import ( "os" + "time" nbv1 "github.com/noobaa/noobaa-operator/v5/pkg/apis/noobaa/v1alpha1" quotav1 "github.com/openshift/api/quota/v1" @@ -176,6 +177,14 @@ type ManageCephCluster struct { MgrCount int `json:"mgrCount,omitempty"` // +kubebuilder:validation:Enum=3;5 MonCount int `json:"monCount,omitempty"` + // WaitTimeoutForHealthyOSDInMinutes defines the time the operator would wait before an OSD can be stopped for upgrade or restart. + // If `continueUpgradeAfterChecksEvenIfNotHealthy` is `false` and the timeout exceeds and OSD is not ok to stop, then the operator + // would skip upgrade for the current OSD and proceed with the next one. + // If `continueUpgradeAfterChecksEvenIfNotHealthy` is `true`, then operator would continue with the upgrade of an OSD even if its + // not ok to stop after the timeout. + // This timeout won't be applied if `skipUpgradeChecks` is `true`. + // The default wait timeout is 10 minutes. + WaitTimeoutForHealthyOSDInMinutes time.Duration `json:"waitTimeoutForHealthyOSDInMinutes,omitempty"` } // ManageCephConfig defines how to reconcile the Ceph configuration @@ -211,6 +220,14 @@ type ManageCephBlockPools struct { // ManageCephNonResilientPools defines how to reconcile ceph non-resilient pools type ManageCephNonResilientPools struct { Enable bool `json:"enable,omitempty"` + // Count is the number of devices in this set + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:default=1 + Count int `json:"count,omitempty"` + // ResourceRequirements (requests/limits) for the devices + Resources corev1.ResourceRequirements `json:"resources,omitempty"` + // VolumeClaimTemplates is a PVC template for the underlying storage devices + VolumeClaimTemplate corev1.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"` // StorageClassName specifies the name of the storage class created for ceph non-resilient pools // +kubebuilder:validation:MaxLength=253 // +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ @@ -237,6 +254,7 @@ type ManageCephObjectStores struct { DisableStorageClass bool `json:"disableStorageClass,omitempty"` GatewayInstances int `json:"gatewayInstances,omitempty"` DisableRoute bool `json:"disableRoute,omitempty"` + HostNetwork *bool `json:"hostNetwork,omitempty"` // StorageClassName specifies the name of the storage class created for ceph obc's // +kubebuilder:validation:MaxLength=253 // +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ @@ -257,6 +275,8 @@ type ManageCephToolbox struct { type ManageCephRBDMirror struct { ReconcileStrategy string `json:"reconcileStrategy,omitempty"` // +kubebuilder:default=1 + // +kubebuilder:validation:Minimum=0 + // +kubebuilder:validation:Maximum=1 DaemonCount int `json:"daemonCount,omitempty"` } @@ -396,6 +416,9 @@ type ExternalPGSpec struct { // AllowSelfSignedCerts will allow the Postgres server to use self signed certificates to authenticate // +optional AllowSelfSignedCerts bool `json:"allowSelfSignedCerts,omitempty"` + // EnableTLS will allow the postgres server to connect via TLS/SSL + // +optional + EnableTLS bool `json:"enableTls,omitempty"` // TLSSecret stores the secret name which contains the client side certificates if enabled // +optional TLSSecretName string `json:"tlsSecretName,omitempty"` @@ -513,6 +536,9 @@ type StorageClusterStatus struct { // KMSServerConnection holds the connection state to the KMS server. KMSServerConnection KMSServerConnectionStatus `json:"kmsServerConnection,omitempty"` + + // CurrentMonCount holds the value of ceph mons configured in ceph cluster. + CurrentMonCount int `json:"currentMonCount,omitempty"` } // ImagesStatus maps every component image name it's reconciliation status information diff --git a/vendor/github.com/red-hat-storage/ocs-operator/api/v4/v1/zz_generated.deepcopy.go b/vendor/github.com/red-hat-storage/ocs-operator/api/v4/v1/zz_generated.deepcopy.go index c22e74c4c..0e61b7566 100644 --- a/vendor/github.com/red-hat-storage/ocs-operator/api/v4/v1/zz_generated.deepcopy.go +++ b/vendor/github.com/red-hat-storage/ocs-operator/api/v4/v1/zz_generated.deepcopy.go @@ -314,6 +314,8 @@ func (in *ManageCephFilesystems) DeepCopy() *ManageCephFilesystems { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ManageCephNonResilientPools) DeepCopyInto(out *ManageCephNonResilientPools) { *out = *in + in.Resources.DeepCopyInto(&out.Resources) + in.VolumeClaimTemplate.DeepCopyInto(&out.VolumeClaimTemplate) } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageCephNonResilientPools. @@ -344,6 +346,11 @@ func (in *ManageCephObjectStoreUsers) DeepCopy() *ManageCephObjectStoreUsers { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ManageCephObjectStores) DeepCopyInto(out *ManageCephObjectStores) { *out = *in + if in.HostNetwork != nil { + in, out := &in.HostNetwork, &out.HostNetwork + *out = new(bool) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageCephObjectStores. @@ -393,9 +400,9 @@ func (in *ManagedResourcesSpec) DeepCopyInto(out *ManagedResourcesSpec) { out.CephConfig = in.CephConfig out.CephDashboard = in.CephDashboard out.CephBlockPools = in.CephBlockPools - out.CephNonResilientPools = in.CephNonResilientPools + in.CephNonResilientPools.DeepCopyInto(&out.CephNonResilientPools) out.CephFilesystems = in.CephFilesystems - out.CephObjectStores = in.CephObjectStores + in.CephObjectStores.DeepCopyInto(&out.CephObjectStores) out.CephObjectStoreUsers = in.CephObjectStoreUsers out.CephToolbox = in.CephToolbox out.CephRBDMirror = in.CephRBDMirror @@ -810,7 +817,7 @@ func (in *StorageClusterSpec) DeepCopyInto(out *StorageClusterSpec) { *out = new(ceph_rook_iov1.NetworkSpec) (*in).DeepCopyInto(*out) } - out.ManagedResources = in.ManagedResources + in.ManagedResources.DeepCopyInto(&out.ManagedResources) if in.NodeTopologies != nil { in, out := &in.NodeTopologies, &out.NodeTopologies *out = new(NodeTopologyMap) diff --git a/vendor/modules.txt b/vendor/modules.txt index 0b0530f29..a9aeaaff7 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -285,7 +285,7 @@ github.com/prometheus/common/model github.com/prometheus/procfs github.com/prometheus/procfs/internal/fs github.com/prometheus/procfs/internal/util -# github.com/red-hat-storage/ocs-operator/api/v4 v4.0.0-20231218123823-334ed88d3c2c +# github.com/red-hat-storage/ocs-operator/api/v4 v4.0.0-20240531085837-24a53a5b7724 ## explicit; go 1.20 github.com/red-hat-storage/ocs-operator/api/v4/v1 # github.com/rook/rook/pkg/apis v0.0.0-20231215165123-32de0fb5f69b