From: Sage Weil Date: Sat, 29 Aug 2015 14:27:00 +0000 (-0400) Subject: install: add support for --dev-commit X-Git-Tag: v1.5.29~19^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F348%2Fhead;p=ceph-deploy.git install: add support for --dev-commit Adjusted centos, debian, fedora. suse and rhel don't seem to pay attention to version_kind... :/ Signed-off-by: Sage Weil --- diff --git a/ceph_deploy/hosts/centos/install.py b/ceph_deploy/hosts/centos/install.py index dca9998..868858e 100644 --- a/ceph_deploy/hosts/centos/install.py +++ b/ceph_deploy/hosts/centos/install.py @@ -63,7 +63,7 @@ def install(distro, version_kind, version, adjust_repos, **kw): key = 'autobuild' if adjust_repos: - if version_kind != 'dev': + if version_kind in ['stable', 'testing']: distro.packager.add_repo_gpg_key(gpg.url(key)) if version_kind == 'stable': @@ -84,20 +84,24 @@ def install(distro, version_kind, version, adjust_repos, **kw): ], ) - if version_kind == 'dev': + elif version_kind in ['dev', 'dev_commit']: logger.info('skipping install of ceph-release package') logger.info('repo file will be created manually') mirror_install( distro, - 'http://gitbuilder.ceph.com/ceph-rpm-centos{release}-{machine}-basic/ref/{version}/'.format( + 'http://gitbuilder.ceph.com/ceph-rpm-centos{release}-{machine}-basic/{sub}/{version}/'.format( release=release.split(".", 1)[0], machine=machine, + sub='ref' if version_kind == 'dev' else 'sha1', version=version), gpg.url(key), adjust_repos=True, extra_installs=False ) + else: + raise Exception('unrecognized version_kind %s' % version_kind) + # set the right priority logger.warning('ensuring that /etc/yum.repos.d/ceph.repo contains a high priority') distro.conn.remote_module.set_repo_priority(['Ceph', 'Ceph-noarch', 'ceph-source']) diff --git a/ceph_deploy/hosts/debian/install.py b/ceph_deploy/hosts/debian/install.py index 5eb538f..0547f1c 100644 --- a/ceph_deploy/hosts/debian/install.py +++ b/ceph_deploy/hosts/debian/install.py @@ -35,10 +35,11 @@ def install(distro, version_kind, version, adjust_repos, **kw): ) elif version_kind == 'testing': url = 'http://ceph.com/debian-testing/' - elif version_kind == 'dev': - url = 'http://gitbuilder.ceph.com/ceph-deb-{codename}-{machine}-basic/ref/{version}'.format( + elif version_kind in ['dev', 'dev_commit']: + url = 'http://gitbuilder.ceph.com/ceph-deb-{codename}-{machine}-basic/{sub}/{version}'.format( codename=codename, machine=machine, + sub='ref' if version_kind == 'dev' else 'sha1', version=version, ) else: diff --git a/ceph_deploy/hosts/fedora/install.py b/ceph_deploy/hosts/fedora/install.py index 6fb5d7a..c2a8690 100644 --- a/ceph_deploy/hosts/fedora/install.py +++ b/ceph_deploy/hosts/fedora/install.py @@ -28,7 +28,7 @@ def install(distro, version_kind, version, adjust_repos, **kw): distro.conn.remote_module.enable_yum_priority_obsoletes() logger.warning('check_obsoletes has been enabled for Yum priorities plugin') - if version_kind != 'dev': + if version_kind in ['stable', 'testing']: distro.packager.add_repo_gpg_key(gpg.url(key)) if version_kind == 'stable': @@ -61,20 +61,24 @@ def install(distro, version_kind, version, adjust_repos, **kw): distro.conn.remote_module.set_repo_priority(['Ceph', 'Ceph-noarch', 'ceph-source']) logger.warning('altered ceph.repo priorities to contain: priority=1') - if version_kind == 'dev': + elif version_kind in ['dev', 'dev_commit']: logger.info('skipping install of ceph-release package') logger.info('repo file will be created manually') mirror_install( distro, - 'http://gitbuilder.ceph.com/ceph-rpm-fc{release}-{machine}-basic/ref/{version}/'.format( + 'http://gitbuilder.ceph.com/ceph-rpm-fc{release}-{machine}-basic/{sub}/{version}/'.format( release=release.split(".", 1)[0], machine=machine, + sub='ref' if version_kind == 'dev' else 'sha1', version=version), gpg.url(key), adjust_repos=True, extra_installs=False ) + else: + raise Exception('unrecognized version_kind %s' % version_kind) + distro.packager.install( packages ) diff --git a/ceph_deploy/install.py b/ceph_deploy/install.py index 9115c85..fafb2f1 100644 --- a/ceph_deploy/install.py +++ b/ceph_deploy/install.py @@ -478,6 +478,13 @@ def make(parser): help='install a bleeding edge build from Git branch\ or tag (default: %(default)s)', ) + version.add_argument( + '--dev-commit', + nargs='?', + action=StoreVersion, + metavar='COMMIT', + help='install a bleeding edge build from Git commit', + ) version.set_defaults( stable=None, # XXX deprecated in favor of release