]> git-server-git.apps.pok.os.sepia.ceph.com Git - teuthology.git/commitdiff
install: use --capability with zypper {install,remove} 953/head
authorNathan Cutler <ncutler@suse.com>
Thu, 8 Sep 2016 11:00:35 +0000 (13:00 +0200)
committerRicardo Dias <rdias@suse.com>
Fri, 23 Sep 2016 09:39:56 +0000 (10:39 +0100)
Otherwise we pick up python-ceph 0.80.9 from the distro repo instead of
a newer python-ceph-compat from the test repo.

References: https://bugzilla.opensuse.org/show_bug.cgi?id=997751
Signed-off-by: Nathan Cutler <ncutler@suse.com>
teuthology/task/install.py

index 247bb8b607b184f45abc0cbea681e1ec54c37920..b02fef838e2ba66bc9c2d077a7b744ccbc96d384 100644 (file)
@@ -235,7 +235,9 @@ def _update_rpm_package_list_and_install(ctx, remote, rpm, config):
     base_url = "{start_of_url}/noarch/{rpm_name}".format(
         start_of_url=start_of_url, rpm_name=rpm_name)
     if dist_release == 'opensuse':
-        remote.run(args=['sudo', 'zypper', '-n', 'install', base_url])
+        remote.run(args=[
+            'sudo', 'zypper', '-n', 'install', '--capability', rpm_name
+        ])
     else:
         remote.run(args=['sudo', 'yum', '-y', 'install', base_url])
 
@@ -261,9 +263,11 @@ def _update_rpm_package_list_and_install(ctx, remote, rpm, config):
     if dist_release == 'opensuse':
         pkg_mng_cmd = 'zypper'
         pkg_mng_opts = '-n'
+        pkg_mng_subcommand_opts = '--capability'
     else:
         pkg_mng_cmd = 'yum'
         pkg_mng_opts = '-y'
+        pkg_mng_subcommand_opts = ''
 
     for cpack in rpm:
         pkg = None
@@ -275,18 +279,24 @@ def _update_rpm_package_list_and_install(ctx, remote, rpm, config):
             remote.run(
                 args = ['if', 'test', '-e',
                         run.Raw(pkg), run.Raw(';'), 'then',
-                        'sudo', pkg_mng_cmd, pkg_mng_opts, 'remove', pkg, run.Raw(';'),
-                        'sudo', pkg_mng_cmd, pkg_mng_opts, 'install', pkg,
-                        run.Raw(';'), 'fi']
+                        'sudo', pkg_mng_cmd, pkg_mng_opts, 'remove', 
+                        pkg_mng_subcommand_opts, pkg, run.Raw(';'),
+                        'sudo', pkg_mng_cmd, pkg_mng_opts, 'install', 
+                        pkg_mng_subcommand_opts, pkg, run.Raw(';'),
+                        'fi']
             )
         if pkg is None:
-            remote.run(args=['sudo', pkg_mng_cmd, pkg_mng_opts, 'install', cpack])
+            remote.run(args=[
+                'sudo', pkg_mng_cmd, pkg_mng_opts, 'install', 
+                pkg_mng_subcommand_opts, cpack
+            ])
         else:
             remote.run(
                 args = ['if', 'test', run.Raw('!'), '-e',
                         run.Raw(pkg), run.Raw(';'), 'then',
-                        'sudo', pkg_mng_cmd, pkg_mng_opts, 'install', cpack,
-                        run.Raw(';'), 'fi'])
+                        'sudo', pkg_mng_cmd, pkg_mng_opts, 'install', 
+                        pkg_mng_subcommand_opts, cpack, run.Raw(';'), 
+                        'fi'])
 
 
 def verify_package_version(ctx, config, remote):
@@ -460,9 +470,11 @@ def _remove_rpm(ctx, config, remote, rpm):
     if dist_release == 'opensuse':
         pkg_mng_cmd = 'zypper'
         pkg_mng_opts = '-n'
+        pkg_mng_subcommand_opts = '--capability'
     else:
         pkg_mng_cmd = 'yum'
         pkg_mng_opts = '-y'
+        pkg_mng_subcommand_opts = ''
 
     remote.run(
         args=[
@@ -470,11 +482,9 @@ def _remove_rpm(ctx, config, remote, rpm):
         ] + rpm + [
             run.Raw(';'),
             'do',
-            'sudo', pkg_mng_cmd, pkg_mng_opts, 'remove',
-            run.Raw('$d'),
-            run.Raw('||'),
-            'true',
-            run.Raw(';'),
+            'sudo', 
+            pkg_mng_cmd, pkg_mng_opts, 'remove', pkg_mng_subcommand_opts,
+            run.Raw('$d'), run.Raw('||'), 'true', run.Raw(';'),
             'done',
         ])
     if dist_release == 'opensuse':
@@ -933,9 +943,11 @@ def _upgrade_rpm_packages(ctx, config, remote, pkgs):
     # Actually upgrade the project packages
     if gitbuilder.dist_release == 'opensuse':
         pkg_mng_opts = '-n'
+        pkg_mng_subcommand_opts = '--capability'
     else:
         pkg_mng_opts = '-y'
-    args = ['sudo', pkg_mng_cmd, pkg_mng_opts, 'install']
+        pkg_mng_subcommand_opts = ''
+    args = ['sudo', pkg_mng_cmd, pkg_mng_opts, 'install', pkg_mng_subcommand_opts]
     args += pkgs
     remote.run(args=args)