Hi,
I want to understand if bug #4476 is valid, and how the git commit
implementing it's fix solves the problem:
http://sourceforge.net/p/xcat/bugs/4476/
As far as I see it, the DHCP server will only give out leases if it has a
dynamic range configured and lesser clients for leases than the number of
IPs in the dynamic range. So why does the fix require changes to makedhcp
processing?
MY specific grouse:
[samveen@development xcat-core]$ git diff
4e931a44dc46d9a5c7b862fa05483f4b0b8b8052^
4e931a44dc46d9a5c7b862fa05483f4b0b8b8052 perl-xCAT/xCAT/Schema.pm diff
--git a/perl-xCAT/xCAT/Schema.pm b/perl-xCAT/xCAT/Schema.pm index
6bbf88e..ca38664 100755 --- a/perl-xCAT/xCAT/Schema.pm +++
b/perl-xCAT/xCAT/Schema.pm @@ -542,7 +542,7 @@ networks => { netname =>
'Name used to identify this network definition.', net => 'The network
address.', mask => 'The network mask.', - mgtifname => 'The interface name
of the management/service node facing this network. !remote! indicates a
non-local network for relay DHCP.', + mgtifname => 'The interface name of
the management/service node facing this network. !remote!<nicname>
indicates a non-local network on a specific nic for relay DHCP.', gateway
=> 'The network gateway. It can be set to an ip address or the keyword
<xcatmaster>, the keyword <xcatmaster> indicates the cluster-facing ip
address configured on this management node or se dhcpserver => 'The DHCP
server that is servicing this network. Required to be explicitly set for
pooled service node operation.', tftpserver => 'The TFTP server that is
servicing this network. If not set, the DHCP server is assumed.',
There are associated changes in xCAT-server/lib/xcat/plugins/dhcp.pm to
ensure the above change is followed.
Now compare this to code in perl-xCAT/xCAT/NetworkUtils.pm (sub nodeonmynet)
:
[samveen@development xcat-core]$ nl perl-xCAT/xCAT/NetworkUtils.pm |tail -n
+1435 |head -n 9 1299 foreach (@vnets) { 1300 if ((defined $_->{mgtifname})
&& ($_->{mgtifname} eq '!remote!')) 1301 { 1302 if
(xCAT::NetworkUtils->ishostinsubnet($nodeip, $_->{mask}, $_->{net})) 1303 {
1304 return 1; 1305 } 1306 } 1307 }
As can be seen, there is no way that these 2 conditions will ever be
satisfied.
My primary environment makes heavy use of `!remote!` dhcp, and this "fix"
brakes things for me.
The fix is to change the line 1300 to use '=~ m//' instead of eq (and this
incorrect check is done in 2 places in this module).
A side request. Please include the possibility of allowing contributions to
xCAT using Github pull requests when your Github testing completes. It
makes contributions so much easier.
Regards,
--
Samveen S. Gulati
http://samveen.in
The best-laid schemes o' mice an 'men
Gang aft agley,
An'lea'e us nought but grief an' pain,
For promis'd joy!
-- Robert Burns
(The best laid plans of mice and men often go awry,
and bring nothing but grief and pain instead of ..)
------------------------------------------------------------------------------
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors
network devices and physical & virtual servers, alerts via email & sms
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
_______________________________________________
xCAT-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xcat-user