def _cast_create_volume(self, context, volume_id, snapshot_id):
    if (snapshot_id and FLAGS.snapshot_same_host):
        snapshot_ref = self.db.snapshot_get(context, snapshot_id)
        src_volume_ref = self.db.volume_get(context, snapshot_ref['volume_id'])
        topic = rpc.queue_get_for(context, FLAGS.volume_topic, src_volume_ref['host'])
        rpc.cast(context, topic, {'method': 'create_volume', 'args': {'volume_id': volume_id, 'snapshot_id': snapshot_id}})
    else:
        rpc.cast(context, FLAGS.scheduler_topic, {'method': 'create_volume', 'args': {'topic': FLAGS.volume_topic, 'volume_id': volume_id, 'snapshot_id': snapshot_id}})
def _cast_create_volume(self, context, volume_id, snapshot_id):
    if (snapshot_id and FLAGS.snapshot_same_host):
        snapshot_ref = self.db.snapshot_get(context, snapshot_id)
        src_volume_ref = self.db.volume_get(context, snapshot_ref['volume_id'])
        topic = rpc.queue_get_for(context, FLAGS.volume_topic, src_volume_ref['host'])
        rpc.cast(context, topic, {'method': 'create_volume', 'args': {'volume_id': volume_id, 'snapshot_id': snapshot_id}})
    else:
        rpc.cast(context, FLAGS.scheduler_topic, {'method': 'create_volume', 'args': {'topic': FLAGS.volume_topic, 'volume_id': volume_id, 'snapshot_id': snapshot_id}})