Hi All,

While investigating some IP-related issue (reported for windows nodes), we have 
found a bug, in our opinion. When multiple ethernet adapters are present, a 
host file is created in /etc/dhcp3/hosts.d/ for each of the interfaces. All 
these files contain the same IP address (see the 4 attached files - one node 
with 4 network adapters). We're proposing a patch that would make sure that 
only the required interface gets the IP assigned to it, while the others do not 
get any IP. At the moment, after an error in the log, the interfaces not 
configured get IP's from the "unmanaged" resource pool - this should not be the 
case since the node is not "unmanaged" anymore and it just consumes dhcp 
reservations and generates dhcp traffic.
- Added condition in update_nodes.rb to set IP address only for the boot 
interface
- Added condition in dhcp template to deny boot if no IP is set (see 
update_nodes.rb)

The change on chef/cookbooks/provisioner/recipes/update_nodes.rb, lines 98-112 
fixed all issues we had with nodes during windows setup.
The change on chef/cookbooks/provisioner/recipes/update_nodes.rb, lines 80-82 
is not enough, we think, another test to validate that the interface is in "not 
managed" state should be added also. Nevertheless, adding the IP address of the 
admin interface here is not helping anything. We're now looking into adding 
this test as well. 

Here is the link to our local repository commit for these changes: 
https://github.com/ociuhandu/barclamp-provisioner/commit/c342e208ebdd25cbccb7a7358c3866ce66a01d72

At the same time, we're seeing a lot of warnings like:

DHCPREQUEST for 192.168.124.92 from 00:0c:29:8e:92:04 via eth0
DHCPACK on 192.168.124.92 to 00:0c:29:8e:92:04 via eth0
Dynamic and static leases present for 192.168.124.85.
Remove host declaration d00-0c-29-74-d0-fe.cloud.cloudbase.it-0 or remove 
192.168.124.85 from the dynamic address pool for 192.168.124.0/24

These are all generated due to the combination of having both the "host" pool 
defined on this range and the "fixed-ip " of that particular file 
(cookbooks/provisioner/recipes/dhcp_update.rb). Would it not be better to 
remove the pool since anyway each host has it's own dedicated lease file?

At the same time, linux nodes switch to static configuration right after being 
installed, so the "unmanaged" interfaces have no config file while the managed 
ones have statically defined one. In none of these cases, the "host" pool is 
not needed and no definitions / IP allocations should be made for the 
"undefined" interfaces.

Please help us understand if we missed some requirements here as this is a 
change that would have quite a big impact and we want to make sure we're not 
missing anything.

Thanks,

Octavian.


Attachment: d00-0c-29-80-7a-da.cloud.cloudbase.it-3.conf
Description: d00-0c-29-80-7a-da.cloud.cloudbase.it-3.conf

Attachment: d00-0c-29-80-7a-da.cloud.cloudbase.it-2.conf
Description: d00-0c-29-80-7a-da.cloud.cloudbase.it-2.conf

Attachment: d00-0c-29-80-7a-da.cloud.cloudbase.it-1.conf
Description: d00-0c-29-80-7a-da.cloud.cloudbase.it-1.conf

Attachment: d00-0c-29-80-7a-da.cloud.cloudbase.it-0.conf
Description: d00-0c-29-80-7a-da.cloud.cloudbase.it-0.conf

_______________________________________________
Crowbar mailing list
Crowbar@dell.com
https://lists.us.dell.com/mailman/listinfo/crowbar
For more information: http://crowbar.github.com/

Reply via email to