From caa68746aed3810218d68d3160dc34807eadd589 Mon Sep 17 00:00:00 2001 From: Hiroaki Nakamura Date: Wed, 11 Sep 2013 02:10:53 +0900 Subject: [PATCH 1/2] Fix to getchanged correctly for yum groupinstall. --- library/packaging/yum | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/library/packaging/yum b/library/packaging/yum index d34b20b0660..766ca16fbda 100644 --- a/library/packaging/yum +++ b/library/packaging/yum @@ -109,6 +109,12 @@ if not os.path.exists(repoquery): yumbin='/usr/bin/yum' +import syslog + +def log(msg): + syslog.openlog('ansible-yum', 0, syslog.LOG_USER) + syslog.syslog(syslog.LOG_NOTICE, msg) + def yum_base(conf_file=None, cachedir=False): my = yum.YumBase() @@ -464,9 +470,11 @@ def install(module, items, repoq, yum_basecmd, conf_file, en_repos, dis_repos): rc, out, err = module.run_command(cmd) - if rc != 0 and 'Nothing to do' in err: + if (rc != 0 and 'Nothing to do' in err) or 'Nothing to do' in out: # avoid failing in the 'Nothing To Do' case - # this may happen with an URL spec + # this may happen with an URL spec. + # for an already installed group, + # we get rc = 0 and 'Nothing to do' in out, not in err. rc = 0 err = '' out = '%s: Nothing to do' % spec @@ -616,7 +624,8 @@ def ensure(module, state, pkgspec, conf_file, enablerepo, disablerepo, # take multiple args comma separated items = pkgspec.split(',') - yum_basecmd = [yumbin, '-d', '1', '-y'] + # need debug level 2 to get 'Nothing to do' for groupinstall. + yum_basecmd = [yumbin, '-d', '2', '-y'] if not repoquery: From 4d2c2a262a4789f2ab672baad29d08d252e11b7d Mon Sep 17 00:00:00 2001 From: Hiroaki Nakamura Date: Wed, 11 Sep 2013 02:14:16 +0900 Subject: [PATCH 2/2] Add an example for installing a group with the yum module. --- library/packaging/yum | 1 + 1 file changed, 1 insertion(+) diff --git a/library/packaging/yum b/library/packaging/yum index 766ca16fbda..b7dd5029d49 100644 --- a/library/packaging/yum +++ b/library/packaging/yum @@ -99,6 +99,7 @@ EXAMPLES = ''' - yum: name=* state=latest - yum: name=http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm state=present - yum: name=/usr/local/src/nginx-release-centos-6-0.el6.ngx.noarch.rpm state=present +- yum: name="@Development tools" state=present ''' def_qf = "%{name}-%{version}-%{release}.%{arch}"