From: Zack Cerza Date: Wed, 16 Mar 2016 18:13:25 +0000 (-0600) Subject: install: Fix non-idempotent check_obsoletes tweak X-Git-Tag: 1.1.0~645^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F821%2Fhead;p=teuthology.git install: Fix non-idempotent check_obsoletes tweak Signed-off-by: Zack Cerza --- diff --git a/teuthology/task/install.py b/teuthology/task/install.py index 008f1f4d9..a8661ba5b 100644 --- a/teuthology/task/install.py +++ b/teuthology/task/install.py @@ -162,9 +162,18 @@ def _yum_set_check_obsoletes(remote): """ conf_path = '/etc/yum/pluginconf.d/priorities.conf' conf_path_orig = conf_path + '.orig' - remote.run(args=['sudo', 'cp', '-af', conf_path, conf_path_orig]) - remote.run(args=['echo', 'check_obsoletes = 1', run.Raw('|'), - 'sudo', 'tee', '-a', conf_path]) + cmd = [ + 'test', '-e', conf_path_orig, run.Raw('||'), 'sudo', 'cp', '-af', + conf_path, conf_path_orig, + ] + remote.run(args=cmd) + cmd = [ + 'grep', 'check_obsoletes', conf_path, run.Raw('&&'), 'sudo', 'sed', + '-i', 's/check_obsoletes.*0/check_obsoletes = 1/g', conf_path, + run.Raw('||'), 'echo', 'check_obsoletes = 1', run.Raw('|'), 'sudo', + 'tee', '-a', conf_path, + ] + remote.run(args=cmd) def _yum_unset_check_obsoletes(remote):