This repository was archived by the owner on Feb 8, 2024. It is now read-only.
CORTX-33050: Add support for Motr log devices #331
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This change updates the solution.yaml storage set definition to support "log" device entries, which are described in the latest cluster.yaml sample file. The format of the solution file has changed, see the Breaking change section. Log devices are specified as a list of devices, the same as data devices.
For now, this device type is optional. Omitting or including the log devices are both supported. The solution validation will not flag missing values.
I have not included a "name" field with the devices, as suggested. We can add this later in the future, but there is currently no use for it, so there is nothing for the deployment script or Chart to use it for, thus it should not be a required field.
With images 859 (planned v0.9.0 version) and the latest 867, I can see that the cluster.conf correctly sets the log entries. I don't believe Motr uses it for anything though. I am unable to verify that.
Breaking change
The devices format of the storage sets has changed. Note that 0.9.0 already has a breaking change with respect to the formatting, so this can be included with that.
The
metadata
object used to take a singular device, now it is a list of devices. Note: motr setup will fail if more than one device is specified.The
device
field of the device object is now more aptly namedpath
.Type of change
Applicable issues
CORTX image version requirements
There aren't any versions that support log devices yet. The current version, 859, works with or without them.
How was this tested?
I deployed in multiple ways:
In all cases, the behavior was the same: the cluster deployed successfully and scripts, S3, etc. were working. When log devices are specified, the statefulsets correctly mount all of the volume devices (meta + log + data), and the cluster.conf file is generated with an entry.
solution.yaml
cluster.yaml
cluster.conf
The status script passes, as it verifies the number of PV and PVCs are created according to the solution file.
Additional information
I have not added the log device entry to the README.md file or chart values.yaml file yet. It should be added when the feature is ready to be used.
Fix list formatting in cluster.yaml to match the sample and be more consistent.
Remove the
common.release
key from config.yaml since this matches the sample.Checklist
If this change requires newer CORTX or third party image versions:
image
fields in solution.example.yaml have been updated to use the required versions.appVersion
field of the Helm chart has been updated to use the new CORTX version.If this change addresses a CORTX Jira issue:
CORTX-XXXXX:
)