From: Travis Rhoden Date: Tue, 4 Aug 2015 05:03:24 +0000 (-0700) Subject: [RM-12553] Call add_repo() to create repo file X-Git-Tag: v1.5.27~4^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3d30d9e860b7981459d975d4abdab97ee01dbe50;p=ceph-deploy.git [RM-12553] Call add_repo() to create repo file Refs: #12553 Signed-off-by: Travis Rhoden --- diff --git a/ceph_deploy/repo.py b/ceph_deploy/repo.py index adb00e9..f40806a 100644 --- a/ceph_deploy/repo.py +++ b/ceph_deploy/repo.py @@ -7,6 +7,47 @@ from ceph_deploy.cliutil import priority LOG = logging.getLogger(__name__) +def install_repo(distro, args, cd_conf, rlogger): + if args.repo_name in cd_conf.get_repos(): + LOG.info('will use repository %s from ceph-deploy config', args.repo_name) + options = dict(cd_conf.items(args.repo_name)) + extra_repos = cd_conf.get_list(args.repo_name, 'extra-repos') + try: + repo_url = options.pop('baseurl') + gpg_url = options.pop('gpgkey', None) + except KeyError as err: + raise RuntimeError( + 'missing required key: %s in config section: %s' % (err, args.repo_name) + ) + else: + repo_url = args.repo_url + gpg_url = args.gpg_url + extra_repos = [] + + repo_url = repo_url.strip('/') # Remove trailing slashes + distro.packager.add_repo( + args.repo_name, + repo_url, + gpg_url=gpg_url + ) + + for xrepo in extra_repos: + rlogger.info('adding extra repo: %s' % xrepo) + options = dict(cd_conf.items(xrepo)) + try: + repo_url = options.pop('baseurl') + gpg_url = options.pop('gpgkey', None) + except KeyError as err: + raise RuntimeError( + 'missing required key: %s in config section: %s' % (err, xrepo) + ) + distro.packager.add_repo( + args.repo_name, + repo_url, + gpg_url=gpg_url + ) + + def repo(args): cd_conf = getattr(args, 'cd_conf', None) @@ -27,7 +68,8 @@ def repo(args): if args.remove: distro.packager.remove_repo(args.repo_name) - + else: + install_repo(distro, args, cd_conf, rlogger) @priority(70)