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
示例#2
0
 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
示例#3
0
 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