def parseTNSNames(self): discoveredRacParams = {} if self.tnsNamesConfigContent: hostNode = "HOST" serviceMarker = "SERVICE_NAME" instanceMarker = "INSTANCE_NAME" filter = { hostNode: "HOST\s*=\s*([\w\-\.]+)[\s\)]*", serviceMarker: "SERVICE_NAME\s*=\s*([\w\-\.]+)[\s\)]", instanceMarker: "INSTANCE_NAME\s*=\s*([\w\-\.]+)[\s\)]", } parser = OraConfigParser(self.tnsNamesConfigContent, filter) parsedData = parser.getResultsDict() parsedData = self.resolveNamesToIPs(hostNode, parsedData) possibleRACServiceNames = self.getPossibleRacServiceNames(parsedData, serviceMarker, instanceMarker) discoveredRacParams = self.getRACParams( parsedData, possibleRACServiceNames, hostNode, serviceMarker, instanceMarker ) else: raise Exception, "Couldn't find tnsnames.ora configuration file." return discoveredRacParams
def parseTNSNames(self): discoveredRacParams = {} if self.tnsNamesConfigContent: hostNode = 'HOST' serviceMarker = 'SERVICE_NAME' instanceMarker = 'INSTANCE_NAME' filter = { hostNode: 'HOST\s*=\s*([\w\-\.]+)[\s\)]*', serviceMarker: 'SERVICE_NAME\s*=\s*([\w\-\.]+)[\s\)]', instanceMarker: 'INSTANCE_NAME\s*=\s*([\w\-\.]+)[\s\)]' } parser = OraConfigParser(self.tnsNamesConfigContent, filter) parsedData = parser.getResultsDict() parsedData = self.resolveNamesToIPs(hostNode, parsedData) possibleRACServiceNames = self.getPossibleRacServiceNames( parsedData, serviceMarker, instanceMarker) discoveredRacParams = self.getRACParams(parsedData, possibleRACServiceNames, hostNode, serviceMarker, instanceMarker) else: raise Exception, "Couldn't find tnsnames.ora configuration file." return discoveredRacParams
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