Comment 3 for bug 1024614

Revision history for this message
Tihomir Trifonov (ttrifonov) wrote :

There is a minor problem here with using Horizon api.glance.image_list_detailed:

    def image_list_detailed(request, marker=None, filters=None):
        filters = filters or {}
        limit = getattr(settings, 'API_RESULT_LIMIT', 1000)
        page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
        images = list(glanceclient(request).images.list(page_size=page_size,
                                                        limit=limit,
                                                        marker=marker,
                                                        filters=filters))

The 'marker' field is always passed, either when it is 'None' or an actual value. Then in /v1/images.py we have:

119 if 'marker' in kwargs:
120 params['marker'] = kwargs['marker']

and in case of marker=None, it is appended to

    url = '/v1/images/detail?%s' % urllib.urlencode(qp)

and it becomes '/v1/images/detail?marker=None&limit=20' which then raises an error in Glance. So it can be changed in Horizon glance.py, but I think it is better to be fixed in python-glanceclient with something like:

119 if 'marker' in kwargs and kwargs['marker']:
120 params['marker'] = kwargs['marker']