code: def setup_cluster(self, cluster, extra_args=tuple()):
          
          return self._run_playbook(cluster, self._playbook_path, extra_args)
docs: Configure the cluster by running an Ansible playbook.
  
          The ElastiCluster configuration attribute `<kind>_groups`
          determines, for each node kind, what Ansible groups nodes of
          that kind are assigned to.
  
          :param cluster: cluster to configure
          :type cluster: :py:class:`elasticluster.cluster.Cluster`
  
          :param list extra_args:
            List of additional command-line arguments
            that are appended to each invocation of the setup program.
  
          :return: ``True`` on success, ``False`` otherwise. Please note, if nothing
                   has to be configured, then ``True`` is returned.
  
          :raises: `ConfigurationError` if the playbook can not be found
                   or is corrupt.