summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Cammarata <jimi@sngx.net>2013-09-11 16:47:58 -0500
committerJames Cammarata <jimi@sngx.net>2013-09-11 16:47:58 -0500
commitd2bf244eb88b710aac85d1d08973ea04219075ff (patch)
tree4a159d561cf5be9d7a6e42027e17d1736918979d
parent5110b2d4405c236f4f79ef47132d3966d23ca6dc (diff)
parent4d2c2a262a4789f2ab672baad29d08d252e11b7d (diff)
downloadansible-d2bf244eb88b710aac85d1d08973ea04219075ff.tar.gz
Merge branch 'fix_changed_for_yum_group' of https://github.com/hnakamur/ansible into hnakamur-fix_changed_for_yum_group
-rw-r--r--library/packaging/yum16
1 files changed, 13 insertions, 3 deletions
diff --git a/library/packaging/yum b/library/packaging/yum
index d34b20b066..b7dd5029d4 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}"
@@ -109,6 +110,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 +471,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 +625,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: