[pve-devel] applied: [PATCH manager 1/2] ceph: do not check ips if no network is configured

Thomas Lamprecht t.lamprecht at proxmox.com
Wed Mar 4 15:38:42 CET 2020


On 2/24/20 12:01 PM, Dominik Csapak wrote:
> the network and the cluster network are optional in the ceph config
> and with 'pveceph init', so only check if we have an ip address
> from those networks if it is actually configured
> 
> otherwise, the createosd call dies with an 'ip' error message
> even if it would work
> 
> Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
> ---
>  PVE/API2/Ceph/OSD.pm | 16 +++++++++-------
>  1 file changed, 9 insertions(+), 7 deletions(-)
> 
> diff --git a/PVE/API2/Ceph/OSD.pm b/PVE/API2/Ceph/OSD.pm
> index e1b0d807..a514c502 100644
> --- a/PVE/API2/Ceph/OSD.pm
> +++ b/PVE/API2/Ceph/OSD.pm
> @@ -284,13 +284,15 @@ __PACKAGE__->register_method ({
>  	my $osd_network = $ceph_conf->{global}->{cluster_network};
>  	$osd_network //= $ceph_conf->{global}->{public_network}; # fallback
>  
> -	my $cluster_net_ips = PVE::Network::get_local_ip_from_cidr($osd_network);
> -	if (scalar(@$cluster_net_ips) < 1) {
> -	    my $osd_net_obj = PVE::Network::IP_from_cidr($osd_network);
> -	    my $osd_base_cidr = $osd_net_obj->{ip} . "/" . $osd_net_obj->{prefixlen};
> -
> -	    die "No address from ceph cluster network (${osd_base_cidr}) found on node '$nodename'. ".
> -		"Check your network config.\n";
> +	if ($osd_network) { # check only if something is configured
> +	    my $cluster_net_ips = PVE::Network::get_local_ip_from_cidr($osd_network);
> +	    if (scalar(@$cluster_net_ips) < 1) {
> +		my $osd_net_obj = PVE::Network::IP_from_cidr($osd_network);
> +		my $osd_base_cidr = $osd_net_obj->{ip} . "/" . $osd_net_obj->{prefixlen};
> +
> +		die "No address from ceph cluster network (${osd_base_cidr}) found on node '$nodename'. ".
> +		    "Check your network config.\n";
> +	    }
>  	}
>  
>  	# FIXME: rename params on next API compatibillity change (7.0)
> 

applied, thanks!




More information about the pve-devel mailing list