Hi Phuc,
Instead of add more code, you can change default value to reduce code.
And releaseAdminOwnerOf() should be called base on "admset_rc" check, I
think.
Example:
--- a/src/smf/smfd/SmfAdminState.cc
+++ b/src/smf/smfd/SmfAdminState.cc
@@ -858,7 +858,7 @@ bool SmfAdminStateHandler::deleteNodeGroup() {
bool SmfAdminStateHandler::nodeGroupAdminOperation(
SaAmfAdminOperationIdT adminOp) {
- bool method_rc = true;
+ bool method_rc = false;
TRACE_ENTER();
@@ -920,20 +920,17 @@ bool SmfAdminStateHandler::nodeGroupAdminOperation(
} else if (imm_rc != SA_AIS_OK) {
LOG_NO("%s adminOpTimeout Fail %s", __FUNCTION__,
saf_error(imm_rc));
errno_ = imm_rc;
- method_rc = false;
} else {
LOG_NO("%s adminOpTimeout Fail %s", __FUNCTION__,
saf_error(oi_rc));
errno_ = oi_rc;
- method_rc = false;
}
}
} else {
LOG_NO("%s: becomeAdminOwnerOf(%s) Fail", __FUNCTION__,
nodeGroupName_s.c_str());
- method_rc = false;
}
- if (method_rc == true) {
+ if (admset_rc == true) {
TRACE("%s Admin operation is done. Release ownership if nodegroup",
__FUNCTION__);
if (releaseAdminOwnerOf(nodeGroupName_s) == false) {
Best Regards,
ThuanTr
-----Original Message-----
From: phuc.h.chau <[email protected]>
Sent: Monday, October 21, 2019 6:23 PM
To: [email protected]; [email protected]
Cc: [email protected]; phuc.h.chau
<[email protected]>
Subject: [PATCH 1/1] smf: Improve SmfAdminStateHandler() Return false if
Fail [#3104]
SW upgrade testing, if found that if a service unit is in
INSTANTIATION_FAILED,
one_step upgrade will not continue with the software installation.
---
src/smf/smfd/SmfAdminState.cc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/smf/smfd/SmfAdminState.cc b/src/smf/smfd/SmfAdminState.cc
index 076f9f0..a54f47f 100644
--- a/src/smf/smfd/SmfAdminState.cc
+++ b/src/smf/smfd/SmfAdminState.cc
@@ -900,11 +900,13 @@ bool SmfAdminStateHandler::nodeGroupAdminOperation(
LOG_NO(
"%s: saImmOmAdminOperationInvoke_2 Fail %s",
__FUNCTION__, saf_error(imm_rc));
+ method_rc = false;
errno_ = imm_rc;
break;
} else if (oi_rc != SA_AIS_OK) {
LOG_NO("%s: SaAmfAdminOperationId %d Fail %s", __FUNCTION__,
adminOp,
saf_error(oi_rc));
+ method_rc = false;
errno_ = oi_rc;
break;
} else {
--
2.7.4
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel