osaf/services/saf/amf/amfd/role.cc | 10 +++++-----
osaf/services/saf/amf/amfd/siass.cc | 4 +++-
2 files changed, 8 insertions(+), 6 deletions(-)
In non-headless, it doesn't matter if amfd become implementer earlier or later
than reading RTA, since RTA will be empty. However, if amfd recovers from
headless
amfd needs to read RTA values that were memorized before headless.
Patch makes amfd becomes implementer earlier, and updates saAmfSUHostedByNode
while recovers synced information
diff --git a/osaf/services/saf/amf/amfd/role.cc
b/osaf/services/saf/amf/amfd/role.cc
--- a/osaf/services/saf/amf/amfd/role.cc
+++ b/osaf/services/saf/amf/amfd/role.cc
@@ -269,6 +269,11 @@ uint32_t avd_active_role_initialization(
goto done;
}
+ if (avd_imm_impl_set() != SA_AIS_OK) {
+ LOG_ER("avd_imm_impl_set FAILED");
+ goto done;
+ }
+
if (avd_imm_config_get() != NCSCC_RC_SUCCESS) {
LOG_ER("avd_imm_config_get FAILED");
goto done;
@@ -276,11 +281,6 @@ uint32_t avd_active_role_initialization(
cb->init_state = AVD_CFG_DONE;
- if (avd_imm_impl_set() != SA_AIS_OK) {
- LOG_ER("avd_imm_impl_set FAILED");
- goto done;
- }
-
avd_imm_update_runtime_attrs();
status = NCSCC_RC_SUCCESS;
diff --git a/osaf/services/saf/amf/amfd/siass.cc
b/osaf/services/saf/amf/amfd/siass.cc
--- a/osaf/services/saf/amf/amfd/siass.cc
+++ b/osaf/services/saf/amf/amfd/siass.cc
@@ -888,7 +888,9 @@ SaAisErrorT avd_susi_recreate(AVSV_N2D_N
susi->su->inc_curr_act_si();
susi->si->inc_curr_act_ass();
}
-
+ su->saAmfSUHostedByNode = node->name;
+ avd_saImmOiRtObjectUpdate(&su->name, "saAmfSUHostedByNode",
+ SA_IMM_ATTR_SANAMET, &su->saAmfSUHostedByNode);
m_AVSV_SEND_CKPT_UPDT_ASYNC_ADD(avd_cb, susi,
AVSV_CKPT_AVD_SI_ASS);
}
------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel