osaf/services/saf/smfsv/smfd/SmfCampaignInit.cc  |  14 +-------------
 osaf/services/saf/smfsv/smfd/smfd_campaign_oi.cc |  13 ++++++++++++-
 2 files changed, 13 insertions(+), 14 deletions(-)


Reading of IMM longdn atribute is changed from camapaign init to oi admin 
operation.
with this each admin-operation of smf will check if londn flag is update in smf

diff --git a/osaf/services/saf/smfsv/smfd/SmfCampaignInit.cc 
b/osaf/services/saf/smfsv/smfd/SmfCampaignInit.cc
--- a/osaf/services/saf/smfsv/smfd/SmfCampaignInit.cc
+++ b/osaf/services/saf/smfsv/smfd/SmfCampaignInit.cc
@@ -225,22 +225,10 @@ SmfCampaignInit::execute()
                 return false;
         }
 
-        TRACE("1. Read_IMM_long_DN_config_and_set_control_block()");
-        if (!immUtil.read_IMM_long_DN_config_and_set_control_block(smfd_cb)) {
-               LOG_ER("SmfCampaignInit: reading long DN config from IMM 
FAILED");
-               TRACE_LEAVE();
-               return false;
-    }
        std::list < SmfUpgradeAction * >::iterator upActiter;
        upActiter = m_campInitAction.begin();
        while (upActiter != m_campInitAction.end()) {
-                TRACE("2. %s: 
read_IMM_long_DN_config_and_set_control_block()",__FUNCTION__);
-               if 
(!immUtil.read_IMM_long_DN_config_and_set_control_block(smfd_cb)) {
-                       LOG_ER("SmfCampaignInit: reading long DN config from 
IMM FAILED");
-                       TRACE_LEAVE();
-                       return false;
-               }
-               SaAisErrorT rc = 
(*upActiter)->execute(SmfCampaignThread::instance()->getImmHandle(),
+                       SaAisErrorT rc = 
(*upActiter)->execute(SmfCampaignThread::instance()->getImmHandle(),
                                                        &initRollbackDn);
                if (rc != SA_AIS_OK) {
                        LOG_ER("SmfCampaignInit init action %d failed, rc=%s", 
(*upActiter)->getId(), saf_error(rc));
diff --git a/osaf/services/saf/smfsv/smfd/smfd_campaign_oi.cc 
b/osaf/services/saf/smfsv/smfd/smfd_campaign_oi.cc
--- a/osaf/services/saf/smfsv/smfd/smfd_campaign_oi.cc
+++ b/osaf/services/saf/smfsv/smfd/smfd_campaign_oi.cc
@@ -72,6 +72,7 @@ static void saImmOiAdminOperationCallbac
                                          const SaImmAdminOperationParamsT_2 ** 
params)
 {
        SaAisErrorT rc = SA_AIS_OK;
+       SmfImmUtils immutil;
 
        TRACE_ENTER();
 
@@ -83,6 +84,16 @@ static void saImmOiAdminOperationCallbac
                goto done;
        }
 
+       //Read IMM configuration for long DNs and set cb data structure
+       //There is chance that long DN is configured in IMM not in SMF config 
object
+        TRACE("2. %s: 
read_IMM_long_DN_config_and_set_control_block()",__FUNCTION__);
+        if (!immutil.read_IMM_long_DN_config_and_set_control_block(smfd_cb)) {
+                LOG_ER("read_IMM_long_DN_config_and_set_control_block FAIL");
+               (void)immutil_saImmOiAdminOperationResult(immOiHandle, 
invocation, SA_AIS_ERR_INVALID_PARAM);
+               goto done;
+        }
+
+
        /* Call admin operation and return result */
        rc = campaign->adminOperation(opId, params);
 
@@ -898,7 +909,7 @@ uint32_t read_config_and_set_control_blo
 
        //Read IMM configuration for long DNs and set cb data structure
         //The long DN info is configured in IMM not in SMF config object
-        TRACE("3. %s: 
read_IMM_long_DN_config_and_set_control_block()",__FUNCTION__);
+        TRACE("1. %s: 
read_IMM_long_DN_config_and_set_control_block()",__FUNCTION__);
        if (!immutil.read_IMM_long_DN_config_and_set_control_block(cb)) {
                LOG_ER("read_IMM_long_DN_config_and_set_control_block FAIL");
                return NCSCC_RC_FAILURE;

------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to