diff options
author | Joachim Tingvold <joachim@tingvold.com> | 2017-04-11 14:34:47 +0200 |
---|---|---|
committer | Joachim Tingvold <joachim@tingvold.com> | 2017-04-11 14:34:47 +0200 |
commit | 9adf29a276d06cb68ad0a38f1a12996c0cfccefc (patch) | |
tree | 6c8bae1c1a450ac5c99c575df40ce16362f933d7 | |
parent | b3d110878958a85302c39275aded0c88b0bc4dc6 (diff) |
Create infra-entries for row switches.
-rwxr-xr-x | tools/generate-rowdns.pl | 91 |
1 files changed, 50 insertions, 41 deletions
diff --git a/tools/generate-rowdns.pl b/tools/generate-rowdns.pl index c04697c..a37c0c8 100755 --- a/tools/generate-rowdns.pl +++ b/tools/generate-rowdns.pl @@ -13,11 +13,12 @@ use Net::IP; use NetAddr::IP; use Getopt::Long; -my ($delete); +my ($delete, $infra); if (@ARGV > 0) { GetOptions( 'del|delete' => \$delete, + 'infra' => \$infra, # generate switch forward ) } @@ -37,6 +38,7 @@ sub get_url{ my $json_obj = new JSON; my $json_content = get_url($nms::config::gondul_url . "/api/read/switches-management"); + if($json_content){ my $json = $json_obj->allow_nonref->utf8->relaxed->escape_slash->loose->allow_singlequote->allow_barekey->decode($json_content); @@ -54,49 +56,56 @@ if($json_content){ my $fqdn = $switch->{sysname} . "." . $nms::config::tgname . ".gathering.org."; my $sw_fqdn = "sw." . $fqdn; my $gw_fqdn = "gw." . $fqdn; - - # A and AAAA-record to the switch - if($delete){ - print "update delete $sw_fqdn \t IN A\n"; - print "update delete $sw_fqdn \t IN AAAA\n"; - } else { - print "update add $sw_fqdn \t 3600 IN A \t $v4mgmt\n"; - print "update add $sw_fqdn \t 3600 IN AAAA \t $v6mgmt\n"; - } - print "send\n"; - - # PTR to the switch - if($delete){ - print "update delete " . Net::IP->new($v4mgmt)->reverse_ip() . " \t IN PTR\n" if $v4mgmt; - print "send\n" if $v4mgmt; - print "update delete " . Net::IP->new($v6mgmt)->reverse_ip() . " \t IN PTR\n" if $v6mgmt + + if($infra){ + # Add A and AAAA-records for the switch to the infra.tgNN.gathering.org-zone + my $sw_infra = $switch->{sysname} . ".infra." . $nms::config::tgname . ".gathering.org."; + printf ("%-24s%s\t%s\t%s\n", $switch->{sysname}, "IN", "A", $v4mgmt); + printf ("%-24s%s\t%s\t%s\n", $switch->{sysname}, "IN", "AAAA", $v6mgmt); } else { - print "update add " . Net::IP->new($v4mgmt)->reverse_ip() . " \t 3600 IN PTR \t $sw_fqdn\n" if $v4mgmt; - print "send\n" if $v4mgmt; - print "update add " . Net::IP->new($v6mgmt)->reverse_ip() . " \t 3600 IN PTR \t $sw_fqdn\n" if $v6mgmt; - } - print "send\n"; + # A and AAAA-record to the switch + if($delete){ + print "update delete $sw_fqdn \t IN A\n"; + print "update delete $sw_fqdn \t IN AAAA\n"; + } else { + print "update add $sw_fqdn \t 3600 IN A \t $v4mgmt\n"; + print "update add $sw_fqdn \t 3600 IN AAAA \t $v6mgmt\n"; + } + print "send\n"; + + # PTR to the switch + if($delete){ + print "update delete " . Net::IP->new($v4mgmt)->reverse_ip() . " \t IN PTR\n" if $v4mgmt; + print "send\n" if $v4mgmt; + print "update delete " . Net::IP->new($v6mgmt)->reverse_ip() . " \t IN PTR\n" if $v6mgmt + } else { + print "update add " . Net::IP->new($v4mgmt)->reverse_ip() . " \t 3600 IN PTR \t $sw_fqdn\n" if $v4mgmt; + print "send\n" if $v4mgmt; + print "update add " . Net::IP->new($v6mgmt)->reverse_ip() . " \t 3600 IN PTR \t $sw_fqdn\n" if $v6mgmt; + } + print "send\n"; - # A and AAAA-record to the gateway/router - if($delete){ - print "update delete $gw_fqdn \t IN A\n"; - print "update delete $gw_fqdn \t IN AAAA\n"; - } else { - print "update add $gw_fqdn \t 3600 IN A \t $v4gw\n" if $v4gw; - print "update add $gw_fqdn \t 3600 IN AAAA \t $v6gw\n" if $v6gw; - } - print "send\n"; + # A and AAAA-record to the gateway/router + if($delete){ + print "update delete $gw_fqdn \t IN A\n"; + print "update delete $gw_fqdn \t IN AAAA\n"; + } else { + print "update add $gw_fqdn \t 3600 IN A \t $v4gw\n" if $v4gw; + print "update add $gw_fqdn \t 3600 IN AAAA \t $v6gw\n" if $v6gw; + } + print "send\n"; - # PTR to the gateway/router - if($delete){ - print "update delete " . Net::IP->new($v4gw)->reverse_ip() . " \t IN PTR\n" if $v4gw; - print "send\n" if $v4gw; - print "update delete " . Net::IP->new($v6gw)->reverse_ip() . " \t IN PTR\n" if $v6gw; - } else { - print "update add " . Net::IP->new($v4gw)->reverse_ip() . " \t 3600 IN PTR \t $gw_fqdn\n" if $v4gw; - print "send\n" if $v4gw; - print "update add " . Net::IP->new($v6gw)->reverse_ip() . " \t 3600 IN PTR \t $gw_fqdn\n" if $v6gw; + # PTR to the gateway/router + if($delete){ + print "update delete " . Net::IP->new($v4gw)->reverse_ip() . " \t IN PTR\n" if $v4gw; + print "send\n" if $v4gw; + print "update delete " . Net::IP->new($v6gw)->reverse_ip() . " \t IN PTR\n" if $v6gw; + } else { + print "update add " . Net::IP->new($v4gw)->reverse_ip() . " \t 3600 IN PTR \t $gw_fqdn\n" if $v4gw; + print "send\n" if $v4gw; + print "update add " . Net::IP->new($v6gw)->reverse_ip() . " \t 3600 IN PTR \t $gw_fqdn\n" if $v6gw; + } + print "send\n"; } - print "send\n"; } } |