]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph: pass package version to apt-get install
authorSage Weil <sage@inktank.com>
Sun, 17 Feb 2013 05:31:50 +0000 (21:31 -0800)
committerSage Weil <sage@inktank.com>
Mon, 18 Feb 2013 21:39:05 +0000 (13:39 -0800)
This avoids problems when a different or newer version of the package is
already installed.

Signed-off-by: Sage Weil <sage@inktank.com>
teuthology/task/ceph.py

index 596c91c36e8c7b0deddb3521b18309122bed8c54..9d53f589f29e38369fa6dbcf101f2a313da0a309 100644 (file)
@@ -202,6 +202,17 @@ def _update_deb_package_list_and_install(remote, debs, branch):
     out = r.stdout.getvalue().strip()
     log.info("release type:" + out)
 
+    # get package version string
+    r = remote.run(
+        args=[
+            'wget', '-q', '-O-',
+            'http://gitbuilder.ceph.com/ceph-deb-' + out + '-x86_64-basic/ref/' + branch + '/version',
+            ],
+        stdout=StringIO(),
+        )
+    version = r.stdout.getvalue().strip()
+    log.info('package version is %s', version)
+
     remote.run(
         args=[
             'echo', 'deb',
@@ -216,7 +227,7 @@ def _update_deb_package_list_and_install(remote, debs, branch):
             'sudo', 'apt-get', 'update', run.Raw('&&'),
             'sudo', 'apt-get', '-y', '--force-yes',
             'install',
-            ] + debs,
+            ] + ['%s=%s' % (d, version) for d in debs],
         stdout=StringIO(),
         )