Fix modify-osd for the case when OSD config is deleted from etcd

This commit is contained in:
Vitaliy Filippov
2025-12-14 14:42:50 +00:00
parent 166e16102e
commit a23df12260
+17 -6
View File
@@ -120,12 +120,23 @@ resume_1:
else else
osd_cfg.erase("noout"); osd_cfg.erase("noout");
} }
compare.push_back(json11::Json::object { if (osd_cfg_mod_rev)
{ "target", "MOD" }, {
{ "key", base64_encode(parent->cli->st_cli.etcd_prefix+"/config/osd/"+std::to_string(osd_num)) }, compare.push_back(json11::Json::object {
{ "result", "LESS" }, { "target", "MOD" },
{ "mod_revision", osd_cfg_mod_rev+1 }, { "key", base64_encode(parent->cli->st_cli.etcd_prefix+"/config/osd/"+std::to_string(osd_num)) },
}); { "result", "LESS" },
{ "mod_revision", osd_cfg_mod_rev+1 },
});
}
else
{
compare.push_back(json11::Json::object {
{ "target", "VERSION" },
{ "key", base64_encode(parent->cli->st_cli.etcd_prefix+"/config/osd/"+std::to_string(osd_num)) },
{ "version", 0 },
});
}
if (!osd_cfg.size()) if (!osd_cfg.size())
{ {
success.push_back(json11::Json::object { success.push_back(json11::Json::object {