Details
-
Improvement
-
Resolution: Fixed
-
Major
-
None
-
None
-
None
-
Christmas and Beyond, 1 - 2024 A New Dawn
-
5
Description
Per Slack conversation we should:
1) Provide a spec.buckets.defaultStorageBackend that is accessible through the annotation cao.couchbase.com/buckets.defaultStorageBackend that is a string enum that can be either couchstore or magma.
2) If this value is provided, new and existing buckets without a specified storage backend will be created with the default storageBackend. If this value is not present, then buckets will continue to use their specified default of couchstore. Conversions of the buckets will be performed if possible (Couchstore <-> Magma on 7.6+), otherwise the buckets will be left as they were when defined. If the bucket is deleted on the cluster, it will be created with the new storageBackend.
3) Provide a spec.buckets.targetUnmanagedBucketStorageBackend field that is accessible through the annotation cao.couchbase.com/buckets.targetUnmanagedBucketStorageBackend that is a string enum that can be couchstore or magma. Add validation to reject this annotation if server version <7.6
4) If cao.couchbase.com/buckets.targetUnmanagedBucketStorageBackend is present and spec.buckets.managed is false, then during reconciliation, a check on each bucket's storageBackend will be checked, and if it does not match the value provided, the bucket's storageBackend will be changed to specified value on Server 7.6+ clusters. Subsequent reconciliations will perform the appropriate swap/rebalance migration on these buckets.
Attachments
Issue Links
- depends on
-
K8S-3159 Allow and perform storageBackend Migrations from couchstore to Magma
- Closed