- Node already give up promotion has set role to QUIESCED should not promote active anyway, it will cause dual active controllers. - Node fail promote active with consensus with error exist should set role as QUIESCED if current role is UNDEFINED. --- src/rde/rded/role.cc | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/src/rde/rded/role.cc b/src/rde/rded/role.cc index 06c346ced..208ae2364 100644 --- a/src/rde/rded/role.cc +++ b/src/rde/rded/role.cc @@ -107,9 +107,14 @@ void Role::PromoteNode(const uint64_t cluster_size, rc = consensus_service.PromoteThisNode(true, cluster_size); if (rc == SA_AIS_ERR_EXIST) { LOG_WA("Another controller is already active"); + if (role() == PCS_RDA_UNDEFINED) SetRole(PCS_RDA_QUIESCED); return; } else if (rc != SA_AIS_OK && relaxed_mode == true) { LOG_WA("Unable to set active controller in consensus service"); + if (role() == PCS_RDA_QUIESCED) { + LOG_WA("Another controller is already promoted"); + return; + } LOG_WA("Will become active anyway"); promotion_pending = true; } else if (rc != SA_AIS_OK) { -- 2.17.1 _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel