Exemplo n.º 1
0
def member_del(rs_id, member_id):
    logger.debug("member_del({rs_id}), {member_id}".format(**locals()))
    member_id = int(member_id)
    if rs_id not in ReplicaSets():
        return send_result(404)
    result = ReplicaSets().member_del(rs_id, member_id)
    return send_result(204, result)
Exemplo n.º 2
0
def member_del(rs_id, member_id):
    logger.debug("member_del({rs_id}), {member_id}".format(**locals()))
    member_id = int(member_id)
    if rs_id not in ReplicaSets():
        return send_result(404)
    result = ReplicaSets().member_del(rs_id, member_id)
    return send_result(204, result)
Exemplo n.º 3
0
def routers(cluster_id):
    logger.debug("routers({cluster_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    router_docs = []
    for router_info in ShardedClusters().routers(cluster_id):
        # Server id is the same as router id.
        server_id = router_info['id']
        links = [
            sharded_cluster_link('delete-router',
                                 cluster_id, router_id=server_id),
            server_link('get-server-info', server_id)
        ]
        router_info['links'] = links
        router_docs.append(router_info)
    result = {
        'routers': router_docs,
        'links': [
            sharded_cluster_link('get-sharded-cluster-info', cluster_id),
            sharded_cluster_link('get-shards', cluster_id),
            sharded_cluster_link('get-configsvrs', cluster_id),
            sharded_cluster_link('get-routers', cluster_id, self_rel=True)
        ]
    }
    return send_result(200, result)
Exemplo n.º 4
0
def shards(cluster_id):
    logger.debug("shards({cluster_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    shard_docs = []
    for shard_info in ShardedClusters().members(cluster_id):
        shard_id = shard_info['id']
        resource_id = shard_info['_id']
        shard_info['links'] = [
            sharded_cluster_link('get-shard-info', cluster_id, shard_id),
            sharded_cluster_link('delete-shard', cluster_id, shard_id),
            sharded_cluster_link('get-sharded-cluster-info', cluster_id),
        ]
        shard_info['links'].append(_server_or_rs_link(shard_info))
        shard_docs.append(shard_info)
    result = {
        'shards':
        shard_docs,
        'links': [
            sharded_cluster_link('get-sharded-cluster-info', cluster_id),
            sharded_cluster_link('get-shards', cluster_id, self_rel=True),
            sharded_cluster_link('get-configsvrs', cluster_id),
            sharded_cluster_link('get-routers', cluster_id)
        ]
    }
    return send_result(200, result)
Exemplo n.º 5
0
def shards(cluster_id):
    logger.debug("shards({cluster_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    shard_docs = []
    for shard_info in ShardedClusters().members(cluster_id):
        shard_id = shard_info['id']
        resource_id = shard_info['_id']
        shard_info['links'] = [
            sharded_cluster_link('get-shard-info', cluster_id, shard_id),
            sharded_cluster_link('delete-shard', cluster_id, shard_id),
            sharded_cluster_link('get-sharded-cluster-info', cluster_id),
        ]
        shard_info['links'].append(_server_or_rs_link(shard_info))
        shard_docs.append(shard_info)
    result = {
        'shards': shard_docs,
        'links': [
            sharded_cluster_link('get-sharded-cluster-info', cluster_id),
            sharded_cluster_link('get-shards', cluster_id, self_rel=True),
            sharded_cluster_link('get-configsvrs', cluster_id),
            sharded_cluster_link('get-routers', cluster_id)
        ]
    }
    return send_result(200, result)
Exemplo n.º 6
0
def routers(cluster_id):
    logger.debug("routers({cluster_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    router_docs = []
    for router_info in ShardedClusters().routers(cluster_id):
        # Server id is the same as router id.
        server_id = router_info['id']
        links = [
            sharded_cluster_link('delete-router',
                                 cluster_id,
                                 router_id=server_id),
            server_link('get-server-info', server_id)
        ]
        router_info['links'] = links
        router_docs.append(router_info)
    result = {
        'routers':
        router_docs,
        'links': [
            sharded_cluster_link('get-sharded-cluster-info', cluster_id),
            sharded_cluster_link('get-shards', cluster_id),
            sharded_cluster_link('get-configsvrs', cluster_id),
            sharded_cluster_link('get-routers', cluster_id, self_rel=True)
        ]
    }
    return send_result(200, result)
Exemplo n.º 7
0
def host_info(host_id):
    logger.debug("host_info({host_id})".format(**locals()))
    if host_id not in Servers():
        return send_result(404)
    result = Servers().info(host_id)
    result['links'] = all_server_links(host_id, rel_to='get-server-info')
    result['links'].append(server_link('get-servers'))
    return send_result(200, result)
Exemplo n.º 8
0
def member_info(rs_id, member_id):
    logger.debug("member_info({rs_id}, {member_id})".format(**locals()))
    member_id = int(member_id)
    if rs_id not in ReplicaSets():
        return send_result(404)
    result = ReplicaSets().member_info(rs_id, member_id)
    result['links'] = _build_member_links(rs_id, result)
    result['links'].extend(_build_member_parent_links(rs_id))
    return send_result(200, result)
Exemplo n.º 9
0
def member_info(rs_id, member_id):
    logger.debug("member_info({rs_id}, {member_id})".format(**locals()))
    member_id = int(member_id)
    if rs_id not in ReplicaSets():
        return send_result(404)
    result = ReplicaSets().member_info(rs_id, member_id)
    result['links'] = _build_member_links(rs_id, result)
    result['links'].extend(_build_member_parent_links(rs_id))
    return send_result(200, result)
Exemplo n.º 10
0
def rs_member_primary(rs_id):
    logger.debug("rs_member_primary({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    result = ReplicaSets().primary(rs_id)
    result['links'] = _build_member_links(rs_id, result)
    result['links'].extend(
        _build_member_parent_links(rs_id, 'get-replica-set-primary'))
    return send_result(200, result)
Exemplo n.º 11
0
def rs_member_primary(rs_id):
    logger.debug("rs_member_primary({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    result = ReplicaSets().primary(rs_id)
    result['links'] = _build_member_links(rs_id, result)
    result['links'].extend(
        _build_member_parent_links(rs_id, 'get-replica-set-primary'))
    return send_result(200, result)
Exemplo n.º 12
0
def servers(rs_id):
    logger.debug("hosts({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    server_docs = []
    for server_info in ReplicaSets().servers(rs_id):
        server_info['links'] = _build_member_links(rs_id, server_info)
        server_docs.append(server_info)
    result = {
        'servers': server_docs,
        'links': _build_member_parent_links(rs_id, 'get-replica-set-servers')
    }
    return send_result(200, result)
Exemplo n.º 13
0
def servers(rs_id):
    logger.debug("hosts({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    server_docs = []
    for server_info in ReplicaSets().servers(rs_id):
        server_info['links'] = _build_member_links(rs_id, server_info)
        server_docs.append(server_info)
    result = {
        'servers': server_docs,
        'links': _build_member_parent_links(rs_id, 'get-replica-set-servers')
    }
    return send_result(200, result)
Exemplo n.º 14
0
def arbiters(rs_id):
    logger.debug("arbiters({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    arbiter_docs = []
    for arbiter_info in ReplicaSets().arbiters(rs_id):
        arbiter_info['links'] = _build_member_links(rs_id, arbiter_info)
        arbiter_docs.append(arbiter_info)
    result = {
        'arbiters': arbiter_docs,
        'links': _build_member_parent_links(rs_id, 'get-replica-set-arbiters')
    }
    return send_result(200, result)
Exemplo n.º 15
0
def members(rs_id):
    logger.debug("members({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    member_docs = []
    for member_info in ReplicaSets().members(rs_id):
        member_info['links'] = _build_member_links(rs_id, member_info)
        member_docs.append(member_info)
    result = {
        'members': member_docs,
        'links': _build_member_parent_links(rs_id, 'get-replica-set-members')
    }
    return send_result(200, result)
Exemplo n.º 16
0
def member_add(rs_id):
    logger.debug("member_add({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    data = get_json(request.body)
    member_id = ReplicaSets().member_add(rs_id, data)
    result = ReplicaSets().member_info(rs_id, member_id)
    result['links'] = _build_member_links(rs_id, result)
    result['links'].extend(
        _build_member_parent_links(rs_id, 'add-replica-set-member'))
    result['links'].append(
        replica_set_link('add-replica-set-member', self_rel=True))
    return send_result(200, result)
Exemplo n.º 17
0
def rs_info(rs_id):
    logger.debug("rs_info({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    result = ReplicaSets().info(rs_id)
    result['links'] = all_replica_set_links(rs_id, 'get-replica-set-info')
    for member in result['members']:
        member['links'] = [
            server_link('get-server-info', server_id=member['server_id']),
            replica_set_link(
                'get-replica-set-member-info', rs_id, member['_id'])
        ]
    return send_result(200, result)
Exemplo n.º 18
0
def arbiters(rs_id):
    logger.debug("arbiters({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    arbiter_docs = []
    for arbiter_info in ReplicaSets().arbiters(rs_id):
        arbiter_info['links'] = _build_member_links(rs_id, arbiter_info)
        arbiter_docs.append(arbiter_info)
    result = {
        'arbiters': arbiter_docs,
        'links': _build_member_parent_links(rs_id, 'get-replica-set-arbiters')
    }
    return send_result(200, result)
Exemplo n.º 19
0
def member_update(rs_id, member_id):
    logger.debug("member_update({rs_id}, {member_id})".format(**locals()))
    member_id = int(member_id)
    if rs_id not in ReplicaSets():
        return send_result(404)
    data = get_json(request.body)
    ReplicaSets().member_update(rs_id, member_id, data)
    result = ReplicaSets().member_info(rs_id, member_id)
    result['links'] = _build_member_links(rs_id, result)
    result['links'].extend(_build_member_parent_links(rs_id))
    result['links'].append(replica_set_link(
        'update-replica-set-member-config', rs_id, member_id, self_rel=True))
    return send_result(200, result)
Exemplo n.º 20
0
def rs_info(rs_id):
    logger.debug("rs_info({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    result = ReplicaSets().info(rs_id)
    result['links'] = all_replica_set_links(rs_id, 'get-replica-set-info')
    for member in result['members']:
        member['links'] = [
            server_link('get-server-info', server_id=member['server_id']),
            replica_set_link('get-replica-set-member-info', rs_id,
                             member['_id'])
        ]
    return send_result(200, result)
Exemplo n.º 21
0
def member_update(rs_id, member_id):
    logger.debug("member_update({rs_id}, {member_id})".format(**locals()))
    member_id = int(member_id)
    if rs_id not in ReplicaSets():
        return send_result(404)
    data = get_json(request.body)
    ReplicaSets().member_update(rs_id, member_id, data)
    result = ReplicaSets().member_info(rs_id, member_id)
    result['links'] = _build_member_links(rs_id, result)
    result['links'].extend(_build_member_parent_links(rs_id))
    result['links'].append(replica_set_link(
        'update-replica-set-member-config', rs_id, member_id, self_rel=True))
    return send_result(200, result)
Exemplo n.º 22
0
def sh_command(cluster_id):
    logger.debug("sh_command({cluster_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    command = get_json(request.body).get('action')
    if command is None:
        raise RequestError('Expected body with an {"action": ...}.')
    result = {
        'command_result': ShardedClusters().command(cluster_id, command),
        'links': all_sharded_cluster_links(cluster_id,
                                           rel_to='sharded-cluster-command')
    }
    return send_result(200, result)
Exemplo n.º 23
0
def host_command(host_id):
    logger.debug("host_command({host_id})".format(**locals()))
    if host_id not in Servers():
        return send_result(404)
    command = get_json(request.body).get('action')
    if command is None:
        raise RequestError('Expected body with an {"action": ...}.')
    result = {
        'command_result': Servers().command(host_id, command),
        'links': all_server_links(host_id, rel_to='server-command')
    }
    result['links'].append(server_link('get-servers'))
    return send_result(200, result)
Exemplo n.º 24
0
def member_add(rs_id):
    logger.debug("member_add({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    data = get_json(request.body)
    member_id = ReplicaSets().member_add(rs_id, data)
    result = ReplicaSets().member_info(rs_id, member_id)
    result['links'] = _build_member_links(rs_id, result)
    result['links'].extend(
        _build_member_parent_links(rs_id, 'add-replica-set-member'))
    result['links'].append(
        replica_set_link('add-replica-set-member', self_rel=True))
    return send_result(200, result)
Exemplo n.º 25
0
def members(rs_id):
    logger.debug("members({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    member_docs = []
    for member_info in ReplicaSets().members(rs_id):
        member_info['links'] = _build_member_links(rs_id, member_info)
        member_docs.append(member_info)
    result = {
        'members': member_docs,
        'links': _build_member_parent_links(rs_id, 'get-replica-set-members')
    }
    return send_result(200, result)
Exemplo n.º 26
0
def rs_command(rs_id):
    logger.debug("rs_command({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    command = get_json(request.body).get('action')
    if command is None:
        raise RequestError('Expected body with an {"action": ...}.')
    result = {
        'command_result': ReplicaSets().command(rs_id, command),
        'links': all_replica_set_links(rs_id, 'replica-set-command')
    }
    result['links'].append(
        replica_set_link('replica-set-command', self_rel=True))
    return send_result(200, result)
Exemplo n.º 27
0
def passives(rs_id):
    logger.debug("passives({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    passive_docs = []
    for passive_info in ReplicaSets().passives(rs_id):
        passive_info['links'] = _build_member_links(rs_id, passive_info)
        passive_docs.append(passive_info)
    result = {
        'passives': passive_docs,
        'links': _build_member_parent_links(
            rs_id, 'get-replica-set-passive-members')
    }
    return send_result(200, result)
Exemplo n.º 28
0
def hidden(rs_id):
    logger.debug("hidden({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    hidden_docs = []
    for hidden_info in ReplicaSets().hidden(rs_id):
        hidden_info['links'] = _build_member_links(rs_id, hidden_info)
        hidden_docs.append(hidden_info)
    result = {
        'hidden': hidden_docs,
        'links': _build_member_parent_links(
            rs_id, 'get-replica-set-hidden-members')
    }
    return send_result(200, result)
Exemplo n.º 29
0
def passives(rs_id):
    logger.debug("passives({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    passive_docs = []
    for passive_info in ReplicaSets().passives(rs_id):
        passive_info['links'] = _build_member_links(rs_id, passive_info)
        passive_docs.append(passive_info)
    result = {
        'passives': passive_docs,
        'links': _build_member_parent_links(
            rs_id, 'get-replica-set-passive-members')
    }
    return send_result(200, result)
Exemplo n.º 30
0
def sh_command(cluster_id):
    logger.debug("sh_command({cluster_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    command = get_json(request.body).get('action')
    if command is None:
        raise RequestError('Expected body with an {"action": ...}.')
    result = {
        'command_result':
        ShardedClusters().command(cluster_id, command),
        'links':
        all_sharded_cluster_links(cluster_id, rel_to='sharded-cluster-command')
    }
    return send_result(200, result)
Exemplo n.º 31
0
def hidden(rs_id):
    logger.debug("hidden({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    hidden_docs = []
    for hidden_info in ReplicaSets().hidden(rs_id):
        hidden_info['links'] = _build_member_links(rs_id, hidden_info)
        hidden_docs.append(hidden_info)
    result = {
        'hidden': hidden_docs,
        'links': _build_member_parent_links(
            rs_id, 'get-replica-set-hidden-members')
    }
    return send_result(200, result)
Exemplo n.º 32
0
def rs_command(rs_id):
    logger.debug("rs_command({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    command = get_json(request.body).get('action')
    if command is None:
        raise RequestError('Expected body with an {"action": ...}.')
    result = {
        'command_result': ReplicaSets().command(rs_id, command),
        'links': all_replica_set_links(rs_id, 'replica-set-command')
    }
    result['links'].append(
        replica_set_link('replica-set-command', self_rel=True))
    return send_result(200, result)
Exemplo n.º 33
0
def router_add(cluster_id):
    logger.debug("router_add({cluster_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    data = get_json(request.body)
    result = ShardedClusters().router_add(cluster_id, data)
    router_id = result['id']
    result['links'] = [
        server_link('get-server-info', router_id),
        sharded_cluster_link('add-router', cluster_id, self_rel=True),
        sharded_cluster_link('delete-router', cluster_id, router_id=router_id),
        sharded_cluster_link('get-sharded-cluster-info', cluster_id),
        sharded_cluster_link('get-routers', cluster_id),
    ]
    return send_result(200, result)
Exemplo n.º 34
0
def router_add(cluster_id):
    logger.debug("router_add({cluster_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    data = get_json(request.body)
    result = ShardedClusters().router_add(cluster_id, data)
    router_id = result['id']
    result['links'] = [
        server_link('get-server-info', router_id),
        sharded_cluster_link('add-router', cluster_id, self_rel=True),
        sharded_cluster_link('delete-router', cluster_id, router_id=router_id),
        sharded_cluster_link('get-sharded-cluster-info', cluster_id),
        sharded_cluster_link('get-routers', cluster_id),
    ]
    return send_result(200, result)
Exemplo n.º 35
0
def base_uri():
    logger.debug("base_uri()")
    data = {
        "service": "mongo-orchestration",
        "version": __version__,
        "links": all_base_links(rel_to='service')
    }
    return send_result(200, data)
Exemplo n.º 36
0
def shard_add(cluster_id):
    logger.debug("shard_add({cluster_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    data = get_json(request.body)
    result = ShardedClusters().member_add(cluster_id, data)
    resource_id = result['_id']
    shard_id = result['id']
    result['links'] = [
        sharded_cluster_link('get-shard-info', cluster_id, shard_id),
        sharded_cluster_link('delete-shard', cluster_id, shard_id),
        sharded_cluster_link('add-shard', cluster_id, self_rel=True),
        sharded_cluster_link('get-sharded-cluster-info', cluster_id),
        sharded_cluster_link('get-shards', cluster_id)
    ]
    result['links'].append(_server_or_rs_link(result))
    return send_result(200, result)
Exemplo n.º 37
0
def shard_info(cluster_id, shard_id):
    logger.debug("shard_info({cluster_id}, {shard_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    result = ShardedClusters().member_info(cluster_id, shard_id)
    resource_id = result['_id']
    shard_id = result['id']
    result['links'] = [
        sharded_cluster_link(
            'get-shard-info', cluster_id, shard_id, self_rel=True),
        sharded_cluster_link('delete-shard', cluster_id, shard_id),
        sharded_cluster_link('add-shard', cluster_id),
        sharded_cluster_link('get-sharded-cluster-info', cluster_id),
        sharded_cluster_link('get-shards', cluster_id)
    ]
    result['links'].append(_server_or_rs_link(result))
    return send_result(200, result)
Exemplo n.º 38
0
def info(cluster_id):
    logger.debug("info({cluster_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    result = ShardedClusters().info(cluster_id)
    result['links'] = all_sharded_cluster_links(
        cluster_id, rel_to='get-sharded-cluster-info')
    for router in result['routers']:
        router['links'] = [
            server_link('get-server-info', server_id=router['id'])
        ]
    for cfg in result['configsvrs']:
        cfg['links'] = [server_link('get-server-info', server_id=cfg['id'])]
    for sh in result['shards']:
        sh['links'] = [
            sharded_cluster_link('get-shard-info', cluster_id, sh['id']),
            _server_or_rs_link(sh)
        ]
    return send_result(200, result)
Exemplo n.º 39
0
def configsvrs(cluster_id):
    logger.debug("configsvrs({cluster_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    config_docs = []
    for config_info in ShardedClusters().configsvrs(cluster_id):
        server_id = config_info['id']
        config_info['links'] = [server_link('get-server-info', server_id)]
        config_docs.append(config_info)
    result = {
        'configsvrs':
        config_docs,
        'links': [
            sharded_cluster_link('get-sharded-cluster-info', cluster_id),
            sharded_cluster_link('get-shards', cluster_id),
            sharded_cluster_link('get-configsvrs', cluster_id, self_rel=True),
            sharded_cluster_link('get-routers', cluster_id)
        ]
    }
    return send_result(200, result)
Exemplo n.º 40
0
def info(cluster_id):
    logger.debug("info({cluster_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    result = ShardedClusters().info(cluster_id)
    result['links'] = all_sharded_cluster_links(
        cluster_id, rel_to='get-sharded-cluster-info')
    for router in result['routers']:
        router['links'] = [
            server_link('get-server-info', server_id=router['id'])
        ]
    for cfg in result['configsvrs']:
        cfg['links'] = [
            server_link('get-server-info', server_id=cfg['id'])
        ]
    for sh in result['shards']:
        sh['links'] = [
            sharded_cluster_link('get-shard-info', cluster_id, sh['id']),
            _server_or_rs_link(sh)
        ]
    return send_result(200, result)
Exemplo n.º 41
0
def configsvrs(cluster_id):
    logger.debug("configsvrs({cluster_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    config_docs = []
    for config_info in ShardedClusters().configsvrs(cluster_id):
        server_id = config_info['id']
        config_info['links'] = [
            server_link('get-server-info', server_id)
        ]
        config_docs.append(config_info)
    result = {
        'configsvrs': config_docs,
        'links': [
            sharded_cluster_link('get-sharded-cluster-info', cluster_id),
            sharded_cluster_link('get-shards', cluster_id),
            sharded_cluster_link('get-configsvrs', cluster_id, self_rel=True),
            sharded_cluster_link('get-routers', cluster_id)
        ]
    }
    return send_result(200, result)
Exemplo n.º 42
0
def host_create():
    data = get_json(request.body)
    data = preset_merge(data, 'servers')
    result = _host_create(data)
    result['links'].extend([
        base_link('service'),
        base_link('get-releases'),
        server_link('get-servers'),
        server_link('add-server', self_rel=True),
        replica_set_link('get-replica-sets'),
        sharded_cluster_link('get-sharded-clusters')
    ])
    return send_result(200, result)
Exemplo n.º 43
0
def rs_create_by_id(rs_id):
    logger.debug("rs_create_by_id()")
    data = get_json(request.body)
    data = preset_merge(data, 'replica_sets')
    data['id'] = rs_id
    result = _rs_create(data)
    result['links'].extend([
        base_link('service'),
        base_link('get-releases'),
        sharded_cluster_link('get-sharded-clusters'),
        replica_set_link('get-replica-sets'),
        replica_set_link('add-replica-set'),
        replica_set_link('add-replica-set-by-id', rs_id, self_rel=True),
        server_link('get-servers')
    ])
    return send_result(200, result)
Exemplo n.º 44
0
def rs_create_by_id(rs_id):
    logger.debug("rs_create_by_id()")
    data = get_json(request.body)
    data = preset_merge(data, 'replica_sets')
    data['id'] = rs_id
    result = _rs_create(data)
    result['links'].extend([
        base_link('service'),
        base_link('get-releases'),
        sharded_cluster_link('get-sharded-clusters'),
        replica_set_link('get-replica-sets'),
        replica_set_link('add-replica-set'),
        replica_set_link('add-replica-set-by-id', rs_id, self_rel=True),
        server_link('get-servers')
    ])
    return send_result(200, result)
Exemplo n.º 45
0
def rs_list():
    logger.debug("rs_list()")
    replica_sets = []
    for rs_id in ReplicaSets():
        repl_info = {'id': rs_id}
        repl_info['links'] = all_replica_set_links(rs_id, 'get-replica-sets')
        replica_sets.append(repl_info)
    response = {'links': [
        base_link('service'),
        base_link('get-releases'),
        sharded_cluster_link('get-sharded-clusters'),
        replica_set_link('get-replica-sets', self_rel=True),
        replica_set_link('add-replica-set'),
        server_link('get-servers')
    ]}
    response['replica_sets'] = replica_sets
    return send_result(200, response)
Exemplo n.º 46
0
def rs_list():
    logger.debug("rs_list()")
    replica_sets = []
    for rs_id in ReplicaSets():
        repl_info = {'id': rs_id}
        repl_info['links'] = all_replica_set_links(rs_id, 'get-replica-sets')
        replica_sets.append(repl_info)
    response = {'links': [
        base_link('service'),
        base_link('get-releases'),
        sharded_cluster_link('get-sharded-clusters'),
        replica_set_link('get-replica-sets', self_rel=True),
        replica_set_link('add-replica-set'),
        server_link('get-servers')
    ]}
    response['replica_sets'] = replica_sets
    return send_result(200, response)
Exemplo n.º 47
0
def host_list():
    logger.debug("host_list()")
    servers = []
    for server_id in Servers():
        server_info = {'id': server_id}
        server_info['links'] = all_server_links(
            server_id, rel_to='get-servers')
        servers.append(server_info)
    response = {'links': [
        base_link('service'),
        base_link('get-releases'),
        server_link('get-servers', self_rel=True),
        server_link('add-server'),
        replica_set_link('get-replica-sets'),
        sharded_cluster_link('get-sharded-clusters')
    ]}
    response['servers'] = servers
    return send_result(200, response)
Exemplo n.º 48
0
def shard_del(cluster_id, shard_id):
    logger.debug("member_del({cluster_id}), {shard_id}".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    result = ShardedClusters().member_del(cluster_id, shard_id)
    return send_result(204, result)
Exemplo n.º 49
0
def host_del(host_id):
    logger.debug("host_del({host_id})")
    if host_id not in Servers():
        return send_result(404)
    Servers().remove(host_id)
    return send_result(204)
Exemplo n.º 50
0
def shard_del(cluster_id, shard_id):
    logger.debug("member_del({cluster_id}), {shard_id}".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    result = ShardedClusters().member_del(cluster_id, shard_id)
    return send_result(204, result)
Exemplo n.º 51
0
def releases_list():
    response = {
        'releases': Servers().releases,
        'links': all_base_links(rel_to='get-releases')
    }
    return send_result(200, response)
Exemplo n.º 52
0
def rs_del(rs_id):
    logger.debug("rs_del({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    result = ReplicaSets().remove(rs_id)
    return send_result(204, result)
Exemplo n.º 53
0
def router_del(cluster_id, router_id):
    logger.debug("router_del({cluster_id}), {router_id}".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    result = ShardedClusters().router_del(cluster_id, router_id)
    return send_result(204, result)