If EE unlock fails, it is never retried when management is regained. The EE
just sits in LOCKED admin state.

If EE unlock fails, the code continues as if it did succeed, setting readiness
state to in-service, etc.

If EE unlock fails, just return ERR_DEPLOYMENT immediately, and don't set
anything else.
---
 src/plm/plmd/plms_adm_fsm.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/plm/plmd/plms_adm_fsm.c b/src/plm/plmd/plms_adm_fsm.c
index 370c30f36..fdcd6ea05 100644
--- a/src/plm/plmd/plms_adm_fsm.c
+++ b/src/plm/plmd/plms_adm_fsm.c
@@ -4437,10 +4437,9 @@ static SaUint32T plms_ent_unlock(PLMS_ENTITY *ent, 
PLMS_TRACK_INFO *trk_info,
                /* Unlock the EE.*/
                unlck_err = plms_ee_unlock(ent, true, 1 /*mngt_cbk*/);
                if (NCSCC_RC_SUCCESS != unlck_err) {
-                       /* TODO: Should I return from here, sending failure to
-                       IMM and calling management lost callback.*/
                        LOG_ER("EE unlock operation failed. Ent: %s",
                               ent->dn_name_str);
+                       goto send_rsp;
                }
        }
 
@@ -4548,6 +4547,8 @@ static SaUint32T plms_ent_unlock(PLMS_ENTITY *ent, 
PLMS_TRACK_INFO *trk_info,
 
        plms_ent_exp_rdness_status_clear(ent);
        plms_aff_ent_exp_rdness_status_clear(trk_info->aff_ent_list);
+
+send_rsp:
        /* Respnd to IMM.*/
        if (NCSCC_RC_SUCCESS == unlck_err) {
                ret_err = saImmOiAdminOperationResult(cb->oi_hdl, adm_op.inv_id,
-- 
2.13.6


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to