osaf/services/saf/amf/amfd/su.cc | 26 ++++++++++++++------------
1 files changed, 14 insertions(+), 12 deletions(-)
allow SU to be created on a non-existent node, as long as that node is also
created in the same CCB
diff --git a/osaf/services/saf/amf/amfd/su.cc b/osaf/services/saf/amf/amfd/su.cc
--- a/osaf/services/saf/amf/amfd/su.cc
+++ b/osaf/services/saf/amf/amfd/su.cc
@@ -1482,18 +1482,20 @@
const AVD_AVND *node = avd_node_get(&node_name);
if (node == NULL) {
- // node must exist in the current model, not created in the
same CCB
- amflog(SA_LOG_SEV_WARNING,
- "Create '%s', configured with a non existing node (%s)",
- su_dn->value, node_name.value);
- return false;
- }
-
- // configured with a node DN, accept only locked-in state
- if (node->saAmfNodeAdminState != SA_AMF_ADMIN_LOCKED_INSTANTIATION) {
- TRACE("Create '%s', configured node '%s' is not locked
instantiation",
- su_dn->value, node_name.value);
- return false;
+ if (opdata == NULL || ccbutil_getCcbOpDataByDN(opdata->ccbId,
&node_name) == NULL) {
+ // node must exist in the current model, or created in
the same CCB
+ amflog(SA_LOG_SEV_WARNING,
+ "Create '%s', configured with a non existing
node (%s)",
+ su_dn->value, node_name.value);
+ return false;
+ }
+ } else {
+ // configured with a node DN, accept only locked-in state
+ if (node->saAmfNodeAdminState !=
SA_AMF_ADMIN_LOCKED_INSTANTIATION) {
+ TRACE("Create '%s', configured node '%s' is not locked
instantiation",
+ su_dn->value, node_name.value);
+ return false;
+ }
}
return true;
------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel