Beispiel #1
0
def setup_development_servers():
    """
    Add lakka and hilla servers and create couple services and service groups
    """
    if not ServerDatabase.query().filter(ServerDatabase.name == 'Hilla').all():
        hilla = ServerDatabase()
        hilla.name = 'Hilla'
        hilla.save()
    else:
        hilla = ServerDatabase.query().filter(
            ServerDatabase.name == 'Hilla').one()

    if not ServerDatabase.query().filter(ServerDatabase.name == 'Lakka').all():
        lakka = ServerDatabase()
        lakka.name = 'Lakka'
        lakka.save()
    else:
        lakka = ServerDatabase.query().filter(
            ServerDatabase.name == 'Lakka').one()

    if not ServerDatabase.query().filter(ServerDatabase.name == 'db1').all():
        db1 = ServerDatabase()
        db1.name = 'db1'
        db1.save()
    else:
        db1 = ServerDatabase.query().filter(ServerDatabase.name == 'db1').one()

    if not ServerDatabase.query().filter(ServerDatabase.name == 'db2').all():
        db2 = ServerDatabase()
        db2.name = 'db2'
        db2.save()
    else:
        db2 = ServerDatabase.query().filter(ServerDatabase.name == 'db2').one()

    if not ServiceGroupDatabase.query().filter(
            ServiceGroupDatabase.name == 'Hilla_ports').all():
        hilla_ports = ServiceGroupDatabase()
        hilla_ports.name = 'Hilla_ports'
        hilla_ports.type = 'port'
        hilla_ports.save()
    else:
        hilla_ports = ServiceGroupDatabase.query().filter(
            ServiceGroupDatabase.name == 'Hilla_ports').one()

    if not ServiceGroupDatabase.query().filter(
            ServiceGroupDatabase.name == 'Lakka_ports').all():
        lakka_ports = ServiceGroupDatabase()
        lakka_ports.name = 'Lakka_ports'
        lakka_ports.type = 'port'
        lakka_ports.save()
    else:
        lakka_ports = ServiceGroupDatabase.query().filter(
            ServiceGroupDatabase.name == 'Lakka_ports').one()

    if not ServiceGroupDatabase.query().filter(
            ServiceGroupDatabase.name == 'Mysql_databases').all():
        mysql_databases = ServiceGroupDatabase()
        mysql_databases.name = 'Mysql_databases'
        mysql_databases.type = 'mysql_database'
        mysql_databases.save()
    else:
        mysql_databases = ServiceGroupDatabase.query().filter(
            ServiceGroupDatabase.name == 'Mysql_databases').one()

    if not ServiceGroupDatabase.query().filter(
            ServiceGroupDatabase.name == 'Psql_databases').all():
        psql_databases = ServiceGroupDatabase()
        psql_databases.name = 'Psql_databases'
        psql_databases.type = 'Psql_database'
        psql_databases.save()
    else:
        psql_databases = ServiceGroupDatabase.query().filter(
            ServiceGroupDatabase.name == 'Psql_databases').one()

    dbsession.flush()

    if not ServiceDatabase.query().filter(
            ServiceDatabase.name == 'Mysql_database').all():
        mysql_database = ServiceDatabase()
        mysql_database.name = 'Mysql_Database'
        mysql_database.service_group = mysql_databases
        mysql_database.server = hilla
        mysql_database.save()
    else:
        mysql_database = ServiceDatabase.query().filter(
            ServiceDatabase.name == 'Mysql_database').one()

    if not ServiceDatabase.query().filter(
            ServiceDatabase.name == 'Psql_database').all():
        psql_database = ServiceDatabase()
        psql_database.name = 'Psql_database'
        psql_database.service_group = psql_databases
        psql_database.server = hilla
        psql_database.save()
    else:
        psql_database = ServiceDatabase.query().filter(
            ServiceDatabase.name == 'Psql_database').one()

    if not ServiceDatabase.query().filter(
            ServiceDatabase.name == 'Hilla_port').all():
        hilla_port = ServiceDatabase()
        hilla_port.name = 'Hilla_port'
        hilla_port.service_group = hilla_ports
        hilla_port.server = hilla
        hilla_port.save()
    else:
        hilla_port = ServiceDatabase.query().filter(
            ServiceDatabase.name == 'Hilla_port').one()

    if not ServiceDatabase.query().filter(
            ServiceDatabase.name == 'Lakka_port').all():
        lakka_port = ServiceDatabase()
        lakka_port.name = 'Lakka_port'
        lakka_port.service_group = lakka_ports
        lakka_port.server = hilla
        lakka_port.save()
    else:
        lakka_port = ServiceDatabase.query().filter(
            ServiceDatabase.name == 'Lakka_port').one()
    dbsession.commit()
