]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-deploy.git/commitdiff
[RM-12553] RPM: write out repo file
authorTravis Rhoden <trhoden@redhat.com>
Tue, 4 Aug 2015 05:02:31 +0000 (22:02 -0700)
committerTravis Rhoden <trhoden@redhat.com>
Tue, 4 Aug 2015 19:13:22 +0000 (12:13 -0700)
Refs: #12553

Signed-off-by: Travis Rhoden <trhoden@redhat.com>
ceph_deploy/util/pkg_managers.py

index 03eb44091ddb785165a680f6f6c2286c44aa8f99..9c69866354cc632586aa22c959a6290f3813b374 100644 (file)
@@ -1,6 +1,7 @@
 import os
 
 from ceph_deploy.lib import remoto
+from ceph_deploy.util import templates
 
 
 def apt(conn, packages, *a, **kw):
@@ -272,6 +273,33 @@ class RPMManagerBase(PackageManager):
         gpg_url = kw.pop('gpg_url', None)
         if gpg_url:
             self.add_repo_gpg_key(gpg_url)
+            gpgcheck=1
+        else:
+            gpgcheck=0
+
+        # RPM repo defaults
+        description = kw.pop('description', '%s repo' % name)
+        enabled = kw.pop('enabled', 1)
+        proxy = kw.pop('proxy', '') # will get ignored if empty
+        _type = 'repo-md'
+        baseurl = url.strip('/')  # Remove trailing slashes
+
+        ceph_repo_content = templates.custom_repo(
+            reponame=name,
+            name=description,
+            baseurl=baseurl,
+            enabled=enabled,
+            gpgcheck=gpgcheck,
+            _type=_type,
+            gpgkey=gpg_url,
+            proxy=proxy,
+            **kw
+        )
+
+        self.remote_conn.remote_module.write_yum_repo(
+            ceph_repo_content,
+            '%s.repo' % name
+        )
 
     def remove_repo(self, name):
         filename = os.path.join(