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