TripleO should allow discovery of Ceph OSD devices based on device descriptions

Registered by John Fulton

This blueprint has been superseded. See the newer blueprint "A light Ansible framework for TripleO integration with Ceph clusters deployed with cephadm and managed with Ceph orchestrator." for updated plans.

At a large scale, it may be difficult to specify Ceph OSDs, and their journals, by device name without first automating the generation of the yaml that is provided as input to TripleO. This is a proposal to move the burden of generating this type of input yaml from the deployer to the deployment tool.

In a small deployment, with uniform storage nodes, the deployer may specify a list of OSD devices, e.g. ['/dev/sdb', '/dev/sdc', '/dev/sdd']. However, at large scale, the number and type of devices may differ due to purchasing hardware at different times. This complexity may be compounded if the hardware device names are not stable across reboots. Though these matters may be resolved by using node-specific hiera data and using a path like /dev/disk/by-path/ with PCI IDs, e.g. pci-0000:02:00.0-scsi-0:0:0:0, the deployer would need to retrieve this data from Ironic and generate the THT yaml using a scripting language. An alternative to this solution, is to be able to use a higher-level device description where the devices are referenced by their features, rather than by name. For example:

 {'vendor':'SAMSUNG', size:'256G', 'rotational':'no'}

The above example is from a proposed feature coming in ceph-ansible tracked by and this proposal is contingent on that feature. Assuming that feature merges, this proposal's implementation will result in updates to TripleO to support a syntax like the above in addition to documentation and CI updates to test the above.

Blueprint information

Alex Schultz
John Fulton
John Fulton
Series goal:
Accepted for future
Not started
Milestone target:
Completed by
John Fulton

Related branches



[2018-07-11] Moving to Stein as we're fast approaching Rocky M3 and there are no patches.
No update from ceph-ansible on this feature so puting to tripleo-future


Work Items

This blueprint contains Public information 
Everyone can see this information.


No subscribers.