'@inherits: :class:`StorageDriver.iterate_containers`'

def iterate_containers(self):

    params = {'comp': 'list', 'maxresults': RESPONSES_PER_REQUEST, 'include': 'metadata'}
    while True:
        response = self.connection.request('/', params)
        if (response.status != httplib.OK):
            raise LibcloudError(('Unexpected    status    code:    %s' % response.status), driver=self)
        body = response.parse_body()
        containers = body.find(fixxpath(xpath='Containers'))
        containers = containers.findall(fixxpath(xpath='Container'))
        for container in containers:
            (yield self._xml_to_container(container))
        params['marker'] = body.findtext('NextMarker')
        if (not params['marker']):
            break
