From: Alfredo Deza Date: Mon, 29 Jul 2013 19:28:48 +0000 (-0400) Subject: debian install fully converted X-Git-Tag: v1.2~16^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a0895b2215c08b44ade5f2431a6c6248e2a8407e;p=ceph-deploy.git debian install fully converted Signed-off-by: Alfredo Deza --- diff --git a/ceph_deploy/hosts/debian/install.py b/ceph_deploy/hosts/debian/install.py index 724cdb7..5c69258 100644 --- a/ceph_deploy/hosts/debian/install.py +++ b/ceph_deploy/hosts/debian/install.py @@ -1,18 +1,22 @@ +from ceph_deploy.util.wrappers import check_call +from ceph_deploy.util.context import remote -def install(release, codename, version_kind, version): - import platform - import subprocess +def install(distro, logger, version_kind, version): + codename = distro.codename + machine = distro.sudo_conn.modules.platform.machine() if version_kind in ['stable', 'testing']: key = 'release' else: key = 'autobuild' - subprocess.check_call( - args='wget -q -O- \'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/{key}.asc\' | apt-key add -'.format(key=key), + check_call( + distro.sudo_conn, + logger, + ['wget -q -O- \'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/{key}.asc\' | apt-key add -'.format(key=key)], shell=True, - ) + ) if version_kind == 'stable': url = 'http://ceph.com/debian-{version}/'.format( @@ -23,29 +27,34 @@ def install(release, codename, version_kind, version): elif version_kind == 'dev': url = 'http://gitbuilder.ceph.com/ceph-deb-{codename}-{machine}-basic/ref/{version}'.format( codename=codename, - machine=platform.machine(), + machine=machine, version=version, ) else: raise RuntimeError('Unknown version kind: %r' % version_kind) - with file('/etc/apt/sources.list.d/ceph.list', 'w') as f: - f.write('deb {url} {codename} main\n'.format( - url=url, - codename=codename, - )) + def write_sources_list(url, codename): + """add ceph deb repo to sources.list""" + with file('/etc/apt/sources.list.d/ceph.list', 'w') as f: + f.write('deb {url} {codename} main\n'.format( + url=url, + codename=codename, + )) - subprocess.check_call( - args=[ - 'apt-get', - '-q', - 'update', - ], + with remote(distro.sudo_conn, logger, write_sources_list) as remote_func: + remote_func(url, codename) + + check_call( + distro.sudo_conn, + logger, + ['apt-get', '-q', 'update'], ) # TODO this does not downgrade -- should it? - subprocess.check_call( - args=[ + check_call( + distro.sudo_conn, + logger, + [ 'env', 'DEBIAN_FRONTEND=noninteractive', 'DEBIAN_PRIORITY=critical',