Ack /Lennart
> -----Original Message----- > From: Rafael Odzakow > Sent: den 28 oktober 2016 14:24 > To: [email protected]; Lennart Lund > <[email protected]> > Cc: [email protected] > Subject: [PATCH 1 of 1] smf:balanced upgrade, no activation/deactivation > done [#2126] > > osaf/services/saf/smfsv/smfd/SmfExecControl.cc | 21 +++++++++++-------- > -- > 1 files changed, 11 insertions(+), 10 deletions(-) > > > Add the deactivation list to the balanced procedure, it was declared but not > used. > > 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 > @@ -35,8 +35,8 @@ static std::vector<SmfUpgradeStep*> getS > static SmfUpgradeStep* mergeStep(SmfUpgradeProcedure* procedure, > const std::vector<SmfUpgradeStep*>& steps); > > -static bool removeDuplicateActivationUnits(SmfUpgradeProcedure * > i_newproc, > - SmfUpgradeStep *newStep); > +static bool removeDuplicateActivationUnits(SmfUpgradeProcedure * > i_newproc, SmfUpgradeStep *newStep, > + const > std::list<unitNameAndState>& deact); > > > static bool isNodeInGroup(const std::string& node, > @@ -104,14 +104,18 @@ bool createStepForBalancedProc(SmfUpgrad > SmfUpgradeCampaign* ucamp = camp->getUpgradeCampaign(); > > auto steps = getStepsMatchingBalancedGroup(procedure, ucamp); > + std::list <unitNameAndState> deact; > for (auto step : steps) { > SmfUpgradeProcedure* oproc = step->getProcedure(); > // copy callbacks to the new procedure > procedure->getCallbackList(oproc->getUpgradeMethod()); > + deact.insert(deact.end(), > + step->getDeactivationUnitList().begin(), > + step->getDeactivationUnitList().end()); > } > if (!steps.empty()) { > SmfUpgradeStep* newstep = mergeStep(procedure, steps); > - removeDuplicateActivationUnits(procedure, newstep); > + removeDuplicateActivationUnits(procedure, newstep, deact); > procedure->addProcStep(newstep); > } > const std::vector<SmfUpgradeProcedure*>& allprocs = ucamp- > >getProcedures(); > @@ -201,15 +205,11 @@ SmfUpgradeStep* mergeStep(SmfUpgradeProc > newstep->setDn(newstep->getRdn() + "," + procedure->getDn()); > newstep->setMaxRetry(0); > newstep->setRestartOption(0); > - std::list <unitNameAndState> deact; > for (auto step : steps) { > if (isNodeInGroup(step->getSwNode(), procedure->getBalancedGroup())) > { > - TRACE("adding modifications, deact and bundle ref from node:%s", > + TRACE("adding modifications and bundle ref from node:%s", > step->getSwNode().c_str()); > newstep->addModifications(step->getModifications()); > - deact.insert(deact.end(), > - step->getDeactivationUnitList().begin(), > - step->getDeactivationUnitList().end()); > procedure->mergeBundleRefRollingToSingleStep(newstep, step); > } > } > @@ -217,13 +217,14 @@ SmfUpgradeStep* mergeStep(SmfUpgradeProc > return newstep; > } > > -bool removeDuplicateActivationUnits(SmfUpgradeProcedure * i_newproc, > - SmfUpgradeStep *newStep) { > +bool removeDuplicateActivationUnits(SmfUpgradeProcedure * i_newproc, > SmfUpgradeStep *newStep, > + const std::list<unitNameAndState>& > deact) { > // Remove any (de)activation unit duplicates and add them to the step. > // Activation and deactivation units are the same because rolling and > // formodify is symetric. > TRACE_ENTER(); > std::list < unitNameAndState > tmpDU; > + tmpDU.insert(tmpDU.begin(), deact.begin(), deact.end()); > std::multimap<std::string, objectInst> objInstances; > if (i_newproc->getImmComponentInfo(objInstances) == false) { > TRACE("Config info from IMM could not be read"); ------------------------------------------------------------------------------ Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today. http://sdm.link/xeonphi _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
