예제 #1
0
def register_database_laas(database):
    workspace_json = {}
    workspace_json["team"] = {
        "name": database.team.name,
        "users": get_users_for_team(database.team),
    }

    if re.match(r'^mongo.*', database.engine_type):
        app = ["mongod.27017"]
    elif re.match(r'^mysql.*', database.engine_type):
        app = ["mysqld", "mysql-slow"]
    elif re.match(r'^redis.*', database.engine_type):
        app = ["redis", "sentinel"]

    hosts = get_hosts_for_database(database)

    groups = [{
        "filter_name": "host:(%s) AND app:(%s)" % (" OR ".join(hosts), " OR ".join(app)),
        "name": get_group_name(database)
    }]

    workspace_json["workspace"] = {
        "description": "%s Workspace" % database.team.name,
        "name": database.team.name,
        "groups": groups
    }

    workspace_json = json.dumps(workspace_json)
    LOG.info("Register workspace on LaaS. Workspace info: %s" %
             (workspace_json))
    try:
        LaaSProvider.update_laas_workspace(
            environment=database.environment, laas_workspace=workspace_json)
    except Exception, e:
        LOG.error("Ops... something went wrong: %s" % e)
예제 #2
0
def register_database_laas(database):
    workspace_json = {}
    workspace_json["team"] = {
        "name" : database.team.name,
        "users" : get_users_for_team(database.team),
    }

    if re.match(r'^mongo.*', database.engine_type):
        app = ["mongod.27017"]
    elif re.match(r'^mysql.*', database.engine_type):
        app = ["mysqld", "mysql-slow"]
    elif re.match(r'^redis.*', database.engine_type):
        app = ["redis", "sentinel"]

    hosts = get_hosts_for_database(database)

    groups = [{
        "filter_name" : "host:(%s) AND app:(%s)" % (" OR ".join(hosts), " OR ".join(app)),
        "name" : get_group_name(database)
    }]

    workspace_json["workspace"] = {
        "description" : "%s Workspace" % database.team.name,
        "name" : database.team.name,
        "groups" : groups
    }

    workspace_json = json.dumps(workspace_json)
    LOG.info("Register workspace on LaaS. Workspace info: %s" % (workspace_json))
    try:
        LaaSProvider.update_laas_workspace(environment=database.environment, laas_workspace=workspace_json)
    except Exception, e:
        LOG.error("Ops... something went wrong: %s" % e)
예제 #3
0
def register_database_laas(database):
    workspace_json = {}
    workspace_json["team"] = {
        "name" : database.team.name,
        "users" : get_users_for_team(database.team),
    }
    
    from util.providers import MYSQL, MONGODB, get_engine
    engine = get_engine(database.engine_type)
    if engine == MYSQL:
        app = ["mysqld", "mysql-slow"]
    elif engine == MONGODB:
        app = ["mongod.27017"]
    else:
        app =[]

    hosts = get_hosts_for_database(database)

    groups = [{
        "filter_name" : "host:(%s) AND app:(%s)" % (" OR ".join(hosts), " OR ".join(app)),
        "name" : get_group_name(database)
    }]

    workspace_json["workspace"] = {
        "description" : "%s Workspace" % database.team.name,
        "name" : database.team.name,
        "groups" : groups
    }
    
    workspace_json = json.dumps(workspace_json)
    LOG.info("Register workspace on LaaS. Workspace info: %s" % (workspace_json))
    try:
        LaaSProvider.update_laas_workspace(environment=database.environment, laas_workspace=workspace_json)
    except Exception, e:
        LOG.error("Ops... something went wrong: %s" % e)    
예제 #4
0
def register_database_laas(database):
    workspace_json = {}
    workspace_json["team"] = {
        "name": database.team.name,
        "users": get_users_for_team(database.team),
    }

    from util.providers import MYSQL, MONGODB, REDIS, get_engine
    engine = get_engine(database.engine_type)
    if engine == MYSQL:
        app = ["mysqld", "mysql-slow"]
    elif engine == MONGODB:
        app = ["mongod.27017"]
    elif engine == REDIS:
        app = ["redis"]
    else:
        app = []

    hosts = get_hosts_for_database(database)

    groups = [{
        "filter_name":
        "host:(%s) AND app:(%s)" % (" OR ".join(hosts), " OR ".join(app)),
        "name":
        get_group_name(database)
    }]

    workspace_json["workspace"] = {
        "description": "%s Workspace" % database.team.name,
        "name": database.team.name,
        "groups": groups
    }

    workspace_json = json.dumps(workspace_json)
    LOG.info("Register workspace on LaaS. Workspace info: %s" %
             (workspace_json))
    try:
        LaaSProvider.update_laas_workspace(environment=database.environment,
                                           laas_workspace=workspace_json)
    except Exception, e:
        LOG.error("Ops... something went wrong: %s" % e)