Beispiel #2
0
def setup_development_servers():
    """
    Add lakka and hilla servers and create couple services and service groups
    """
    if not ServerDatabase.query().filter(ServerDatabase.name == 'Hilla').all():
        hilla = ServerDatabase()
        hilla.name = 'Hilla'
        hilla.save()
    else:
        hilla = ServerDatabase.query().filter(ServerDatabase.name == 'Hilla').one()

    if not ServerDatabase.query().filter(ServerDatabase.name == 'Lakka').all():
        lakka = ServerDatabase()
        lakka.name = 'Lakka'
        lakka.save()
    else:
        lakka = ServerDatabase.query().filter(ServerDatabase.name == 'Lakka').one()

    if not ServerDatabase.query().filter(ServerDatabase.name == 'db1').all():
        db1 = ServerDatabase()
        db1.name = 'db1'
        db1.save()
    else:
        db1 = ServerDatabase.query().filter(ServerDatabase.name == 'db1').one()

    if not ServerDatabase.query().filter(ServerDatabase.name == 'db2').all():
        db2 = ServerDatabase()
        db2.name = 'db2'
        db2.save()
    else:
        db2 = ServerDatabase.query().filter(ServerDatabase.name == 'db2').one()

    if not ServiceGroupDatabase.query().filter(ServiceGroupDatabase.name == 'Hilla_ports').all():
        hilla_ports = ServiceGroupDatabase()
        hilla_ports.name = 'Hilla_ports'
        hilla_ports.type = 'port'
        hilla_ports.save()
    else:
        hilla_ports = ServiceGroupDatabase.query().filter(ServiceGroupDatabase.name == 'Hilla_ports').one()

    if not ServiceGroupDatabase.query().filter(ServiceGroupDatabase.name == 'Lakka_ports').all():
        lakka_ports = ServiceGroupDatabase()
        lakka_ports.name = 'Lakka_ports'
        lakka_ports.type = 'port'
        lakka_ports.save()
    else:
        lakka_ports = ServiceGroupDatabase.query().filter(ServiceGroupDatabase.name == 'Lakka_ports').one()

    if not ServiceGroupDatabase.query().filter(ServiceGroupDatabase.name == 'Mysql_databases').all():
        mysql_databases = ServiceGroupDatabase()
        mysql_databases.name = 'Mysql_databases'
        mysql_databases.type = 'mysql_database'
        mysql_databases.save()
    else:
        mysql_databases = ServiceGroupDatabase.query().filter(ServiceGroupDatabase.name == 'Mysql_databases').one()

    if not ServiceGroupDatabase.query().filter(ServiceGroupDatabase.name == 'Psql_databases').all():
        psql_databases = ServiceGroupDatabase()
        psql_databases.name = 'Psql_databases'
        psql_databases.type = 'Psql_database'
        psql_databases.save()
    else:
        psql_databases = ServiceGroupDatabase.query().filter(ServiceGroupDatabase.name == 'Psql_databases').one()

    dbsession.flush()

    if not ServiceDatabase.query().filter(ServiceDatabase.name == 'Mysql_database').all():
        mysql_database = ServiceDatabase()
        mysql_database.name = 'Mysql_Database'
        mysql_database.service_group = mysql_databases
        mysql_database.server = hilla
        mysql_database.save()
    else:
        mysql_database = ServiceDatabase.query().filter(ServiceDatabase.name == 'Mysql_database').one()

    if not ServiceDatabase.query().filter(ServiceDatabase.name == 'Psql_database').all():
        psql_database = ServiceDatabase()
        psql_database.name = 'Psql_database'
        psql_database.service_group = psql_databases
        psql_database.server = hilla
        psql_database.save()
    else:
        psql_database = ServiceDatabase.query().filter(ServiceDatabase.name == 'Psql_database').one()

    if not ServiceDatabase.query().filter(ServiceDatabase.name == 'Hilla_port').all():
        hilla_port = ServiceDatabase()
        hilla_port.name = 'Hilla_port'
        hilla_port.service_group = hilla_ports
        hilla_port.server = hilla
        hilla_port.save()
    else:
        hilla_port = ServiceDatabase.query().filter(ServiceDatabase.name == 'Hilla_port').one()

    if not ServiceDatabase.query().filter(ServiceDatabase.name == 'Lakka_port').all():
        lakka_port = ServiceDatabase()
        lakka_port.name = 'Lakka_port'
        lakka_port.service_group = lakka_ports
        lakka_port.server = hilla
        lakka_port.save()
    else:
        lakka_port = ServiceDatabase.query().filter(ServiceDatabase.name == 'Lakka_port').one()
    dbsession.commit()
Beispiel #3
0
    def handle_request(self, msg):
        msg = msg.strip()
        if not msg:
            return
        logger.info("%s: Got message %s" % (str(self), msg))
        try:
            msg = json.loads(msg)
        except Exception as e:
            logger.exception(e)
            logger.error("Cannot parse message, not valid json")
            self.respond_error(reason="Invalid JSON")
            return

        if 'type' not in msg:
            logger.error("Message does not contain type")
            self.respond_error(msg_id=msg_id, reason="type missing")
            return

        msg_type = msg['type']

        if msg_type not in MsgTypes.values:
            logger.error("Message type %s is unknown" % msg_type)
            self.respond_error(msg_id=msg_id, reason="Unknown message type")
            return

        if 'id' not in msg:
            logger.error("Message does not contain id")
            self.respond_error()
            return
        msg_id = msg['id']
        if type(msg_id) != int:
            try:
                msg_id = int(msg_id)
            except Exception as e:
                logger.error("Message id type (%s) is wrong" % type(msg_id))
                self.respond_error(reason="Invalid ID")
                return

        if msg_type == MsgTypes.NOP:
            # No operation
            return

        if msg_type == MsgTypes.ACL:
            self._waiting_response = False
            return

        if msg_type == MsgTypes.HELLO:
            if 'version' not in msg:
                logger.error("Hello packet doesn't contain version")
                self.respond_error(reason="Hello packet doesn't contain version")
                return

            if msg['version'] != RENKISOCKET_VERSION:
                logger.error("Hello packet contains incorrect version")
                self.respond_error(reason="Hello packet contains incorrect version")
                return

            if 'name' not in msg:
                logger.error("Hello packet doesn't contain name")
                self.respond_error(reason="Hello packet doesn't contain name")
                return

            query = ServerDatabase.query()
            query = query.filter(ServerDatabase.name == msg['name'])
            try:
                query.one()
            except NoResultFound:
                logger.error("Hello packet contains invalid server name")
                self.respond_error(reason="Hello packet contains invalid server name")
                return

            sock.connections[msg['name']] = self
            # TODO : authentication for RenkiServers

        self.respond_acl(msg_id=msg_id, status="OK")