I was going to ask why this wasn't just added to the Cluster object, but then I remembered Cluster.only() - this looks fairly similar. Have you seen that?
https://github.com/ceph/teuthology/blob/master/teuthology/orchestra/cluster.py#L74