--- We always recommend putting ceph-internal communication into a separate cluster network. Yet pveceph init does not allow to specify one, leading to difficulties if one were to follow the setup guide on the wiki, which proceeds to create monitors after the ceph network was initialised. In case you never had to, changing the IP of a monitor is a huge PITA. Ideally I'd like to group cluster_network and public_network so that either both or neither have to be specified. Also I'd like this group to be mutually exclusive with the network param, with the whole construct still being optional. But I'm not sure if your cmdline builder can deliver that.
PVE/API2/Ceph.pm | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/PVE/API2/Ceph.pm b/PVE/API2/Ceph.pm index 7f709f55..6062e173 100644 --- a/PVE/API2/Ceph.pm +++ b/PVE/API2/Ceph.pm @@ -783,7 +783,22 @@ __PACKAGE__->register_method ({ properties => { node => get_standard_option('pve-node'), network => { - description => "Use specific network for all ceph related traffic", + description => "Use specific network for all ceph related traffic.\n" . + "Takes precedence over public_network and cluster_network.", + type => 'string', format => 'CIDR', + optional => 1, + maxLength => 128, + }, + public_network => { + description => "Use specific network for all ceph data traffic.\n" . + "Specify along with cluster_network.", + type => 'string', format => 'CIDR', + optional => 1, + maxLength => 128, + }, + cluster_network => { + description => "Use specific network for all internal ceph traffic.\n" . + "Specify along with public_network.", type => 'string', format => 'CIDR', optional => 1, maxLength => 128, @@ -877,6 +892,9 @@ __PACKAGE__->register_method ({ if ($param->{network}) { $cfg->{global}->{'public network'} = $param->{network}; $cfg->{global}->{'cluster network'} = $param->{network}; + } elsif ($param->{public_network} && $param->{cluster_network}) { + $cfg->{global}->{'public network'} = $param->{public_network}; + $cfg->{global}->{'cluster network'} = $param->{cluster_network}; } PVE::CephTools::write_ceph_config($cfg); -- 2.11.0 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel