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
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel