Not allow admin op on SU if other is activating. --- src/amf/amfd/su.cc | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/src/amf/amfd/su.cc b/src/amf/amfd/su.cc index e1da8f726..6223cd9e4 100644 --- a/src/amf/amfd/su.cc +++ b/src/amf/amfd/su.cc @@ -1337,6 +1337,23 @@ static void su_admin_op_cb(SaImmOiHandleT immoi_handle, goto done; } + node = su->get_node_ptr(); + if (node->admin_node_pend_cbk.admin_oper != 0) { + report_admin_op_error( + immoi_handle, invocation, SA_AIS_ERR_TRY_AGAIN, nullptr, + "Node'%s' hosting SU'%s', undergoing admin operation'%u'", + node->name.c_str(), su->name.c_str(), + node->admin_node_pend_cbk.admin_oper); + goto done; + } + if (su->pend_cbk.invocation != 0) { + report_admin_op_error( + immoi_handle, invocation, SA_AIS_ERR_TRY_AGAIN, nullptr, + "SU'%s', undergoing admin operation'%u'", + su->name.c_str(), su->pend_cbk.admin_oper); + goto done; + } + if ((su->sg_of_su->sg_ncs_spec == true) && (cb->node_id_avd == su->su_on_node->node_info.nodeId)) { report_admin_op_error( @@ -1469,15 +1486,6 @@ static void su_admin_op_cb(SaImmOiHandleT immoi_handle, goto done; } } - node = su->get_node_ptr(); - if (node->admin_node_pend_cbk.admin_oper != 0) { - report_admin_op_error( - immoi_handle, invocation, SA_AIS_ERR_TRY_AGAIN, nullptr, - "Node'%s' hosting SU'%s', undergoing admin operation'%u'", - node->name.c_str(), su->name.c_str(), - node->admin_node_pend_cbk.admin_oper); - goto done; - } /* Validation has passed and admin operation should be done. Proceed with * it... */ -- 2.17.1 _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel