[pve-devel] [PATCH storage 2/3] CephConfig: refactor host port parsing

Dominik Csapak d.csapak at proxmox.com
Thu Jun 27 10:43:11 CEST 2019


Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
 PVE/CephConfig.pm | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/PVE/CephConfig.pm b/PVE/CephConfig.pm
index 3ff49ee..31bb887 100644
--- a/PVE/CephConfig.pm
+++ b/PVE/CephConfig.pm
@@ -100,6 +100,17 @@ my $ceph_get_key = sub {
     return $secret;
 };
 
+my $get_host = sub {
+    my ($hostport) = @_;
+    my ($host, $port) = PVE::Tools::parse_host_and_port($hostport);
+    if (!defined($host)) {
+	return "";
+    }
+    $port = defined($port) ? ":$port" : '';
+    $host = "[$host]" if Net::IP::ip_is_ipv6($host);
+    return "${host}${port}";
+};
+
 sub get_monaddr_list {
     my ($configfile) = shift;
 
@@ -119,12 +130,7 @@ sub hostlist {
     my ($list_text, $separator) = @_;
 
     my @monhostlist = PVE::Tools::split_list($list_text);
-    return join($separator, map {
-	my ($host, $port) = PVE::Tools::parse_host_and_port($_);
-	$port = defined($port) ? ":$port" : '';
-	$host = "[$host]" if Net::IP::ip_is_ipv6($host);
-	"${host}${port}"
-    } @monhostlist);
+    return join($separator, map { $get_host->($_) } @monhostlist);
 }
 
 my $ceph_check_keyfile = sub {
-- 
2.20.1





More information about the pve-devel mailing list