]> git-server-git.apps.pok.os.sepia.ceph.com Git - teuthology.git/commitdiff
install: Fix non-idempotent check_obsoletes tweak 821/head
authorZack Cerza <zack@redhat.com>
Wed, 16 Mar 2016 18:13:25 +0000 (12:13 -0600)
committerZack Cerza <zack@redhat.com>
Wed, 16 Mar 2016 18:13:25 +0000 (12:13 -0600)
Signed-off-by: Zack Cerza <zack@redhat.com>
teuthology/task/install.py

index 008f1f4d99f42b53e153d75266dde632d0651ba6..a8661ba5b632054018d766762dd14b95a84b2c97 100644 (file)
@@ -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):