]> git.proxmox.com Git - pmg-api.git/commitdiff
PMG::Config: refactor dns info collection
authorStoiko Ivanov <s.ivanov@proxmox.com>
Tue, 12 Nov 2019 14:16:12 +0000 (15:16 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Thu, 14 Nov 2019 07:03:02 +0000 (08:03 +0100)
Create a sub for gathering dns info of the current node (hostname, domainname,
fqdn) - so we can reuse it.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
src/PMG/Config.pm

index 4634bd5fc49457ced65515703ba720d1cd1bc5ec..4cbc5203d296a8e2e0ca2f5cacb7096da4d1aaed 100755 (executable)
@@ -1175,13 +1175,31 @@ PVE::INotify::register_file('transport', $transport_map_filename,
 
 # config file generation using templates
 
+sub get_host_dns_info {
+    my ($self) = @_;
+
+    my $dnsinfo = {};
+    my $nodename = PVE::INotify::nodename();
+
+    $dnsinfo->{hostname} = $nodename;
+    my $resolv = PVE::INotify::read_file('resolvconf');
+
+    my $domain = $resolv->{search} // 'localdomain';
+    $dnsinfo->{domain} = $domain;
+
+    $dnsinfo->{fqdn} = "$nodename.$domain";
+
+    return $dnsinfo;
+}
+
 sub get_template_vars {
     my ($self) = @_;
 
     my $vars = { pmg => $self->get_config() };
 
-    my $nodename = PVE::INotify::nodename();
-    my $int_ip = PMG::Cluster::remote_node_ip($nodename);
+    my $dnsinfo = get_host_dns_info();
+    $vars->{dns} = $dnsinfo;
+    my $int_ip = PMG::Cluster::remote_node_ip($dnsinfo->{hostname});
     $vars->{ipconfig}->{int_ip} = $int_ip;
 
     my $transportnets = [];
@@ -1259,13 +1277,7 @@ sub get_template_vars {
         $vars->{postfix}->{int_ip} = $int_ip;
     }
 
-    my $resolv = PVE::INotify::read_file('resolvconf');
-    $vars->{dns}->{hostname} = $nodename;
-
-    my $domain = $resolv->{search} // 'localdomain';
-    $vars->{dns}->{domain} = $domain;
-
-    my $wlbr = "$nodename.$domain";
+    my $wlbr = $dnsinfo->{fqdn};
     foreach my $r (PVE::Tools::split_list($vars->{pmg}->{spam}->{wl_bounce_relays})) {
        $wlbr .= " $r"
     }