aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authord-mokhnatkin <d-mokhnatkin@ydb.tech>2022-11-25 19:16:35 +0300
committerd-mokhnatkin <d-mokhnatkin@ydb.tech>2022-11-25 19:16:35 +0300
commitc9d0aa8e198fc96e3cd5bcf8663a969d8df33e8a (patch)
tree893992ba4de8980e37dc0faff7b2f325745d282f
parent89e3d3be6549dd04a748f53756a0f8a5df821d07 (diff)
downloadydb-c9d0aa8e198fc96e3cd5bcf8663a969d8df33e8a.tar.gz
move monitoring endpoint to config
-rw-r--r--ydb/core/yq/libs/actors/clusters_from_connections.cpp48
-rw-r--r--ydb/core/yq/libs/actors/clusters_from_connections.h3
-rw-r--r--ydb/core/yq/libs/actors/run_actor.cpp11
-rw-r--r--ydb/core/yq/libs/config/protos/common.proto1
-rw-r--r--ydb/core/yq/libs/test_connection/test_connection.cpp14
-rw-r--r--ydb/core/yq/libs/test_connection/test_connection.h1
-rw-r--r--ydb/core/yq/libs/test_connection/test_monitoring.cpp8
7 files changed, 54 insertions, 32 deletions
diff --git a/ydb/core/yq/libs/actors/clusters_from_connections.cpp b/ydb/core/yq/libs/actors/clusters_from_connections.cpp
index 286cec59631..4cb3a77e330 100644
--- a/ydb/core/yq/libs/actors/clusters_from_connections.cpp
+++ b/ydb/core/yq/libs/actors/clusters_from_connections.cpp
@@ -72,29 +72,18 @@ void FillS3ClusterConfig(NYql::TS3ClusterConfig& clusterConfig,
}
void FillSolomonClusterConfig(NYql::TSolomonClusterConfig& clusterConfig,
- const TString& name, const TString& authToken,
- const THashMap<TString, TString>& accountIdSignatures,
- const YandexQuery::Monitoring& monitoring) {
- clusterConfig.SetName(name);
-
- // TODO: move Endpoint to yq config
- auto solomonEndpointForTest = GetEnv("SOLOMON_ENDPOINT");
- auto solomonEndpoint = solomonEndpointForTest ? TString(solomonEndpointForTest) : TString();
- if (solomonEndpoint.empty()) {
- if (name.StartsWith("__pre")) {
- solomonEndpoint = "monitoring.api.cloud-preprod.yandex.net";
- clusterConfig.SetUseSsl(true);
- } else {
- solomonEndpoint = "monitoring.api.cloud.yandex.net";
- clusterConfig.SetUseSsl(true);
- }
- }
+ const TString& name,
+ const TString& authToken,
+ const TString& endpoint,
+ const THashMap<TString, TString>& accountIdSignatures,
+ const YandexQuery::Monitoring& monitoring) {
+ clusterConfig.SetName(name);
- clusterConfig.SetCluster(solomonEndpoint);
- clusterConfig.SetClusterType(TSolomonClusterConfig::SCT_MONITORING);
- clusterConfig.MutablePath()->SetProject(monitoring.project());
- clusterConfig.MutablePath()->SetCluster(monitoring.cluster());
- FillClusterAuth(clusterConfig, monitoring.auth(), authToken, accountIdSignatures);
+ clusterConfig.SetCluster(endpoint);
+ clusterConfig.SetClusterType(TSolomonClusterConfig::SCT_MONITORING);
+ clusterConfig.MutablePath()->SetProject(monitoring.project());
+ clusterConfig.MutablePath()->SetCluster(monitoring.cluster());
+ FillClusterAuth(clusterConfig, monitoring.auth(), authToken, accountIdSignatures);
}
} //namespace
@@ -122,22 +111,27 @@ NYql::TS3ClusterConfig CreateS3ClusterConfig(const TString& name,
}
NYql::TSolomonClusterConfig CreateSolomonClusterConfig(const TString& name,
- const TString& authToken, const TString& accountSignature,
+ const TString& authToken,
+ const TString& endpoint,
+ const TString& accountSignature,
const YandexQuery::Monitoring& monitoring) {
NYql::TSolomonClusterConfig cluster;
THashMap<TString, TString> accountIdSignatures;
accountIdSignatures[monitoring.auth().service_account().id()] = accountSignature;
- FillSolomonClusterConfig(cluster, name, authToken, accountIdSignatures, monitoring);
+ FillSolomonClusterConfig(cluster, name, authToken, endpoint, accountIdSignatures, monitoring);
return cluster;
}
-void AddClustersFromConnections(const THashMap<TString, YandexQuery::Connection>& connections,
+void AddClustersFromConnections(
+ const THashMap<TString, YandexQuery::Connection>& connections,
bool useBearerForYdb,
const TString& objectStorageEndpoint,
+ const TString& monitoringEndpoint,
const TString& authToken,
const THashMap<TString, TString>& accountIdSignatures,
TGatewaysConfig& gatewaysConfig,
- THashMap<TString, TString>& clusters) {
+ THashMap<TString, TString>& clusters)
+{
for (const auto&[_, conn] : connections) {
auto connectionName = conn.content().name();
switch (conn.content().setting().connection_case()) {
@@ -186,7 +180,7 @@ void AddClustersFromConnections(const THashMap<TString, YandexQuery::Connection>
case YandexQuery::ConnectionSetting::kMonitoring: {
const auto& monitoring = conn.content().setting().monitoring();
auto* clusterCfg = gatewaysConfig.MutableSolomon()->AddClusterMapping();
- FillSolomonClusterConfig(*clusterCfg, connectionName, authToken, accountIdSignatures, monitoring);
+ FillSolomonClusterConfig(*clusterCfg, connectionName, authToken, monitoringEndpoint, accountIdSignatures, monitoring);
clusters.emplace(connectionName, SolomonProviderName);
break;
}
diff --git a/ydb/core/yq/libs/actors/clusters_from_connections.h b/ydb/core/yq/libs/actors/clusters_from_connections.h
index 88c925d74dc..5661c4d9505 100644
--- a/ydb/core/yq/libs/actors/clusters_from_connections.h
+++ b/ydb/core/yq/libs/actors/clusters_from_connections.h
@@ -9,11 +9,12 @@ NYql::TPqClusterConfig CreatePqClusterConfig(const TString& name, bool useBearer
NYql::TS3ClusterConfig CreateS3ClusterConfig(const TString& name, const TString& authToken, const TString& objectStorageEndpoint, const TString& accountSignature, const YandexQuery::ObjectStorageConnection& s3);
-NYql::TSolomonClusterConfig CreateSolomonClusterConfig(const TString& name, const TString& authToken, const TString& accountSignature, const YandexQuery::Monitoring& monitoring);
+NYql::TSolomonClusterConfig CreateSolomonClusterConfig(const TString& name, const TString& authToken, const TString& endpoint, const TString& accountSignature, const YandexQuery::Monitoring& monitoring);
void AddClustersFromConnections(const THashMap<TString, YandexQuery::Connection>& connections,
bool useBearerForYdb,
const TString& objectStorageEndpoint,
+ const TString& monitoringEndpoint,
const TString& authToken,
const THashMap<TString, TString>& accountIdSignatures,
NYql::TGatewaysConfig& gatewaysConfig,
diff --git a/ydb/core/yq/libs/actors/run_actor.cpp b/ydb/core/yq/libs/actors/run_actor.cpp
index 0ef74688219..62697f0b11f 100644
--- a/ydb/core/yq/libs/actors/run_actor.cpp
+++ b/ydb/core/yq/libs/actors/run_actor.cpp
@@ -1572,12 +1572,23 @@ private:
THashMap<TString, TString> clusters;
+ TString monitoringEndpoint = Params.CommonConfig.GetMonitoringEndpoint();
+ // TODO: get monitoring endpoint from config only after YQ-148
+ if (monitoringEndpoint.Empty()) {
+ if (Params.CommonConfig.GetObjectStorageEndpoint().Contains("preprod")) {
+ monitoringEndpoint = "monitoring.api.cloud-preprod.yandex.net";
+ } else {
+ monitoringEndpoint = "monitoring.api.cloud.yandex.net";
+ }
+ }
+
//todo: consider cluster name clashes
AddClustersFromConfig(gatewaysConfig, clusters);
AddSystemClusters(gatewaysConfig, clusters, Params.AuthToken);
AddClustersFromConnections(YqConnections,
Params.CommonConfig.GetUseBearerForYdb(),
Params.CommonConfig.GetObjectStorageEndpoint(),
+ monitoringEndpoint,
Params.AuthToken,
Params.AccountIdSignatures,
// out params:
diff --git a/ydb/core/yq/libs/config/protos/common.proto b/ydb/core/yq/libs/config/protos/common.proto
index 6e3a3d4441b..b839c6a62d6 100644
--- a/ydb/core/yq/libs/config/protos/common.proto
+++ b/ydb/core/yq/libs/config/protos/common.proto
@@ -23,4 +23,5 @@ message TCommonConfig {
uint64 MaxTasksPerOperation = 8;
string QueryArtifactsCompressionMethod = 9;
uint64 QueryArtifactsCompressionMinSize = 10;
+ string MonitoringEndpoint = 11;
}
diff --git a/ydb/core/yq/libs/test_connection/test_connection.cpp b/ydb/core/yq/libs/test_connection/test_connection.cpp
index a024e66dbc6..b770a697b20 100644
--- a/ydb/core/yq/libs/test_connection/test_connection.cpp
+++ b/ydb/core/yq/libs/test_connection/test_connection.cpp
@@ -192,10 +192,20 @@ public:
break;
}
case YandexQuery::ConnectionSetting::kMonitoring: {
+ TString monitoringEndpoint = CommonConfig.GetMonitoringEndpoint();
+ // TODO: get monitoring endpoint from config only after YQ-148
+ if (monitoringEndpoint.Empty()) {
+ if (CommonConfig.GetObjectStorageEndpoint().Contains("preprod")) {
+ monitoringEndpoint = "monitoring.api.cloud-preprod.yandex.net";
+ } else {
+ monitoringEndpoint = "monitoring.api.cloud.yandex.net";
+ }
+ }
+
Register(CreateTestMonitoringConnectionActor(
*request.mutable_setting()->mutable_monitoring(),
- ev->Sender, ev->Cookie, CredentialsFactory,
- scope, user, token,
+ ev->Sender, ev->Cookie, monitoringEndpoint,
+ CredentialsFactory, scope, user, token,
Signer, requestCounters));
break;
}
diff --git a/ydb/core/yq/libs/test_connection/test_connection.h b/ydb/core/yq/libs/test_connection/test_connection.h
index fd31c9333e4..c11e9ccdd49 100644
--- a/ydb/core/yq/libs/test_connection/test_connection.h
+++ b/ydb/core/yq/libs/test_connection/test_connection.h
@@ -85,6 +85,7 @@ NActors::IActor* CreateTestMonitoringConnectionActor(
const YandexQuery::Monitoring& monitoring,
const NActors::TActorId& sender,
ui64 cookie,
+ const TString& endpoint,
const NYql::ISecuredServiceAccountCredentialsFactory::TPtr& credentialsFactory,
const TString& scope,
const TString& user,
diff --git a/ydb/core/yq/libs/test_connection/test_monitoring.cpp b/ydb/core/yq/libs/test_connection/test_monitoring.cpp
index 0da16420505..052a8344bad 100644
--- a/ydb/core/yq/libs/test_connection/test_monitoring.cpp
+++ b/ydb/core/yq/libs/test_connection/test_monitoring.cpp
@@ -24,6 +24,7 @@ class TTestMonitoringConnectionActor : public NActors::TActorBootstrapped<TTestM
TActorId Sender;
TActorId HttpProxyId;
ui64 Cookie;
+ TString Endpoint;
TString Scope;
TString User;
TString Token;
@@ -38,6 +39,7 @@ public:
const YandexQuery::Monitoring& monitoring,
const TActorId& sender,
ui64 cookie,
+ const TString& endpoint,
const NYql::ISecuredServiceAccountCredentialsFactory::TPtr& credentialsFactory,
const TString& scope,
const TString& user,
@@ -46,13 +48,14 @@ public:
const TTestConnectionRequestCountersPtr& counters)
: Sender(sender)
, Cookie(cookie)
+ , Endpoint(endpoint)
, Scope(scope)
, User(user)
, Token(token)
, Counters(counters)
, CredentialsFactory(credentialsFactory)
, Signer(signer)
- , ClusterConfig(NYq::CreateSolomonClusterConfig({}, token, signer ? signer->SignAccountId(monitoring.auth().service_account().id()) : "", monitoring))
+ , ClusterConfig(NYq::CreateSolomonClusterConfig({}, token, endpoint, signer ? signer->SignAccountId(monitoring.auth().service_account().id()) : "", monitoring))
{
Counters->InFly->Inc();
}
@@ -150,6 +153,7 @@ NActors::IActor* CreateTestMonitoringConnectionActor(
const YandexQuery::Monitoring& monitoring,
const TActorId& sender,
ui64 cookie,
+ const TString& endpoint,
const NYql::ISecuredServiceAccountCredentialsFactory::TPtr& credentialsFactory,
const TString& scope,
const TString& user,
@@ -158,7 +162,7 @@ NActors::IActor* CreateTestMonitoringConnectionActor(
const TTestConnectionRequestCountersPtr& counters) {
return new TTestMonitoringConnectionActor(
monitoring, sender,
- cookie, credentialsFactory,
+ cookie, endpoint, credentialsFactory,
scope, user, token, signer, counters);
}