[pve-devel] [PATCH pve-manager 3/3] add check if ceph-mgr is installed in create/destroymgr
Alwin Antreich
a.antreich at proxmox.com
Mon Aug 14 09:36:13 CEST 2017
adding manager instances is only needed for upgrading PVE 4 to PVE 5
Signed-off-by: Alwin Antreich <a.antreich at proxmox.com>
---
PVE/API2/Ceph.pm | 4 ++++
PVE/CephTools.pm | 12 ++++++++++++
2 files changed, 16 insertions(+)
diff --git a/PVE/API2/Ceph.pm b/PVE/API2/Ceph.pm
index 11035e5b..6650f5ce 100644
--- a/PVE/API2/Ceph.pm
+++ b/PVE/API2/Ceph.pm
@@ -1122,6 +1122,8 @@ __PACKAGE__->register_method ({
code => sub {
my ($param) = @_;
+ PVE::CephTools::check_ceph_mgr_installed();
+
PVE::CephTools::check_ceph_inited();
my $rpcenv = PVE::RPCEnvironment::get();
@@ -1170,6 +1172,8 @@ __PACKAGE__->register_method ({
my $authuser = $rpcenv->get_user();
+ PVE::CephTools::check_ceph_mgr_installed();
+
PVE::CephTools::check_ceph_inited();
my $mgrid = $param->{id};
diff --git a/PVE/CephTools.pm b/PVE/CephTools.pm
index 0c0d7c18..6f796374 100644
--- a/PVE/CephTools.pm
+++ b/PVE/CephTools.pm
@@ -21,6 +21,7 @@ my $ceph_bootstrap_osd_keyring = "/var/lib/ceph/bootstrap-osd/$ccname.keyring";
my $ceph_bootstrap_mds_keyring = "/var/lib/ceph/bootstrap-mds/$ccname.keyring";
my $ceph_bin = "/usr/bin/ceph";
+my $ceph_mgr_bin = "/usr/bin/ceph-mgr";
my $config_hash = {
ccname => $ccname,
@@ -70,6 +71,17 @@ sub check_ceph_installed {
return 1;
}
+sub check_ceph_mgr_installed {
+ my ($noerr) = @_;
+
+ if (! -x $ceph_mgr_bin) {
+ die "ceph-mgr binaries not installed\n" if !$noerr;
+ return undef;
+ }
+
+ return 1;
+}
+
sub check_ceph_inited {
my ($noerr) = @_;
--
2.11.0
More information about the pve-devel
mailing list