[pve-devel] [PATCH manager] fix #1430: ceph init: allow to specify separate cluster network

Tim Marx t.marx at proxmox.com
Tue Nov 27 10:39:47 CET 2018


> Thomas Lamprecht <t.lamprecht at proxmox.com> hat am 26. November 2018 um 19:02 geschrieben:
> 
> 
> On 11/19/18 1:14 PM, Thomas Lamprecht wrote:
> > Allow to specify a separate cluster network when initializing ceph.
> > Ceph docs[0] imply a possibility for performance increase and
> > enhanced security in environments where the public network serves not
> > fully trusted peers, which could else provoke a DOS to the cluster
> > traffic[0].
> > 
> > Make this optional, but if passed `network` is required too.
> > 
> > [0]: http://docs.ceph.com/docs/luminous/rados/configuration/network-config-ref/
> > 
> > Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
> > ---
> >  PVE/API2/Ceph.pm | 12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> > 
> > diff --git a/PVE/API2/Ceph.pm b/PVE/API2/Ceph.pm
> > index 8584cb51..6699607e 100644
> > --- a/PVE/API2/Ceph.pm
> > +++ b/PVE/API2/Ceph.pm
> > @@ -830,6 +830,14 @@ __PACKAGE__->register_method ({
> >  		optional => 1,
> >  		maxLength => 128,
> >  	    },
> > +	    'cluster-network' => {
> > +		description => "Use specific network for ceph cluster traffic. ".
> > +		    "If this is set, the `network` parameter is required and denotes public traffic.",

Maybe a hint would encourage some people to use it. Now we have two almost identical descriptions for network & cluster-network. Anybody reading this has to know the difference between "all ceph related traffic" and "ceph cluster traffic" to get the meaning.
You could write something like:
"Declare a separate cluster network, OSDs will route heartbeat, object replication and recovery traffic over it."
If you mention the security aspect as described in the ceph docs, it would be even better IMO, but maybe too long for an API description.
What do you think?




> > +		type => 'string', format => 'CIDR',
> > +		requires => 'network',
> > +		optional => 1,
> > +		maxLength => 128,
> > +	    },
> >  	    size => {
> >  		description => 'Targeted number of replicas per object',
> >  		type => 'integer',
> > @@ -921,6 +929,10 @@ __PACKAGE__->register_method ({
> >  	    $cfg->{global}->{'cluster network'} = $param->{network};
> >  	}
> >  
> > +	if ($param->{'cluster-network'}) {
> > +	    $cfg->{global}->{'cluster network'} = $param->{'cluster-network'};
> > +	}
> > +
> >  	PVE::CephTools::write_ceph_config($cfg);
> >  
> >  	PVE::CephTools::setup_pve_symlinks();
> > 
> 
> any comments here?
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel




More information about the pve-devel mailing list