1--- before/lib/ansible/galaxy/api.py 2+++ after/lib/ansible/galaxy/api.py 3@@ -21,7 +21,7 @@ 4 from ansible.galaxy.user_agent import user_agent 5 from ansible.module_utils.six import string_types 6 from ansible.module_utils.six.moves.urllib.error import HTTPError 7-from ansible.module_utils.six.moves.urllib.parse import quote as urlquote, urlencode, urlparse 8+from ansible.module_utils.six.moves.urllib.parse import quote as urlquote, urlencode, urlparse, parse_qs 9 from ansible.module_utils._text import to_bytes, to_native, to_text 10 from ansible.module_utils.urls import open_url, prepare_multipart 11 from ansible.utils.display import Display 12@@ -312,6 +312,7 @@ 13 def _call_galaxy(self, url, args=None, headers=None, method=None, auth_required=False, error_context_msg=None, 14 cache=False): 15 url_info = urlparse(url) 16+ query = parse_qs(url_info.query) 17 cache_id = get_cache_id(url) 18 if cache and self._cache: 19 server_cache = self._cache.setdefault(cache_id, {}) 20@@ -342,7 +343,7 @@ 21 22 return res 23 24- elif not url_info.query: 25+ elif 'page' not in query: 26 # The cache entry had expired or does not exist, start a new blank entry to be filled later. 27 expires = datetime.datetime.utcnow() 28 expires += datetime.timedelta(days=1) 29@@ -781,7 +782,7 @@ 30 api_path = self.available_api_versions['v2'] 31 pagination_path = ['next'] 32 33- versions_url = _urljoin(self.api_server, api_path, 'collections', namespace, name, 'versions', '/') 34+ versions_url = _urljoin(self.api_server, api_path, 'collections', namespace, name, 'versions', '?page_size=100') 35 versions_url_info = urlparse(versions_url) 36 37 # We should only rely on the cache if the collection has not changed. This may slow things down but it ensures 38