From 04c7f83d76bb53f29810ade2f14403dedaf24c94 Mon Sep 17 00:00:00 2001 From: Wanlong Gao Date: Wed, 15 Jun 2016 11:00:57 +0800 Subject: [PATCH] [RM-16524] Add the --nogpgcheck option I met the deploy failure with local mirror and the official gpgkeys, the error is like: [node-1][WARNIN] Failing package is: 1:librbd1-0.94.6-0.el7.x86_64 [node-1][WARNIN] GPG Keys are configured as: file:///opt/ceph-deploy/repo/release.asc Anyway, I do not care the gpg keys but want to install successfully without gpgcheck. Signed-off-by: Wanlong Gao --- ceph_deploy/hosts/centos/install.py | 9 +++++++-- ceph_deploy/hosts/fedora/install.py | 5 ++++- ceph_deploy/hosts/rhel/install.py | 4 +++- ceph_deploy/hosts/suse/install.py | 4 +++- ceph_deploy/install.py | 11 +++++++++++ ceph_deploy/util/templates.py | 8 ++++---- 6 files changed, 32 insertions(+), 9 deletions(-) diff --git a/ceph_deploy/hosts/centos/install.py b/ceph_deploy/hosts/centos/install.py index 260a71c..8eb05a1 100644 --- a/ceph_deploy/hosts/centos/install.py +++ b/ceph_deploy/hosts/centos/install.py @@ -43,6 +43,8 @@ def install(distro, version_kind, version, adjust_repos, **kw): NON_SPLIT_PACKAGES, kw.pop('components', []) ) + + gpgcheck = kw.pop('gpgcheck', 1) logger = distro.conn.logger release = distro.release machine = distro.machine_type @@ -96,7 +98,8 @@ def install(distro, version_kind, version, adjust_repos, **kw): version=version), gpg.url(key), adjust_repos=True, - extra_installs=False + extra_installs=False, + gpgcheck=gpgcheck, ) else: @@ -117,6 +120,7 @@ def mirror_install(distro, repo_url, gpg_url, adjust_repos, extra_installs=True, kw.pop('components', []) ) repo_url = repo_url.strip('/') # Remove trailing slashes + gpgcheck = kw.pop('gpgcheck', 1) distro.packager.clean() @@ -125,7 +129,8 @@ def mirror_install(distro, repo_url, gpg_url, adjust_repos, extra_installs=True, ceph_repo_content = templates.ceph_repo.format( repo_url=repo_url, - gpg_url=gpg_url + gpg_url=gpg_url, + gpgcheck=gpgcheck, ) distro.conn.remote_module.write_yum_repo(ceph_repo_content) diff --git a/ceph_deploy/hosts/fedora/install.py b/ceph_deploy/hosts/fedora/install.py index 11ce688..b2806f4 100644 --- a/ceph_deploy/hosts/fedora/install.py +++ b/ceph_deploy/hosts/fedora/install.py @@ -12,6 +12,8 @@ def install(distro, version_kind, version, adjust_repos, **kw): NON_SPLIT_PACKAGES, kw.pop('components', []) ) + gpgcheck = kw.pop('gpgcheck', 1) + logger = distro.conn.logger release = distro.release machine = distro.machine_type @@ -73,7 +75,8 @@ def install(distro, version_kind, version, adjust_repos, **kw): version=version), gpg.url(key), adjust_repos=True, - extra_installs=False + extra_installs=False, + gpgcheck=gpgcheck, ) else: diff --git a/ceph_deploy/hosts/rhel/install.py b/ceph_deploy/hosts/rhel/install.py index 8c3c9d9..bf44a03 100644 --- a/ceph_deploy/hosts/rhel/install.py +++ b/ceph_deploy/hosts/rhel/install.py @@ -11,6 +11,7 @@ def mirror_install(distro, repo_url, gpg_url, adjust_repos, extra_installs=True, **kw): packages = kw.get('components', []) repo_url = repo_url.strip('/') # Remove trailing slashes + gpgcheck = kw.pop('gpgcheck', 1) distro.packager.clean() @@ -19,7 +20,8 @@ def mirror_install(distro, repo_url, ceph_repo_content = templates.ceph_repo.format( repo_url=repo_url, - gpg_url=gpg_url + gpg_url=gpg_url, + gpgcheck=gpgcheck, ) distro.conn.remote_module.write_yum_repo(ceph_repo_content) diff --git a/ceph_deploy/hosts/suse/install.py b/ceph_deploy/hosts/suse/install.py index db97071..7a23f38 100644 --- a/ceph_deploy/hosts/suse/install.py +++ b/ceph_deploy/hosts/suse/install.py @@ -27,6 +27,7 @@ def mirror_install(distro, repo_url, gpg_url, adjust_repos, **kw): ) repo_url = repo_url.strip('/') # Remove trailing slashes gpg_url_path = gpg_url.split('file://')[-1] # Remove file if present + gpgcheck = kw.pop('gpgcheck', 1) if adjust_repos: remoto.process.run( @@ -40,7 +41,8 @@ def mirror_install(distro, repo_url, gpg_url, adjust_repos, **kw): ceph_repo_content = templates.zypper_repo.format( repo_url=repo_url, - gpg_url=gpg_url + gpg_url=gpg_url, + gpgcheck=gpgcheck, ) distro.conn.remote_module.write_file( '/etc/zypp/repos.d/ceph.repo', diff --git a/ceph_deploy/install.py b/ceph_deploy/install.py index bd4df20..66ffe7d 100644 --- a/ceph_deploy/install.py +++ b/ceph_deploy/install.py @@ -85,6 +85,9 @@ def install(args): if args.repo: return install_repo(args) + if args.nogpgcheck: + gpgcheck = 0 + if args.version_kind == 'stable': version = args.release else: @@ -171,6 +174,7 @@ def install(args): gpg_url, args.adjust_repos, components=components, + gpgcheck=gpgcheck, ) # Detect and install custom repos here if needed @@ -185,6 +189,7 @@ def install(args): version, args.adjust_repos, components=components, + gpgcheck = gpgcheck, ) # Check the ceph version we just installed @@ -584,6 +589,12 @@ def make(parser): (defaults to ceph.com)' ) + parser.add_argument( + '--nogpgcheck', + action='store_true', + help='install packages without gpgcheck', + ) + parser.set_defaults( func=install, ) diff --git a/ceph_deploy/util/templates.py b/ceph_deploy/util/templates.py index 932123a..b54f7ac 100644 --- a/ceph_deploy/util/templates.py +++ b/ceph_deploy/util/templates.py @@ -4,7 +4,7 @@ ceph_repo = """[ceph] name=Ceph packages for $basearch baseurl={repo_url}/$basearch enabled=1 -gpgcheck=1 +gpgcheck={gpgcheck} priority=1 type=rpm-md gpgkey={gpg_url} @@ -13,7 +13,7 @@ gpgkey={gpg_url} name=Ceph noarch packages baseurl={repo_url}/noarch enabled=1 -gpgcheck=1 +gpgcheck={gpgcheck} priority=1 type=rpm-md gpgkey={gpg_url} @@ -22,7 +22,7 @@ gpgkey={gpg_url} name=Ceph source packages baseurl={repo_url}/SRPMS enabled=0 -gpgcheck=1 +gpgcheck={gpgcheck} type=rpm-md gpgkey={gpg_url} """ @@ -31,7 +31,7 @@ zypper_repo = """[ceph] name=Ceph packages type=rpm-md baseurl={repo_url} -gpgcheck=1 +gpgcheck={gpgcheck} gpgkey={gpg_url} enabled=1 """ -- 2.47.3