@asyncio.coroutine<EOL><INDENT>def sniff_hosts(self, initial=False):<DEDENT>
node_info = yield from self._get_sniff_data(initial)<EOL>hosts = list(filter(None, (self._get_host_info(n) for n in node_info)))<EOL>if not hosts:<EOL><INDENT>raise TransportError("<STR_LIT>", "<STR_LIT>")<EOL><DEDENT>orig_connections = self.connection_pool.connections[:]<EOL>self.set_connections(hosts)<EOL>for c in orig_connections:<EOL><INDENT>if c not in self.connection_pool.connections:<EOL><INDENT>yield from c.close()<EOL><DEDENT><DEDENT>
Obtain a list of nodes from the cluster and create a new connection
pool using the information retrieved.

To extract the node connection parameters use the ``nodes_to_host_callback``.

:arg initial: flag indicating if this is during startup
    (``sniff_on_start``), ignore the ``sniff_timeout`` if ``True``