osaf/services/saf/amf/amfnd/pg.cc |  18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)


return TRY_AGAIN for saAmfProtectionGroupTrack and saAmfProtectionGroupTrackStop
while headless, since protection group tracking requires amfd's presence

diff --git a/osaf/services/saf/amf/amfnd/pg.cc 
b/osaf/services/saf/amf/amfnd/pg.cc
--- a/osaf/services/saf/amf/amfnd/pg.cc
+++ b/osaf/services/saf/amf/amfnd/pg.cc
@@ -147,6 +147,15 @@ uint32_t avnd_evt_ava_pg_start_evh(AVND_
 
        TRACE_ENTER();
 
+       // if headless, return TRY_AGAIN to application
+       if (cb->is_avd_down == true) {
+               LOG_NO("Director is down. Return try again for PG start.");
+               rc = avnd_amf_resp_send(cb, AVSV_AMF_PG_START, 
SA_AIS_ERR_TRY_AGAIN,
+                                       0, &api_info->dest, &evt->mds_ctxt, 
nullptr, false);
+               TRACE_LEAVE();
+               return rc;
+       }
+
        /* 
         * Update pg db
         */
@@ -235,6 +244,15 @@ uint32_t avnd_evt_ava_pg_stop_evh(AVND_C
 
        TRACE_ENTER();
 
+       // if headless, return TRY_AGAIN to application
+       if (cb->is_avd_down == true) {
+               LOG_NO("Director is down. Return try again for PG stop.");
+               rc = avnd_amf_resp_send(cb, AVSV_AMF_PG_STOP, 
SA_AIS_ERR_TRY_AGAIN,
+                                       0, &api_info->dest, &evt->mds_ctxt, 
nullptr, false);
+               TRACE_LEAVE();
+               return rc;
+       }
+
        /* populate the track key */
        key.mds_dest = api_info->dest;
        key.req_hdl = pg_stop->hdl;

------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to