ec2_snitch: coroutinize load_config
Fixes #16241 Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
This commit is contained in:
@@ -24,8 +24,9 @@ future<> ec2_snitch::load_config(bool prefer_local) {
|
|||||||
using namespace boost::algorithm;
|
using namespace boost::algorithm;
|
||||||
|
|
||||||
if (this_shard_id() == io_cpu_id()) {
|
if (this_shard_id() == io_cpu_id()) {
|
||||||
auto token = aws_api_call(AWS_QUERY_SERVER_ADDR, AWS_QUERY_SERVER_PORT, TOKEN_REQ_ENDPOINT, std::nullopt).get0();
|
auto token = co_await aws_api_call(AWS_QUERY_SERVER_ADDR, AWS_QUERY_SERVER_PORT, TOKEN_REQ_ENDPOINT, std::nullopt);
|
||||||
return aws_api_call(AWS_QUERY_SERVER_ADDR, AWS_QUERY_SERVER_PORT, ZONE_NAME_QUERY_REQ, token).then([this, prefer_local](sstring az) {
|
auto az = co_await aws_api_call(AWS_QUERY_SERVER_ADDR, AWS_QUERY_SERVER_PORT, ZONE_NAME_QUERY_REQ, token);
|
||||||
|
// FIXME: indentation
|
||||||
assert(az.size());
|
assert(az.size());
|
||||||
|
|
||||||
std::vector<std::string> splits;
|
std::vector<std::string> splits;
|
||||||
@@ -42,18 +43,14 @@ future<> ec2_snitch::load_config(bool prefer_local) {
|
|||||||
my_dc = az.substr(0, az.size() - 3);
|
my_dc = az.substr(0, az.size() - 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
return read_property_file().then([this, prefer_local, my_dc, my_rack] (sstring datacenter_suffix) mutable {
|
auto datacenter_suffix = co_await read_property_file();
|
||||||
my_dc += datacenter_suffix;
|
my_dc += datacenter_suffix;
|
||||||
logger().info("Ec2Snitch using region: {}, zone: {}.", my_dc, my_rack);
|
logger().info("Ec2Snitch using region: {}, zone: {}.", my_dc, my_rack);
|
||||||
return container().invoke_on_all([prefer_local, my_dc, my_rack] (snitch_ptr& local_s) {
|
co_await container().invoke_on_all([prefer_local, my_dc, my_rack] (snitch_ptr& local_s) {
|
||||||
local_s->set_my_dc_and_rack(my_dc, my_rack);
|
local_s->set_my_dc_and_rack(my_dc, my_rack);
|
||||||
local_s->set_prefer_local(prefer_local);
|
local_s->set_prefer_local(prefer_local);
|
||||||
});
|
});
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return make_ready_future<>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
future<> ec2_snitch::start() {
|
future<> ec2_snitch::start() {
|
||||||
|
|||||||
Reference in New Issue
Block a user