def __init__(self, service_name, database, host_name, registrar_ip):
        self._service_name = service_name
        self._database = database
        self._host_name = host_name
        self._ip = dlpxqa.get_database_ip(database)
        self._registrar = TCPRegistryClient(registrar_ip)
        self._addrs = []
        self._remote_host_ip = ''
        self._port = ''
        self._connection = None
        self._discovered_service = False
        self._connected = False

        try:
            self._addrs = rpyc.discover(self._service_name, host=self._ip, registrar=self._registrar)
            self._discovered_service = True
            self._remote_host_ip, self._port = self._addrs[0]
            try:
                self._connection = rpyc.connect(self._remote_host_ip, self._port)
                self._connected = True
            except socket.error:
                pass
        except DiscoveryError:
            pass
Example #2
0
    DEBUG = False

connection_factory = dbm_connection.ConnectionFactory()

print strftime("%Y-%m-%d %H:%M:%S", localtime())

conn_dict = get_connections(connection_factory, 'DBMONITOR', dlpxqa.get_database_list(), regsrv_ip)
discovery_failure_host_dict = {}
connection_failure_host_dict = {}

for conn in conn_dict.values():
    if conn.is_connected():
        print (70 * '=')
        host_name = conn.root.get_host_name()
        sid = conn.database
        ip = dlpxqa.get_database_ip(sid)
        login = dlpxqa.get_database_os_login(sid)
        print 'HOST : %s (%s)' % (host_name, ip)
        print 'SID  : %s' % sid
        print 'LOGIN: %s' % login

        try:
            database_role = conn.root.get_database_role(sid)
        except OSError, e:
            print 'ERROR: OS error raised: %s' % e.strerror
            continue
        print 'ROLE : %s' % database_role.rstrip()

        archive_dest = conn.root.get_archive_dest(sid)
        print 'ARCHIVE DEST     : %s' % archive_dest