The workflow to “activate” an OSD is by relying on systemd unit files and its ability to persist information as a suffix to the instance name.
ceph-volume exposes the following convention for unit files:
ceph-volume@<sub command>-<extra metadata>
For example, this is how enabling an OSD could look like for the lvm sub command:
systemctl enable ceph-volume@lvm-0-8715BEB4-15C5-49DE-BA6F-401086EC7B41
These 3 pieces of persisted information are needed by the sub-command so that it understands what OSD it needs to activate.
lvm is not the only subcommand that will be supported, this
is how it will allow other device types to be defined.
At some point for example, for plain disks, it could be:
systemctl enable ceph-volume@disk-0-8715BEB4-15C5-49DE-BA6F-401086EC7B41
At startup, the systemd unit will execute a helper script that will parse the
suffix and will end up calling
ceph-volume back. Using the previous
example for lvm, that call will look like:
ceph-volume lvm activate 0 8715BEB4-15C5-49DE-BA6F-401086EC7B41
These workflows are not meant to be public, but are documented so that it is clear what the tool is doing behind the scenes. Do not alter any of these values.