Return OK to immSteps if step is already completed in order to
continue executing after a manual cluster reboot.
---
src/smf/smfd/SmfUpgradeCampaign.cc | 1 +
src/smf/smfd/SmfUpgradeProcedure.cc | 7 +++++++
2 files changed, 8 insertions(+)
diff --git a/src/smf/smfd/SmfUpgradeCampaign.cc
b/src/smf/smfd/SmfUpgradeCampaign.cc
index 3c50bf7..a50f4da 100644
--- a/src/smf/smfd/SmfUpgradeCampaign.cc
+++ b/src/smf/smfd/SmfUpgradeCampaign.cc
@@ -903,6 +903,7 @@ void SmfUpgradeCampaign::procResult(SmfUpgradeProcedure
*i_procedure,
void SmfUpgradeCampaign::continueExec() {
TRACE_ENTER();
SaSmfCmpgStateT currentState = m_state->getState();
+ SmfCampaignThread::instance()->campaign()->setError("");
// Check if the campaign execution continues after a campaign restart
// resulting from a SMF ordered cluster reboot or SI_SWAP
diff --git a/src/smf/smfd/SmfUpgradeProcedure.cc
b/src/smf/smfd/SmfUpgradeProcedure.cc
index fd99e88..92ae35d 100644
--- a/src/smf/smfd/SmfUpgradeProcedure.cc
+++ b/src/smf/smfd/SmfUpgradeProcedure.cc
@@ -3382,6 +3382,13 @@ SaAisErrorT
SmfUpgradeProcedure::getImmStepsMergedSingleStep() {
return SA_AIS_ERR_INIT;
}
+ if (newStep->getState() == SA_SMF_STEP_COMPLETED) {
+ LOG_NO("SmfUpgradeProcedure::getImmStepsMergedSingleStep: state %d",
+ SA_SMF_STEP_COMPLETED);
+ TRACE_LEAVE();
+ return SA_AIS_OK;
+ }
+
if ((newStep->getState() != SA_SMF_STEP_INITIAL) &&
(newStep->getState() != SA_SMF_STEP_EXECUTING)) {
LOG_NO("SmfUpgradeProcedure::getImmStepsMergedSingleStep: Invalid state
%d",
--
2.7.4
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel