diff --git a/README.md b/README.md index 5466812..4079b1f 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # hdfs_modules +cloned from https://github.com/BROADSoftware/hdfs_modules + This ansible role host a set of modules aimed to manipulate file and directory on HDFS (The Hadoop Distributed File System). * hdfs\_file: Equivalent of the ansible files/file module, but on HDFS. Doc [at this location](docs/hdfs_file.txt) diff --git a/library/hdfs_cmd.py b/library/hdfs_cmd.py index f2d1317..2252bb2 100644 --- a/library/hdfs_cmd.py +++ b/library/hdfs_cmd.py @@ -145,7 +145,9 @@ try: import requests HAS_REQUESTS = True -except ImportError, AttributeError: +except ImportError: + pass +except AttributeError: # AttributeError if __version__ is not present pass diff --git a/library/hdfs_file.py b/library/hdfs_file.py index 3d14b26..8e6b72b 100644 --- a/library/hdfs_file.py +++ b/library/hdfs_file.py @@ -134,7 +134,9 @@ try: import requests HAS_REQUESTS = True -except ImportError, AttributeError: +except ImportError: + pass +except AttributeError: # AttributeError if __version__ is not present pass @@ -393,7 +395,7 @@ def main(): except Exception: error("mode must be in octal form") - p.mode = oct(p.mode).lstrip("0") + p.mode = '%03o' % p.mode if p.mode == '': # Thanks Jocelyn p.mode = '0' #print '{ mode_type: "' + str(type(p.mode)) + '", mode_value: "' + str(p.mode) + '"}' diff --git a/library/hdfs_info.py b/library/hdfs_info.py index 7dfccef..a9fdb87 100644 --- a/library/hdfs_info.py +++ b/library/hdfs_info.py @@ -126,7 +126,9 @@ try: import requests HAS_REQUESTS = True -except ImportError, AttributeError: +except ImportError: + pass +except AttributeError: # AttributeError if __version__ is not present pass diff --git a/library/hdfs_put.py b/library/hdfs_put.py index d4dbe45..0588ee7 100644 --- a/library/hdfs_put.py +++ b/library/hdfs_put.py @@ -140,7 +140,9 @@ try: import requests HAS_REQUESTS = True -except ImportError, AttributeError: +except ImportError: + pass +except AttributeError: # AttributeError if __version__ is not present pass @@ -379,14 +381,14 @@ def checkParameters(p): p.mode = int(p.mode, 8) except Exception: error("mode must be in octal form") - p.mode = oct(p.mode) + p.mode = '%03o' % p.mode if p.directoryMode != None: if not isinstance(p.directoryMode, int): try: p.directoryMode = int(p.directoryMode, 8) except Exception: error("directoryMode must be in octal form") - p.directoryMode = oct(p.directoryMode) + p.directoryMode = '%03o' % p.directoryMode #print '{ mode_type: "' + str(type(p.directoryMode)) + '", directoryMode_value: "' + str(p.directoryMode) + '"}' if not p.hdfsDest.startswith("/"): @@ -481,14 +483,14 @@ def buildLocalTree(rroot): f = {} f['size'] = stat.st_size f['modificationTime'] = int(stat.st_mtime) - f['mode'] = "0" + oct(stat.st_mode)[-3:] + f['mode'] = "0" + ('%03o' % stat.st_mode)[-3:] fileMap[key] = f for dirName in dirs: key = os.path.join(root, dirName)[prefLen:] path = os.path.join(rroot, key) stat = os.stat(path) f = {} - f['mode'] = "0" + oct(stat.st_mode)[-3:] + f['mode'] = "0" + ('%03o' % stat.st_mode)[-3:] dirMap[key] = f tree['files'] = fileMap tree['directories'] = dirMap diff --git a/tasks/main.yml b/tasks/main.yml index bb8f108..69eafe2 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -18,10 +18,10 @@ # Required by hdfs_file, hdfs_cmd and hdfs_info - name: Install python-requests and python-requests-kerberos for hdfs_xxxxx ansibles modules (RedHat) - yum: name=python-requests,python-requests-kerberos state=present + yum: name=python3-requests,python3-requests-kerberos state=present when: ansible_os_family == 'RedHat' - name: Install python-requests and python-requests-kerberos for hdfs_xxxxx ansibles modules (Debian) - apt: name=python-requests,python-requests-kerberos state=present + apt: name=python3-requests,python3-requests-kerberos state=present when: ansible_os_family == 'Debian' - \ No newline at end of file +