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()
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()
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")