Exemple #1
0
    def _handleUpdate(self, mid):
        if srvdata.existsMonitorData(mid):
            sinfodao, ip, port = srvdata.getMonitorData(mid)
            srvdata.keepAliveMonitor(mid)

            s = None
            try:
                self._sendUpdateToMonitor(ip, port)

            except socket.error:
                logging.debug("Error updating %s:%s" % (ip, port))
                self.sock.sendall(
                    helper.getMonitorUnreachableError(
                        "Error connecting to %s:%s" % (ip, port)))
            except socket.timeout:
                logging.debug("Timeout updating %s:%s" % (ip, port))
                self.sock.sendall(
                    helper.getMonitorUnreachableError(
                        "Error connecting to %s:%s [Timeout]" % (ip, port)))
            finally:
                if s: s.close()
        else:
            self.sock.sendall(
                helper.getMonitorNotFoundError("Monitor %s does not exists" %
                                               mid))
Exemple #2
0
    def _handleUpdate(self, mid):
        if srvdata.existsMonitorData(mid):
            sinfodao, ip, port = srvdata.getMonitorData(mid)
            srvdata.keepAliveMonitor(mid)

            s = None
            try:
                self._sendUpdateToMonitor(ip, port)

            except socket.error:
                logging.debug("Error updating %s:%s" % (ip, port))
                self.sock.sendall(
                        helper.getMonitorUnreachableError(
                            "Error connecting to %s:%s" % (ip, port)
                        )
                    )
            except socket.timeout:
                logging.debug("Timeout updating %s:%s" % (ip, port))
                self.sock.sendall(
                        helper.getMonitorUnreachableError(
                            "Error connecting to %s:%s [Timeout]" % (ip, port)
                        )
                    )
            finally:
                if s: s.close()
        else:
            self.sock.sendall(
                        helper.getMonitorNotFoundError(
                            "Monitor %s does not exists" % mid)
                    )
Exemple #3
0
def sendThroughSocket(sock, to_send, delim='\n\n', wait_for_response=True):
    code = ''
    detail = ''
    msg = ''

    try:
        sock.sendall(to_send)
        logging.debug('Message sent to server')

        if wait_for_response:
            first, sep, msg = common.recvEnd(sock, delim).partition('\n')
            code, sep, detail = first.partition(' ')
            msg, sep, garbage = msg.partition('\n')

            code.strip()
            detail.strip()
            msg.strip()

            logging.debug('Response from the server (response code): %s %s' %
                          (code, detail))
            logging.debug('Response from the server (response): %s' % msg)

    except socket.error, e:
        code = helper.getMonitorUnreachableError()
        msg = 'Connection error'
Exemple #4
0
def _updateFromOther(sock, instruction, params, timeout):
    try:
        ip, port = params.strip().split(':')
        port = int(port)

        response = ''

        sock_to_other = socket.create_connection((ip, port), timeout)
        sock_to_other.sendall(instruction + '\n')

        msg = common.recvEnd(sock_to_other, '\n\n') + '\n\n'
        response_head, sep, rest = msg.partition(' ')

        if response_head != gdata.K_OK:
            msg = helper.getGenericError('Bad response')

    except ValueError:
        msg = helper.getUnknownCmdError('Bad formatted parameters')
    except socket.error, e:
        msg = helper.getMonitorUnreachableError('Connection failed')
Exemple #5
0
def _updateFromOther(sock, instruction, params, timeout):
    try:
        ip, port = params.strip().split(':')
        port = int(port)

        response = ''

        sock_to_other = socket.create_connection((ip, port), timeout)
        sock_to_other.sendall(instruction + '\n')

        msg = common.recvEnd(sock_to_other, '\n\n') + '\n\n'
        response_head, sep, rest = msg.partition(' ')

        if response_head != gdata.K_OK:
            msg = helper.getGenericError('Bad response')

    except ValueError:
        msg = helper.getUnknownCmdError('Bad formatted parameters')
    except socket.error, e:
        msg = helper.getMonitorUnreachableError('Connection failed')
Exemple #6
0
def sendThroughSocket(sock, to_send, delim='\n\n', wait_for_response=True):
    code = ''
    detail = ''
    msg = ''
    
    try:
        sock.sendall(to_send)
        logging.debug('Message sent to server')

        if wait_for_response:
            first, sep, msg = common.recvEnd(sock, delim).partition('\n')
            code, sep, detail = first.partition(' ')
            msg, sep, garbage = msg.partition('\n')

            code.strip()
            detail.strip()
            msg.strip()

            logging.debug('Response from the server (response code): %s %s' % (code, detail))
            logging.debug('Response from the server (response): %s' % msg)

    except socket.error, e:
        code = helper.getMonitorUnreachableError()
        msg = 'Connection error'