out of time...refactor to nova.openstack.common.rpc later