clear immutible attribute before writing file, to address wide-spread issues
[bootmanager.git] / source / steps / UpdateNodeConfiguration.py
index d24dd18..ed6bdee 100644 (file)
@@ -179,15 +179,25 @@ def update_vserver_network_files( vserver_dir, vars, log ):
 
     if update_files:
         log.write( "Updating network files in %s.\n" % vserver_dir )
+        try:
+            # NOTE: this works around a recurring problem on public pl,
+            # suspected to be due to mismatch between 2.6.12 bootcd and
+            # 2.6.22/f8 root environment.  files randomly show up with the
+            # immutible attribute set.  this clears it before trying to write
+            # the files below.
+            utils.sysexec( "chattr -i %s/etc/hosts" % vserver_dir )
+            utils.sysexec( "chattr -i %s/etc/resolv.conf" % vserver_dir )
+        except:
+            pass
+
         
         file_path= "%s/etc/hosts" % vserver_dir
         hosts_file= file(file_path, "w" )
         hosts_file.write( "127.0.0.1       localhost\n" )
         if method == "static":
             hosts_file.write( "%s %s.%s\n" % (ip, hostname, domainname) )
-            hosts_file.close()
-            hosts_file= None
-
+        hosts_file.close()
+        hosts_file= None
 
         file_path= "%s/etc/resolv.conf" % vserver_dir
         if method == "dhcp":