Allow for no role_versions to be present (#56519)
* Allow for no role_versions to be present fixes #46650 better info on fetch, ensure list return * use correct to_
This commit is contained in:
parent
4ef2545eb5
commit
c2253c8133
3 changed files with 8 additions and 5 deletions
2
changelogs/fragments/dont_assume_role_versions.yml
Normal file
2
changelogs/fragments/dont_assume_role_versions.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- new code assumed role_versions always were present event though rest of code does not.
|
|
@ -200,6 +200,7 @@ class GalaxyAPI(object):
|
|||
The url comes from the 'related' field of the role.
|
||||
"""
|
||||
|
||||
results = []
|
||||
try:
|
||||
url = '%s/roles/%s/%s/?page_size=50' % (self.baseurl, role_id, related)
|
||||
data = self.__call_galaxy(url)
|
||||
|
@ -210,9 +211,9 @@ class GalaxyAPI(object):
|
|||
data = self.__call_galaxy(url)
|
||||
results += data['results']
|
||||
done = (data.get('next_link', None) is None)
|
||||
return results
|
||||
except Exception:
|
||||
return None
|
||||
except Exception as e:
|
||||
display.vvvv("Unable to retrive role (id=%s) data (%s), but this is not fatal so we continue: %s" % (role_id, related, to_text(e)))
|
||||
return results
|
||||
|
||||
@g_connect
|
||||
def get_list(self, what):
|
||||
|
|
|
@ -230,13 +230,13 @@ class GalaxyRole(object):
|
|||
'Please contact the role author to resolve versioning conflicts, or specify an explicit role version to '
|
||||
'install.' % ', '.join([v.vstring for v in loose_versions])
|
||||
)
|
||||
self.version = str(loose_versions[-1])
|
||||
self.version = to_text(loose_versions[-1])
|
||||
elif role_data.get('github_branch', None):
|
||||
self.version = role_data['github_branch']
|
||||
else:
|
||||
self.version = 'master'
|
||||
elif self.version != 'master':
|
||||
if role_versions and str(self.version) not in [a.get('name', None) for a in role_versions]:
|
||||
if role_versions and to_text(self.version) not in [a.get('name', None) for a in role_versions]:
|
||||
raise AnsibleError("- the specified version (%s) of %s was not found in the list of available versions (%s)." % (self.version,
|
||||
self.name,
|
||||
role_versions))
|
||||
|
|
Loading…
Reference in a new issue