osaf/services/saf/smfsv/smfd/SmfExecControl.cc | 9 +++------
1 files changed, 3 insertions(+), 6 deletions(-)
When merging steps for the BALANCED_MODE execution there is a missmatch in how
the software bundles are added to the new step. The problem will show when
nodes have different software installed and not all of those nodes are included
in the balanced list.
diff --git a/osaf/services/saf/smfsv/smfd/SmfExecControl.cc
b/osaf/services/saf/smfsv/smfd/SmfExecControl.cc
--- a/osaf/services/saf/smfsv/smfd/SmfExecControl.cc
+++ b/osaf/services/saf/smfsv/smfd/SmfExecControl.cc
@@ -103,13 +103,10 @@ bool createStepForBalancedProc(SmfUpgrad
SmfCampaign* camp = SmfCampaignThread::instance()->campaign();
SmfUpgradeCampaign* ucamp = camp->getUpgradeCampaign();
- std::vector<SmfUpgradeStep*> steps;
- for (auto step : getStepsMatchingBalancedGroup(procedure, ucamp)) {
- // copy steps and callbacks
+ auto steps = getStepsMatchingBalancedGroup(procedure, ucamp);
+ for (auto step : steps) {
SmfUpgradeProcedure* oproc = step->getProcedure();
- steps.insert(steps.end(),
- oproc->getProcSteps().begin(),
- oproc->getProcSteps().end());
+ // copy callbacks to the new procedure
procedure->getCallbackList(oproc->getUpgradeMethod());
}
if (!steps.empty()) {
------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel