From 0a5679be253077f5726b75b69df20e26dcb54066 Mon Sep 17 00:00:00 2001 From: Zack Cerza Date: Wed, 16 Mar 2016 12:13:25 -0600 Subject: [PATCH] install: Fix non-idempotent check_obsoletes tweak Signed-off-by: Zack Cerza --- teuthology/task/install.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/teuthology/task/install.py b/teuthology/task/install.py index 008f1f4d..a8661ba5 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): -- 2.47.3