def wait_ready(self, name, timeout=5.0, sleep_interval=0.2):
        """
        Wait for a newly created bucket to be ready.

        :param string name: the name to wait for
        :param seconds timeout: the maximum amount of time to wait
        :param seconds sleep_interval: the number of time to sleep
            between each probe
        :raise: :exc:`.CouchbaseError` on internal HTTP error
        :raise: :exc:`NotReadyError` if all nodes could not be
            ready in time
        """
        end = time() + timeout
        while True:
            try:
                info = self.bucket_info(name).value
                for node in info['nodes']:
                    if node['status'] != 'healthy':
                        raise NotReadyError.pyexc('Not all nodes are healthy')
                return  # No error and all OK
            except E.CouchbaseError:
                if time() + sleep_interval > end:
                    raise
                sleep(sleep_interval)
Wait for a newly created bucket to be ready.

        :param string name: the name to wait for
        :param seconds timeout: the maximum amount of time to wait
        :param seconds sleep_interval: the number of time to sleep
            between each probe
        :raise: :exc:`.CouchbaseError` on internal HTTP error
        :raise: :exc:`NotReadyError` if all nodes could not be
            ready in time