my $section;
foreach my $line (@lines) {
- $line =~ s/[;#].*$//;
+ $line =~ s/#.*$//;
$line =~ s/^\s+//;
+ $line =~ s/^;.*$//;
$line =~ s/\s+$//;
next if !$line;
}
if ($line =~ m/^(.*?\S)\s*=\s*(\S.*)$/) {
- $cfg->{$section}->{$1} = $2;
+ my ($key, $val) = ($1, $2);
+ # ceph treats ' ', '_' and '-' in keys the same, so lets do too
+ $key =~ s/[-\ ]/_/g;
+ $cfg->{$section}->{$key} = $val;
}
}
sub get_monaddr_list {
my ($configfile) = shift;
- my $server;
-
if (!defined($configfile)) {
warn "No ceph config specified\n";
return;
}
my $config = $parse_ceph_file->($configfile);
- @$server = sort map { $config->{$_}->{'mon addr'} } grep {/mon/} %{$config};
- return join(',', @$server);
+ my @monids = grep { /mon\./ && defined($config->{$_}->{'mon addr'}) } %{$config};
+
+ return join(',', sort map { $config->{$_}->{'mon addr'} } @monids);
};
sub hostlist {