diff options
author | Toshio Kuratomi <toshio@fedoraproject.org> | 2015-06-24 08:12:49 -0700 |
---|---|---|
committer | Toshio Kuratomi <toshio@fedoraproject.org> | 2015-06-24 08:12:49 -0700 |
commit | dba3bc75399ce520de6eb96b0a93c829114580d9 (patch) | |
tree | 7671b9ee2bda0a9b013f4ada6011b3d39293e6cb | |
parent | 4519dd5f4d8fb1787bd81c56403b5fab02075dae (diff) | |
download | ansible-modules-core-dba3bc75399ce520de6eb96b0a93c829114580d9.tar.gz |
Read the url in in chunks so that we don't use as much memory for large packages
-rw-r--r-- | packaging/os/yum.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/packaging/os/yum.py b/packaging/os/yum.py index 22e7ca4a..14339b4c 100644 --- a/packaging/os/yum.py +++ b/packaging/os/yum.py @@ -152,6 +152,9 @@ EXAMPLES = ''' yum: name="@Development tools" state=present ''' +# 64k. Number of bytes to read at a time when manually downloading pkgs via a url +BUFSIZE = 65536 + def_qf = "%{name}-%{version}-%{release}.%{arch}" def log(msg): @@ -526,9 +529,11 @@ def install(module, items, repoq, yum_basecmd, conf_file, en_repos, dis_repos): package = os.path.join(tempdir, str(pkg.rsplit('/', 1)[1])) try: rsp, info = fetch_url(module, pkg) - data = rsp.read() f = open(package, 'w') - f.write(data) + data = rsp.read(BUFSIZE) + while data: + f.write(data) + data = rsp.read(BUFSIZE) f.close() pkg = package except Exception, e: |