osaf/services/saf/amf/amfd/node.cc | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-)
Amfd is allowing node to be deleted even if node is being part of node group. This creates database differences because that node is still part of node group, but it doesn's exists. When a nodegroup is created and node is added to it, Amfd checks whether node exists or not. If it doesn't exist, then node addition fails. This is done in the expectation that node should exists if it want to be part of node group. This concept should go inline with deletion of node as well and node deletion shouldn't be allowed until it is part of a nodegroup. A valiadation has been added when node is being deleted for its membership of a node group. If node is a part of membership, it can't be deleted. So, to delete a node, first delete that node from node group. diff --git a/osaf/services/saf/amf/amfd/node.cc b/osaf/services/saf/amf/amfd/node.cc --- a/osaf/services/saf/amf/amfd/node.cc +++ b/osaf/services/saf/amf/amfd/node.cc @@ -453,6 +453,20 @@ static SaAisErrorT node_ccb_completed_de goto done; } } + + /* This node shouldn't be part of any nodegroup. First this node has to be deleted from + node group. */ + for (std::map<std::string, AVD_AMF_NG*>::const_iterator it = nodegroup_db->begin(); + it != nodegroup_db->end(); it++) { + AVD_AMF_NG *ng = it->second; + if (node_in_nodegroup(Amf::to_string(&(opdata->objectName)), ng) == true) { + report_ccb_validation_error(opdata, "'%s' exists in" + " the nodegroup '%s'", + opdata->objectName.value, ng->name.value); + rc = SA_AIS_ERR_BAD_OPERATION; + goto done; + } + } opdata->userData = node; done: TRACE_LEAVE(); ------------------------------------------------------------------------------ BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel