Optimize execution of RBD set fact
Optimize execution of RBD set fact

Currently executes once per round of the nova common playbook due to
the "run_once", so we set the fact multiple times per deploy, and
mostly when executing against groups that don't consume this fact.

This changes the run conditions for the fact set of
nova_cinder_rbd_inuse, a var which indicates to os_nova that it
should run the ceph_client role because Cinder is using RBD
backends, even if nova is not backing instances with RBD.

The new conditions require that the fact set will occur only if it
is not already set on localhost, only if the host group being
executed against contains nova_compute hosts, and only once (on the
first nova_compute host in the run group).

Change-Id: I30ea58cc255388ce0e9b9eab8ad11f93b9311cbe

stackforge/os-ansible-deployment,openstack/openstack-ansible,stackforge/os-ansible-deployment,yanyao/openstack-ansible,cloudnull/os-ansible-deployment,cfarquhar/openstack-ansible,cfarquhar/openstack-ansible,openstack/openstack-ansible,yanyao/openstack-ansible,bunchc/openstack-ansible,bunchc/openstack-ansible,cloudnull/os-ansible-deployment