Fix modify-osd for the case when OSD config is deleted from etcd
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user