'Schedule the given queue_entry on an atomic group of hosts.
Returns immediately if there are insufficient available hosts.
Creates new HostQueueEntries based off of queue_entry for the
scheduled hosts and starts them all running.'

def _schedule_atomic_group(self, queue_entry):

    group_hosts = self._host_scheduler.find_eligible_atomic_group(queue_entry)
    if (not group_hosts):
        return
    logging.info('Expanding    atomic    group    entry    %s    with    hosts    %s', queue_entry, ',    '.join((host.hostname for host in group_hosts)))
    for assigned_host in group_hosts[1:]:
        new_hqe = scheduler_models.HostQueueEntry.clone(queue_entry)
        new_hqe.save()
        new_hqe.set_host(assigned_host)
        self._run_queue_entry(new_hqe)
    queue_entry.set_host(group_hosts[0])
    self._run_queue_entry(queue_entry)
