ack, code review only/Thanks HansN

On 04/22/2015 01:27 PM, nagendr...@oracle.com wrote:
>   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

Reply via email to