Add support for wireless interfaces.
[bootmanager.git] / source / steps / ReadNodeConfiguration.py
index c04cadf..59b5250 100644 (file)
@@ -61,17 +61,20 @@ def Run( vars, log ):
     NODE_KEY                    The key for this node
     NETWORK_SETTINGS            A dictionary of the values from the network
                                 configuration file. keys set:
-                                   method
-                                   ip        
-                                   mac       
-                                   gateway   
-                                   network   
-                                   broadcast 
-                                   netmask   
-                                   dns1      
-                                   dns2      
-                                   hostname  
-                                   domainname
+                                   method               IP_METHOD
+                                   ip                   IP_ADDRESS
+                                   mac                  NET_DEVICE       
+                                   gateway              IP_GATEWAY
+                                   network              IP_NETADDR
+                                   broadcast            IP_BROADCASTADDR
+                                   netmask              IP_NETMASK
+                                   dns1                 IP_DNS1
+                                   dns2                 IP_DNS2
+                                   hostname             HOST_NAME
+                                   domainname           DOMAIN_NAME
+                                -- wlan oriented --
+                                   ssid                 WLAN_SSID
+                                   iwconfig             WLAN_IWCONFIG
 
     the mac address is read from the machine unless it exists in the
     configuration file.
@@ -116,6 +119,8 @@ def Run( vars, log ):
     vars['WAS_NODE_ID_IN_CONF']= 0
     vars['WAS_NODE_KEY_IN_CONF']= 0
 
+    vars['DISCONNECTED_OPERATION']= ''
+
     # for any devices that need to be mounted to get the configuration
     # file, mount them here.
     mount_point= "/tmp/conffilemount"
@@ -173,7 +178,7 @@ def Run( vars, log ):
 
 
 
-    if BOOT_CD_VERSION[0] == 3:
+    if BOOT_CD_VERSION[0] >= 3:
         # 2. check flash devices on 3.0 based cds
         log.write( "Checking flash devices for plnode.txt file.\n" )
 
@@ -439,7 +444,16 @@ def __parse_configuration_file( vars, log, file_contents ):
 
             if name == "NET_DEVICE":
                 NETWORK_SETTINGS['mac']= string.upper(value)
-                
+
+            if name == "DISCONNECTED_OPERATION":
+                vars['DISCONNECTED_OPERATION']= value.strip()
+
+            if name == "WLAN_SSID":
+                vars['ssid']= value.strip()
+
+            if name == "WLAN_IWCONFIG":
+                vars['iwconfig']= value.strip()
+
 
     except IndexError, e:
         log.write( "Unable to parse configuration file\n" )
@@ -622,7 +636,7 @@ def __parse_configuration_file( vars, log, file_contents ):
         
     vars["NETWORK_SETTINGS"]= NETWORK_SETTINGS
 
-    if not hostname_resolve_ok:
+    if not hostname_resolve_ok and not vars['DISCONNECTED_OPERATION']:
         log.write( "Hostname does not resolve correctly, will not continue.\n" )
 
         if can_make_api_call: