Author: arkurth
Date: Mon Aug 15 13:27:04 2011
New Revision: 1157836

URL: http://svn.apache.org/viewvc?rev=1157836&view=rev
Log:
VCL-384
Updated Linux.pm::enable_dhcp to remove any Windows-style carriage returns from 
the ifcfg-eth* files when they are recreated. Added code to delete the dhclient 
lease files to correct a problem where the computer would attempt to ping its 
old address when it came up, and then disable the interface.

Modified:
    incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux.pm

Modified: incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux.pm
URL: 
http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux.pm?rev=1157836&r1=1157835&r2=1157836&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux.pm Mon Aug 15 
13:27:04 2011
@@ -2994,7 +2994,6 @@ sub enable_dhcp {
        }
        
        for my $interface_name (@interface_names) {
-print "\n\n" . '-' x 100 . "\n\n";
                my $ifcfg_file_path = 
"/etc/sysconfig/network-scripts/ifcfg-$interface_name";
                notify($ERRORS{'DEBUG'}, 0, "attempting to enable DHCP on 
interface: $interface_name\nifcfg file path: $ifcfg_file_path");
                
@@ -3004,12 +3003,15 @@ BOOTPROTO=dhcp
 ONBOOT=yes
 EOF
                
+               # Remove any Windows carriage returns
+               $ifcfg_file_contents =~ s/\r//g;
+               
                # Remove the last newline
                $ifcfg_file_contents =~ s/\n$//s;
                
                # Write the contents to the ifcfg file
                if ($self->create_text_file($ifcfg_file_path, 
$ifcfg_file_contents)) {
-                       notify($ERRORS{'DEBUG'}, 0, "updated 
$ifcfg_file_path:\n$ifcfg_file_contents");
+                       notify($ERRORS{'DEBUG'}, 0, "updated 
$ifcfg_file_path:\n" . string_to_ascii($ifcfg_file_contents));
                }
                else {
                        notify($ERRORS{'WARNING'}, 0, "failed to update 
$ifcfg_file_path");
@@ -3018,6 +3020,9 @@ EOF
                
                # Remove any leftover ifcfg-*.bak files
                
$self->delete_file('/etc/sysconfig/network-scripts/ifcfg-eth*.bak');
+               
+               # Remove dhclient lease files
+               $self->delete_file('/var/lib/dhclient/*.leases');
        }
        
        return 1;


Reply via email to