]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-deploy.git/commitdiff
install: add support for --dev-commit <sha1> 348/head
authorSage Weil <sage@redhat.com>
Sat, 29 Aug 2015 14:27:00 +0000 (10:27 -0400)
committerSage Weil <sage@redhat.com>
Sat, 29 Aug 2015 14:27:00 +0000 (10:27 -0400)
Adjusted centos, debian, fedora.

suse and rhel don't seem to pay attention to version_kind... :/

Signed-off-by: Sage Weil <sage@redhat.com>
ceph_deploy/hosts/centos/install.py
ceph_deploy/hosts/debian/install.py
ceph_deploy/hosts/fedora/install.py
ceph_deploy/install.py

index dca9998640147c1c83118a095c8901502695b691..868858e6473a7a08c59e305d0a16c6a11610ffc1 100644 (file)
@@ -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'])
index 5eb538f132c73eca336d970e1bf817af19f572a5..0547f1c15de090b4af3d8a4017e648ef8fe4e233 100644 (file)
@@ -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:
index 6fb5d7ac1ab91adce66687f3ab998d025d2021c7..c2a8690c622ee8ef23227e77c4062dc1d7d567e6 100644 (file)
@@ -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
     )
index 9115c85405001ea2956bffdcab28a2d582f64493..fafb2f17e7e35711199c2e87a016527505aa9d1b 100644 (file)
@@ -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