cephadm: add support for seastore#67274
Conversation
965a70e to
8956826
Compare
|
Pr description is great! Let's mention this in the docs as well (and mention the non-supported raw method) |
1d58cd9 to
68aa1cc
Compare
35d2781 to
7f285e7
Compare
|
jenkins test make check arm64 |
7f285e7 to
5475740
Compare
|
jenkins retest this please |
|
We should get this merged to allow early SeaStore deployments! |
Waiting for a review from @adk3798 and we should be good to go here! |
This commit adds support for deploying seastore objectstore with
cephdm. This can be done in two ways:
1. using OSD spec file, we can set the objectstore argument to
seastore. eg -
```
service_type: osd
service_id: osd_crimson_seastore
placement:
host_pattern: '*'
spec:
objectstore: seastore
osd_type: crimson
data_devices:
all: true
```
2. using --objectstore flag with ceph orch osd deploy. sample cmd:
```
ceph orch apply osd --all-available-devices --osd-type crimson --objectstore seastore
```
Fixes: https://tracker.ceph.com/issues/74616
Signed-off-by: Shraddha Agrawal <shraddha.agrawal000@gmail.com>
This commits adds the following tests: 1. cephadm: JSON roundtrip of a spec with objecstore=seastore. 2. cephadm: validation checks for objecstore values. 3. cephadm to ceph-volume: cmd checks if objecstore=seastore is set. Signed-off-by: Shraddha Agrawal <shraddha.agrawal000@gmail.com>
5475740 to
941b42c
Compare
|
jenkins test make check |
|
jenkins test make check |
This commit updates the crimson user facing docs to add instructions on how to deploy a crimson OSD with seastore objectstore. Signed-off-by: Shraddha Agrawal <shraddha.agrawal000@gmail.com>
941b42c to
59d0e2e
Compare
adk3798
left a comment
There was a problem hiding this comment.
A couple nitpicks, generally LGTM
| self.data_directories = data_directories | ||
|
|
||
| #: ``filestore`` or ``bluestore`` | ||
| #: ``filestore`` or ``bluestore`` or ``seastore`` |
There was a problem hiding this comment.
I assume we can remove filestore from this comment at this point. It looks like the validation only allowed bluestore before this PR anyway
| "`all` is only allowed for data_devices") | ||
|
|
||
| if self.objectstore not in ('bluestore'): | ||
| if self.objectstore not in ['bluestore', 'seastore']: |
There was a problem hiding this comment.
what happens currently if users set the osd type to crimson but don't set the objectstore field at all? I'd think we'd want to just have the objectstore field default to bluestore for "classic" OSDs and seatore for crimson ones
There was a problem hiding this comment.
We want bluestore as the default store for both classic and crimson OSDs at the moment.
|
jenkins test docs |
|
This is an automated message by src/script/redmine-upkeep.py. I have resolved the following tracker ticket due to the merge of this PR: No backports are pending for the ticket. If this is incorrect, please update the tracker Update Log: https://github.com/ceph/ceph/actions/runs/22213542155 |
Description
This PR adds support to deloy crimson OSDs with seastore objectstore using cephadm. (follow up to #66811)
Usage
Was able to successfully deploy a cluster with crimson OSDs and seastore objectstore using 2 methods:
--objectstore seastore. The full command used:The logs for the successful OSD boot process:
Docs
Fixes: https://tracker.ceph.com/issues/74616
Checklist
Show available Jenkins commands
jenkins test classic perfJenkins Job | Jenkins Job Definitionjenkins test crimson perfJenkins Job | Jenkins Job Definitionjenkins test signedJenkins Job | Jenkins Job Definitionjenkins test make checkJenkins Job | Jenkins Job Definitionjenkins test make check arm64Jenkins Job | Jenkins Job Definitionjenkins test submodulesJenkins Job | Jenkins Job Definitionjenkins test dashboardJenkins Job | Jenkins Job Definitionjenkins test dashboard cephadmJenkins Job | Jenkins Job Definitionjenkins test apiJenkins Job | Jenkins Job Definitionjenkins test docsReadTheDocs | Github Workflow Definitionjenkins test ceph-volume allJenkins Jobs | Jenkins Jobs Definitionjenkins test windowsJenkins Job | Jenkins Job Definitionjenkins test rook e2eJenkins Job | Jenkins Job DefinitionYou must only issue one Jenkins command per-comment. Jenkins does not understand
comments with more than one command.