Skip to content

Commit

Permalink
fix: Fix CraneCtld not using configured craned listen port. (#430)
Browse files Browse the repository at this point in the history
Signed-off-by: Li Junlin <[email protected]>
  • Loading branch information
L-Xiafeng authored Feb 10, 2025
1 parent b4e8e46 commit 4190436
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 4 deletions.
6 changes: 6 additions & 0 deletions src/CraneCtld/CraneCtld.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,12 @@ void ParseConfig(int argc, char** argv) {
g_config.CraneCtldForeground = config["CraneCtldForeground"].as<bool>();
}

if (config["CranedListenPort"])
g_config.CranedListenConf.CranedListenPort =
config["CranedListenPort"].as<std::string>();
else
g_config.CranedListenConf.CranedListenPort = kCranedDefaultPort;

g_config.PriorityConfig.MaxAge = kPriorityDefaultMaxAge;
if (config["PriorityMaxAge"]) {
std::string max_age = config["PriorityMaxAge"].as<std::string>();
Expand Down
8 changes: 5 additions & 3 deletions src/CraneCtld/CranedKeeper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -722,15 +722,17 @@ void CranedKeeper::ConnectCranedNode_(CranedId const &craned_id) {
channel_args.SetCompressionAlgorithm(GRPC_COMPRESS_GZIP);

CRANE_TRACE("Creating a channel to {} {}:{}. Channel count: {}", craned_id,
ip_addr, kCranedDefaultPort, m_channel_count_.fetch_add(1) + 1);
ip_addr, g_config.CranedListenConf.CranedListenPort,
m_channel_count_.fetch_add(1) + 1);

if (g_config.ListenConf.UseTls) {
SetTlsHostnameOverride(&channel_args, craned_id, g_config.ListenConf.Certs);
craned->m_channel_ = CreateTcpTlsCustomChannelByIp(
ip_addr, kCranedDefaultPort, g_config.ListenConf.Certs, channel_args);
ip_addr, g_config.CranedListenConf.CranedListenPort,
g_config.ListenConf.Certs, channel_args);
} else
craned->m_channel_ = CreateTcpInsecureCustomChannel(
ip_addr, kCranedDefaultPort, channel_args);
ip_addr, g_config.CranedListenConf.CranedListenPort, channel_args);

craned->m_prev_channel_state_ = craned->m_channel_->GetState(true);
craned->m_stub_ = crane::grpc::Craned::NewStub(craned->m_channel_);
Expand Down
3 changes: 2 additions & 1 deletion src/CraneCtld/CranedMetaContainer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,8 @@ void CranedMetaContainer::InitFromConfig(const Config& config) {
static_meta.res.dedicated_res =
config.Nodes.at(craned_name)->dedicated_resource;
static_meta.hostname = craned_name;
static_meta.port = std::strtoul(kCranedDefaultPort, nullptr, 10);
static_meta.port = std::strtoul(
g_config.CranedListenConf.CranedListenPort.c_str(), nullptr, 10);
}

for (auto&& [part_name, partition] : config.Partitions) {
Expand Down
5 changes: 5 additions & 0 deletions src/CraneCtld/CtldPublicDefs.h
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,11 @@ struct Config {
};
CraneCtldListenConf ListenConf;

struct CranedListenConf {
std::string CranedListenPort;
};
CranedListenConf CranedListenConf;

struct Priority {
enum TypeEnum { Basic, MultiFactor };
TypeEnum Type;
Expand Down
1 change: 1 addition & 0 deletions src/Craned/CforedClient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ void CforedClient::InitChannelAndStub(const std::string& cfored_name) {
if (g_config.CompressedRpc)
channel_args.SetCompressionAlgorithm(GRPC_COMPRESS_GZIP);

// Todo: Use cfored listen config
if (g_config.ListenConf.UseTls) {
m_cfored_channel_ = CreateTcpTlsChannelByHostname(
cfored_name, kCforedDefaultPort, g_config.ListenConf.TlsCerts);
Expand Down

0 comments on commit 4190436

Please sign in to comment.