In an colocated/converged architecture, we need to ensure that resources are managed between the compute and storage processes. The proposal is to use cgroups to manage the compute side so that the Ceph OSD process has sufficient memory/CPU to fulfill IOPS and rebalance as necessary.
https://review.openstack.org/#/c/273754/
I've submitted this review to upstream THT.
It needs a bit of work still, but it's a start. The OSD will provision correctly as long as the compute OSD configuration happens after the controller ceph configurations, which is rarely.
A rerun of puppet on the compute nodes after over cloud deployment will register the OSDs on the compute nodes into the ceph cluster