with the recent refactoring, external clusters were not handled correctly with librd if a pveceph or storage specific ceph config exists.
change the behaviour to include the pveceph config file only for pveceph managed clusters, and a storage specific one only for external ones. set mon_host correctly using the values from storage.cfg for external librbd clusters. Signed-off-by: Fabian Grünbichler <[email protected]> --- PVE/Storage/RBDPlugin.pm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/PVE/Storage/RBDPlugin.pm b/PVE/Storage/RBDPlugin.pm index f695548..15cbe67 100644 --- a/PVE/Storage/RBDPlugin.pm +++ b/PVE/Storage/RBDPlugin.pm @@ -47,7 +47,7 @@ my $ceph_connect_option = sub { my $keyring = "/etc/pve/priv/ceph/${storeid}.keyring"; my $pveceph_managed = !defined($scfg->{monhost}); - $cmd_option->{ceph_conf} = $pveceph_config if (-e $pveceph_config); + $cmd_option->{ceph_conf} = $pveceph_config if $pveceph_managed; if (-e $ceph_storeid_conf) { if ($pveceph_managed) { @@ -342,9 +342,8 @@ sub path { my $path = "rbd:$pool/$name"; - if ($cmd_option->{ceph_conf}) { - $path .= ":conf=$cmd_option->{ceph_conf}"; - } else { + $path .= ":conf=$cmd_option->{ceph_conf}" if $cmd_option->{ceph_conf}; + if (defined($scfg->{monhost})) { my $monhost = $hostlist->($scfg->{monhost}, ';'); $monhost =~ s/:/\\:/g; $path .= ":mon_host=$monhost"; -- 2.14.2 _______________________________________________ pve-devel mailing list [email protected] https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
