clean up formatting of dhpc.pm
This commit is contained in:
parent
e438c2f766
commit
1c0f2b5bef
@ -1208,28 +1208,27 @@ sub process_request
|
||||
|
||||
# if option is query then call listnode for each node and return
|
||||
if ($opt{q})
|
||||
{
|
||||
{
|
||||
# call listnode for each node requested
|
||||
foreach my $node ( @{$req->{node}} ) {
|
||||
listnode($node,$callback);
|
||||
}
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
# if current node is a servicenode, make sure that it is also a dhcpserver
|
||||
my $isok=1;
|
||||
if (xCAT::Utils->isServiceNode()) {
|
||||
$isok=0;
|
||||
my @hostinfo=xCAT::NetworkUtils->determinehostname();
|
||||
my %iphash=();
|
||||
foreach(@hostinfo) {$iphash{$_}=1;}
|
||||
my @sn = xCAT::ServiceNodeUtils->getSNList('dhcpserver');
|
||||
foreach my $s (@sn)
|
||||
{
|
||||
if (exists($iphash{$s})) {
|
||||
$isok=1;
|
||||
}
|
||||
}
|
||||
$isok=0;
|
||||
my @hostinfo=xCAT::NetworkUtils->determinehostname();
|
||||
my %iphash=();
|
||||
foreach(@hostinfo) {$iphash{$_}=1;}
|
||||
my @sn = xCAT::ServiceNodeUtils->getSNList('dhcpserver');
|
||||
foreach my $s (@sn) {
|
||||
if (exists($iphash{$s})) {
|
||||
$isok=1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($isok == 0) { #do nothing if it is a service node, but not dhcpserver
|
||||
@ -1332,39 +1331,35 @@ sub process_request
|
||||
@dhcpconf = ();
|
||||
@dhcp6conf = ();
|
||||
|
||||
my $dhcplockfd;
|
||||
open($dhcplockfd,">","/tmp/xcat/dhcplock");
|
||||
flock($dhcplockfd,LOCK_EX);
|
||||
if ($::XCATSITEVALS{externaldhcpservers}) { #do nothing if remote dhcpservers at this point
|
||||
} elsif ($opt{n})
|
||||
{
|
||||
if (-e $dhcpconffile)
|
||||
{
|
||||
if ($^O eq 'aix')
|
||||
{
|
||||
# save NIM aix entries - to be restored later
|
||||
my $aixconf;
|
||||
open($aixconf, $dhcpconffile);
|
||||
if ($aixconf)
|
||||
{
|
||||
my $save=0;
|
||||
while (<$aixconf>)
|
||||
{
|
||||
if ($save) {
|
||||
push @aixcfg, $_;
|
||||
}
|
||||
my $dhcplockfd;
|
||||
open($dhcplockfd,">","/tmp/xcat/dhcplock");
|
||||
flock($dhcplockfd,LOCK_EX);
|
||||
if ($::XCATSITEVALS{externaldhcpservers}) {
|
||||
# do nothing if remote dhcpservers at this point
|
||||
} elsif ($opt{n}) {
|
||||
if (-e $dhcpconffile) {
|
||||
if ($^O eq 'aix') {
|
||||
# save NIM aix entries - to be restored later
|
||||
my $aixconf;
|
||||
open($aixconf, $dhcpconffile);
|
||||
if ($aixconf) {
|
||||
my $save=0;
|
||||
while (<$aixconf>) {
|
||||
if ($save) {
|
||||
push @aixcfg, $_;
|
||||
}
|
||||
|
||||
if ($_ =~ /#Network configuration end\n/) {
|
||||
$save++;
|
||||
}
|
||||
}
|
||||
close($aixconf);
|
||||
}
|
||||
$restartdhcp=1;
|
||||
@dhcpconf = ();
|
||||
}
|
||||
if ($_ =~ /#Network configuration end\n/) {
|
||||
$save++;
|
||||
}
|
||||
}
|
||||
close($aixconf);
|
||||
}
|
||||
$restartdhcp=1;
|
||||
@dhcpconf = ();
|
||||
}
|
||||
|
||||
my $rsp;
|
||||
my $rsp;
|
||||
push @{$rsp->{data}}, "Renamed existing dhcp configuration file to $dhcpconffile.xcatbak\n";
|
||||
xCAT::MsgUtils->message("I", $rsp, $callback);
|
||||
|
||||
@ -1400,11 +1395,11 @@ sub process_request
|
||||
@dhcp6conf = ();
|
||||
}
|
||||
}
|
||||
my $nettab = xCAT::Table->new("networks");
|
||||
my @vnets = $nettab->getAllAttribs('net','mgtifname','mask','dynamicrange','nameservers','ddnsdomain', 'domain');
|
||||
my $nettab = xCAT::Table->new("networks");
|
||||
my @vnets = $nettab->getAllAttribs('net','mgtifname','mask','dynamicrange','nameservers','ddnsdomain', 'domain');
|
||||
|
||||
# get a list of all domains listed in xCAT network defs
|
||||
# - include the site domain - if any
|
||||
# get a list of all domains listed in xCAT network defs
|
||||
# - include the site domain - if any
|
||||
my $nettab = xCAT::Table->new("networks");
|
||||
my @doms = $nettab->getAllAttribs('domain');
|
||||
foreach(@doms){
|
||||
@ -1416,9 +1411,9 @@ sub process_request
|
||||
|
||||
# add the site domain
|
||||
if ($site_domain) {
|
||||
if (!grep(/^$site_domain$/, @alldomains)) {
|
||||
push (@alldomains, $site_domain);
|
||||
}
|
||||
if (!grep(/^$site_domain$/, @alldomains)) {
|
||||
push (@alldomains, $site_domain);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (@vnets) {
|
||||
@ -1450,18 +1445,19 @@ sub process_request
|
||||
}
|
||||
}
|
||||
|
||||
foreach(@vnets){
|
||||
foreach(@vnets){
|
||||
#TODO: v6 relayed networks?
|
||||
my $n = $_->{net};
|
||||
my $if = $_->{mgtifname};
|
||||
my $nm = $_->{mask};
|
||||
my $n = $_->{net};
|
||||
my $if = $_->{mgtifname};
|
||||
my $nm = $_->{mask};
|
||||
if ($if =~ /!remote!/ and $n !~ /:/) { #only take in networks with special interface, but only v4 for now
|
||||
push @nrn, "$n:$if:$nm";
|
||||
push @nrn, "$n:$if:$nm";
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($querynics)
|
||||
{ #Use netstat to determine activenics only when no site ent.
|
||||
#TODO: IPv6 auto-detect, or just really really insist people define dhcpinterfaces or suffer doom?
|
||||
{
|
||||
# Use netstat to determine activenics only when no site ent.
|
||||
# TODO: IPv6 auto-detect, or just really really insist people define dhcpinterfaces or suffer doom?
|
||||
foreach (@nrn)
|
||||
{
|
||||
my @ent = split /:/;
|
||||
@ -1496,6 +1492,7 @@ sub process_request
|
||||
my %missingfiles = ( "dhcpd"=>1, "dhcpd6"=>1, "dhcp3-server"=>1 );
|
||||
foreach $dhcpver ("dhcpd","dhcpd6","dhcp3-server", "isc-dhcp-server") {
|
||||
if (-e "/etc/sysconfig/$dhcpver") {
|
||||
# for dhcpd, dhcpd6
|
||||
if ($dhcpver eq "dhcpd") {
|
||||
delete($missingfiles{dhcpd});
|
||||
delete($missingfiles{"dhcp3-server"});
|
||||
@ -1516,7 +1513,7 @@ sub process_request
|
||||
if (/!remote!/) { next; }
|
||||
$ifarg .= " $_";
|
||||
}
|
||||
$ifarg =~ s/^ //;
|
||||
$ifarg = s/\=\" /\=\"/;
|
||||
$ifarg .= "\"\n";
|
||||
|
||||
while (<DHCPD_FD>) {
|
||||
|
Loading…
Reference in New Issue
Block a user