Fix IndexError raised on galaxy-install

This patch fixes IndexError, that may be raised When trying
to install a role with `ansible-galaxy` in case of
access error to roles directory.

Issue: ansible/galaxy#149
This commit is contained in:
Alexander Saprykin 2017-11-07 14:11:52 +01:00 committed by Chris Houseknecht
parent 992f6d8bf4
commit 58e255c2d9

View file

@ -22,6 +22,7 @@
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
import errno
import datetime
import os
import tarfile
@ -325,11 +326,10 @@ class GalaxyRole(object):
installed = True
except OSError as e:
error = True
if e[0] == 13 and len(self.paths) > 1:
if e.errno == errno.EACCES and len(self.paths) > 1:
current = self.paths.index(self.path)
nextidx = current + 1
if len(self.paths) >= current:
self.path = self.paths[nextidx]
if len(self.paths) > current:
self.path = self.paths[current + 1]
error = False
if error:
raise AnsibleError("Could not update files in %s: %s" % (self.path, str(e)))