You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ab...@apache.org on 2017/08/22 18:02:30 UTC
[14/35] ambari git commit: AMBARI-21759 yumrpm provider doesn't
parses installed packages in a same way on different CentOS versions
(dgrinenko)
AMBARI-21759 yumrpm provider doesn't parses installed packages in a same way on different CentOS versions (dgrinenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a0ae01d8
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a0ae01d8
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a0ae01d8
Branch: refs/heads/branch-feature-logsearch-ui
Commit: a0ae01d883eaaecb4542e990389ea9483c63eac9
Parents: 79ff23f
Author: Dmytro Grinenko <ha...@apache.org>
Authored: Sat Aug 19 05:47:22 2017 +0300
Committer: Dmytro Grinenko <ha...@apache.org>
Committed: Sat Aug 19 05:47:22 2017 +0300
----------------------------------------------------------------------
.../core/providers/package/yumrpm.py | 32 ++------------------
1 file changed, 3 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/a0ae01d8/ambari-common/src/main/python/resource_management/core/providers/package/yumrpm.py
----------------------------------------------------------------------
diff --git a/ambari-common/src/main/python/resource_management/core/providers/package/yumrpm.py b/ambari-common/src/main/python/resource_management/core/providers/package/yumrpm.py
index 26fbc3e..8c02992 100644
--- a/ambari-common/src/main/python/resource_management/core/providers/package/yumrpm.py
+++ b/ambari-common/src/main/python/resource_management/core/providers/package/yumrpm.py
@@ -119,36 +119,10 @@ class YumProvider(RPMBasedPackageProvider):
:type repo_filter str|None
:rtype list[list,]
"""
- packages = []
- cmd_filter = "| grep \"{0}\"".format(repo_filter) if repo_filter else ""
-
- # tr '\n' '#' %s | sed -e 's/# / /g' | tr '#' '\n' - fix yum formatted output for default console width
- cmd = AMBARI_SUDO_BINARY + " yum list installed {filter}|tr '\\n' '#' | sed -e 's/# / /g' | tr '#' '\\n'|awk '{printf \"%s;%s;%s\\n\", $1,$2,$3}'".replace("{filter}", cmd_filter)
- result = self._call_with_timeout(cmd)
- col_sep = ";"
-
- """
- command would return everything in following format:
-
- Loaded;plugins:;fastestmirror
- Installed;Packages;
- package_name;version;@Repo
- ....
- """
-
- if result and 0 == result['retCode']:
- raw_pkgs = result['out'].split("\n")
-
- for line in raw_pkgs:
- package_item = line.split(col_sep)
-
- if len(package_item) < 3:
- continue
- elif not package_item[2].startswith("@"):
- continue
- package_item[2] = package_item[2][1:]
- packages.append(package_item)
+ packages = self._lookup_packages([AMBARI_SUDO_BINARY, "yum", "list", "installed"], "Installed Packages")
+ if repo_filter:
+ packages = [item for item in packages if item[2].lower() == repo_filter.lower()]
return packages