def _sapJmxConnect(credId, ip, Framework): r'''@types: str, str, Framework -> Result ''' message = None status = False for version in SAPJmxAgent.getAvailableVersions(): props = Properties() props.setProperty(AgentConstants.VERSION_PROPERTY, version) logger.debug('Trying to connect to ip=%s by \'%s\' '\ 'protocol (assuming version %s)...' % (ip, _PROTOCOL_NAME, version)) try: sap = Framework.getAgent(AgentConstants.SAP_JMX_AGENT, ip, credId, props) sap.connect() except: message = 'error: %s' % sys.exc_info()[1] logger.debug('connection to ip=%s by \'%s\' '\ 'protocol failed. %s' % (ip, _PROTOCOL_NAME, message)) continue else: logger.debug('connection to ip=%s by \'%s\' '\ 'protocol is successful' % (ip, _PROTOCOL_NAME)) status = True break finally: sap and sap.disconnect() return Result(status, message)
def get_sap_java_client_versions(): ''' Get list of versions of SAP java client libraries currently configured on probe @types: -> list[str] ''' from com.hp.ucmdb.discovery.library.clients.agents import SAPJmxAgent return SAPJmxAgent.getAvailableVersions()
def getAvailableVersions(): from com.hp.ucmdb.discovery.library.clients.agents import SAPJmxAgent return SAPJmxAgent.getAvailableVersions()