Esempio n. 1
0
def create_cluster_request(params):
    database_specs = [DatabaseSpec(name=params.db_name)]
    permissions = [Permission(database_name=params.db_name)]
    user_specs = [
        UserSpec(name=params.user_name,
                 password=params.user_password,
                 permissions=permissions)
    ]

    host_ch_spec = cluster_service.HostSpec(zone_id=params.zone,
                                            type="CLICKHOUSE",
                                            subnet_id=params.subnet_id,
                                            assign_public_ip=False)

    host_zk_spec = cluster_service.HostSpec(zone_id=params.zone,
                                            type="ZOOKEEPER",
                                            subnet_id=params.subnet_id,
                                            assign_public_ip=False)

    host_specs = [
        host_ch_spec, host_ch_spec, host_zk_spec, host_zk_spec, host_zk_spec
    ]

    res = Resources(resource_preset_id="s1.nano",
                    disk_size=10 * (1024**3),
                    disk_type_id="network-nvme")

    config_spec = cluster_service.ConfigSpec(
        clickhouse=cluster_service.ConfigSpec.Clickhouse(resources=res),
        zookeeper=cluster_service.ConfigSpec.Zookeeper(resources=res))

    return cluster_service.CreateClusterRequest(
        folder_id=params.folder_id,
        name=params.cluster_name,
        description=params.cluster_desc,
        environment="PRODUCTION",
        config_spec=config_spec,
        database_specs=database_specs,
        user_specs=user_specs,
        host_specs=host_specs,
        network_id=params.network_id)
Esempio n. 2
0
def add_cluster_host(sdk, cluster, params):
    print("Adding host to cluster {}".format(cluster.id))

    host_ch_spec = cluster_service.HostSpec(zone_id=params.zone,
                                            type="CLICKHOUSE",
                                            subnet_id=params.subnet_id,
                                            assign_public_ip=False)

    host_specs = [host_ch_spec]
    req = cluster_service.AddClusterHostsRequest(cluster_id=cluster.id,
                                                 host_specs=host_specs)

    operation = sdk.client(
        cluster_service_grpc.ClusterServiceStub).AddHosts(req)
    wait_for_operation(sdk, operation)
Esempio n. 3
0
def add_cluster_host(sdk, cluster_id, params):
    print('Adding host to cluster {}'.format(cluster_id))

    host_ch_spec = cluster_service.HostSpec(zone_id=params.zone,
                                            type='CLICKHOUSE',
                                            subnet_id=params.subnet_id,
                                            assign_public_ip=False)

    host_specs = [host_ch_spec]
    request = cluster_service.AddClusterHostsRequest(cluster_id=cluster_id,
                                                     host_specs=host_specs)

    operation = sdk.client(
        cluster_service_grpc.ClusterServiceStub).AddHosts(request)
    return sdk.wait_operation_and_get_result(
        operation,
        meta_type=cluster_service.AddClusterHostsMetadata,
    )