def __init__(self, configFilePath='/usr/local/hen/etc/configs/config'): Daemon.__init__(self) self.__version = "System Daemon v0.2 (dumb)" # Initialize testbed config file self.__configFilePath = configFilePath self.__configFile = ConfigParser.ConfigParser() self.__configFile.read(configFilePath) # Initialize parser self.__henPhysicalTopology = self.__configFile.get( 'MAIN', 'PHYSICAL_TOPOLOGY') self.__henLogPath = self.__configFile.get('MAIN', 'LOG_PATH') self.__parser = HenParser(self.__henPhysicalTopology, \ None, \ None, \ self.__henLogPath, \ None, None, None, \ None) # Initialize DNS writer self.__testbedGroup = self.__configFile.get('NETBOOT', 'GROUP') configInfo = DNSConfigInfo(self.__configFile.get('DNS', 'TTL'), \ self.__configFile.get('DNS', 'CONTACT'), \ self.__configFile.get('DNS', 'REFRESH_TIME'), \ self.__configFile.get('DNS', 'RETRY_TIME'), \ self.__configFile.get('DNS', 'EXPIRY_TIME'), \ self.__configFile.get('DNS', 'MINIMUM_TIME'), \ self.__configFile.get('MAIN', 'EXPERIMENTAL_BASE_ADDRESS'), \ self.__configFile.get('DNS', 'EXPERIMENTAL_DOMAIN_NAME'), \ self.__configFile.get('DNS', 'EXPERIMENTAL_SERVER_ADDRESS'), \ self.__configFile.get('MAIN', 'INFRASTRUCTURE_BASE_ADDRESS'), \ self.__configFile.get('DNS', 'INFRASTRUCTURE_DOMAIN_NAME'), \ self.__configFile.get('DNS', 'INFRASTRUCTURE_SERVER_ADDRESS'), \ self.__configFile.get('MAIN', 'VIRTUAL_BASE_ADDRESS'), \ self.__configFile.get('DNS', 'VIRTUAL_DOMAIN_NAME'), \ self.__configFile.get('DNS', 'VIRTUAL_SERVER_ADDRESS')) self.__dnsWriter = DNSConfigWriter(configInfo, \ self.__configFile.get('DNS', 'CONFIG_FILES_PATH'), \ self.__testbedGroup, self.__parser) # Initialize DHCP writer expSubnet = DHCPConfigSubnetInfo(self.__configFile.get('DHCP', 'EXPERIMENTAL_NET'), \ self.__configFile.get('DHCP', 'EXPERIMENTAL_NET_NETMASK'), \ self.__configFile.get('DHCP', 'EXPERIMENTAL_USE_HOST_DECL_NAMES'), \ self.__configFile.get('DHCP', 'EXPERIMENTAL_NET_NETMASK'), \ self.__configFile.get('DHCP', 'EXPERIMENTAL_NET_BROADCAST_ADDRESS'), \ self.__configFile.get('DHCP', 'EXPERIMENTAL_DOMAIN_NAME'), \ self.__configFile.get('DHCP', 'EXPERIMENTAL_ROUTERS'), \ self.__configFile.get('DHCP', 'EXPERIMENTAL_NEXT_SERVER'), \ "experimental") infraSubnet = DHCPConfigSubnetInfo(self.__configFile.get('DHCP', 'INFRASTRUCTURE_NET'), \ self.__configFile.get('DHCP', 'INFRASTRUCTURE_NET_NETMASK'), \ self.__configFile.get('DHCP', 'INFRASTRUCTURE_USE_HOST_DECL_NAMES'), \ self.__configFile.get('DHCP', 'INFRASTRUCTURE_NET_NETMASK'), \ self.__configFile.get('DHCP', 'INFRASTRUCTURE_NET_BROADCAST_ADDRESS'), \ self.__configFile.get('DHCP', 'INFRASTRUCTURE_DOMAIN_NAME'), \ self.__configFile.get('DHCP', 'INFRASTRUCTURE_ROUTERS'), \ self.__configFile.get('DHCP', 'INFRASTRUCTURE_NEXT_SERVER'), \ "infrastructure") virtualSubnet = DHCPConfigSubnetInfo(self.__configFile.get('DHCP', 'VIRTUAL_NET'), \ self.__configFile.get('DHCP', 'VIRTUAL_NET_NETMASK'), \ self.__configFile.get('DHCP', 'VIRTUAL_USE_HOST_DECL_NAMES'), \ self.__configFile.get('DHCP', 'VIRTUAL_NET_NETMASK'), \ self.__configFile.get('DHCP', 'VIRTUAL_NET_BROADCAST_ADDRESS'), \ self.__configFile.get('DHCP', 'VIRTUAL_DOMAIN_NAME'), \ self.__configFile.get('DHCP', 'VIRTUAL_ROUTERS'), \ self.__configFile.get('DHCP', 'VIRTUAL_NEXT_SERVER'), \ "virtual") subnetList = [] subnetList.append(expSubnet) subnetList.append(infraSubnet) subnetList.append(virtualSubnet) configInfo = DHCPConfigInfo(self.__configFile.get('DHCP', 'DOMAIN_NAME'), \ self.__configFile.get('DHCP', 'DOMAIN_NAME_SERVERS'), \ self.__configFile.get('DHCP', 'DEFAULT_LEASE_TIME'), \ self.__configFile.get('DHCP', 'MAXIMUM_LEASE_TIME'), \ self.__configFile.get('DHCP', 'AUTHORITATIVE'), \ self.__configFile.get('DHCP', 'DDNS_UPDATE_STYLE'), \ self.__configFile.get('DHCP', 'LOG_FACILITY'), \ subnetList) self.__henExportPath = self.__configFile.get('MAIN', 'EXPORT_PATH') self.__dhcpWriter = DHCPConfigWriter(configInfo, self.__configFile.get('DHCP', 'CONFIG_FILE_PATH'), \ self.__henExportPath, self.__testbedGroup, self.__parser) # Export methods self.__registerMethods()