def resolveNamesToIPs(self, hostNode, parsedData): if parsedData: for internalName in parsedData.keys(): nodeData = parsedData[internalName] values = nodeData.get(hostNode) if values: listenedIPs = {} for ipaddr in values: stripedIpAddr = ipaddr.strip() if netutils.isValidIp(stripedIpAddr): listenedIPs[stripedIpAddr] = '' else: resolver = DNSResolver(self.shell, stripedIpAddr) resolvedIp = resolver.getIPAddress() if resolvedIp: listenedIPs[resolvedIp.strip()] = '' else: aliasBasedIps = resolver.resolveNSLookupAliasBased( ) if aliasBasedIps: for ip in aliasBasedIps: listenedIPs[ip.strip()] = '' nodeData[hostNode] = listenedIPs.keys() parsedData[internalName] = nodeData return parsedData
def __parseConfig(self, listenerConfigFile): listenedIPs = {} if listenerConfigFile: hostNode = 'HOST' filter = {hostNode : 'HOST\s*=\s*([\w\-\.]+)[\s\)]*'} parser = OraConfigParser(listenerConfigFile, filter) parsedData = parser.getResultsDict() if parsedData: for listenerName in parsedData.keys(): nodeData = parsedData[listenerName] values = nodeData.get(hostNode) if values: for ipaddr in values: logger.debug('Working with possible ip: ' + ipaddr) if netutils.isValidIp(ipaddr): listenedIPs[ipaddr.strip()] = '' else: resolver = DNSResolver(self.shell, ipaddr) resolvedIP = resolver.getIPAddress() if resolvedIP: listenedIPs[resolvedIP.strip()] = '' if not self.listenerName: self.listenerName = listenerName return listenedIPs
def resolveNamesToIPs(self, hostNode, parsedData): if parsedData: for internalName in parsedData.keys(): nodeData = parsedData[internalName] values = nodeData.get(hostNode) if values: listenedIPs = {} for ipaddr in values: stripedIpAddr = ipaddr.strip() if netutils.isValidIp(stripedIpAddr): listenedIPs[stripedIpAddr] = "" else: resolver = DNSResolver(self.shell, stripedIpAddr) resolvedIp = resolver.getIPAddress() if resolvedIp: listenedIPs[resolvedIp.strip()] = "" else: aliasBasedIps = resolver.resolveNSLookupAliasBased() if aliasBasedIps: for ip in aliasBasedIps: listenedIPs[ip.strip()] = "" nodeData[hostNode] = listenedIPs.keys() parsedData[internalName] = nodeData return parsedData