Skip to content

Commit ebbf3af

Browse files
alexvruGazizonoki
authored andcommitted
Moved commit "Public API bootstrap command" from ydb repo
1 parent 4129f9d commit ebbf3af

File tree

4 files changed

+30
-4
lines changed

4 files changed

+30
-4
lines changed

include/ydb-cpp-sdk/client/bsconfig/storage_config.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ class TStorageConfigClient {
4444
// Fetch current cluster storage config
4545
TAsyncFetchStorageConfigResult FetchStorageConfig(const TStorageConfigSettings& settings = {});
4646

47+
// Bootstrap cluster with automatic configuration
48+
TAsyncStatus BootstrapCluster(const std::string& selfAssemblyUUID);
49+
4750
private:
4851
class TImpl;
4952

src/api/grpc/ydb_bsconfig_v1.proto

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,13 @@ import "src/api/protos/ydb_bsconfig.proto";
1010

1111
service BSConfigService {
1212

13-
// Initialize Blobstorage host configs and box
13+
// Initialize Blobstorage/single config
1414
rpc ReplaceStorageConfig(BSConfig.ReplaceStorageConfigRequest) returns (BSConfig.ReplaceStorageConfigResponse);
1515

16-
// Fetch Blobstorage host configs and box
16+
// Fetch Blobstorage/single config
1717
rpc FetchStorageConfig(BSConfig.FetchStorageConfigRequest) returns (BSConfig.FetchStorageConfigResponse);
1818

19-
}
19+
// Bootstrap automatically configured cluster
20+
rpc BootstrapCluster(BSConfig.BootstrapClusterRequest) returns (BSConfig.BootstrapClusterResponse);
21+
22+
}

src/api/protos/ydb_bsconfig.proto

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,13 @@ message FetchStorageConfigResponse {
3535

3636
message FetchStorageConfigResult {
3737
string yaml_config = 1;
38-
}
38+
}
39+
40+
message BootstrapClusterRequest {
41+
Ydb.Operations.OperationParams operation_params = 1;
42+
string self_assembly_uuid = 2;
43+
}
44+
45+
message BootstrapClusterResponse {
46+
Ydb.Operations.Operation operation = 1;
47+
}

src/client/bsconfig/storage_config.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,13 @@ class TStorageConfigClient::TImpl : public TClientImplCommon<TStorageConfigClien
4747
return promise.GetFuture();
4848
}
4949

50+
TAsyncStatus BootstrapCluster(const std::string& selfAssemblyUUID) {
51+
auto request = MakeRequest<Ydb::BSConfig::BootstrapClusterRequest>();
52+
request.set_self_assembly_uuid(selfAssemblyUUID);
53+
return RunSimple<Ydb::BSConfig::V1::BSConfigService, Ydb::BSConfig::BootstrapClusterRequest,
54+
Ydb::BSConfig::BootstrapClusterResponse>(std::move(request),
55+
&Ydb::BSConfig::V1::BSConfigService::Stub::AsyncBootstrapCluster);
56+
}
5057
};
5158

5259
TStorageConfigClient::TStorageConfigClient(const TDriver& driver, const TCommonClientSettings& settings)
@@ -63,5 +70,9 @@ TAsyncFetchStorageConfigResult TStorageConfigClient::FetchStorageConfig(const TS
6370
return Impl_->FetchStorageConfig(settings);
6471
}
6572

73+
TAsyncStatus TStorageConfigClient::BootstrapCluster(const std::string& selfAssemblyUUID) {
74+
return Impl_->BootstrapCluster(selfAssemblyUUID);
75+
}
76+
6677

6778
}

0 commit comments

Comments
 (0)