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 Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel