Hi Rafel, Reviewed and tested the patch. Ack with the following comments.
comments: 1. The bt has to be corrected: Program terminated with signal 11, Segmentation fault. #0 0x00000000004293c9 in SmfUpgradeCampaign::execute() () at SmfUpgradeCampaign.cc:802 802 SmfUpgradeCampaign.cc: No such file or directory. 2. when controller nodes given to nodesForSingleStep needs to be returned with error 3. The usage of this functionality must be documented in SMF_PR Thanks, Neel. On 2016/09/05 01:24 PM, Rafael Odzakow wrote: > Summary: Merge rolling to singlestep procedures for several nodes > Review request for Trac Ticket(s): #1685 > Peer Reviewer(s): lennart, reddy > Pull request to: <<LIST THE PERSON WITH PUSH ACCESS HERE>> > Affected branch(es): <<LIST ALL AFFECTED BRANCH(ES)>> > Development branch: <<IF ANY GIVE THE REPO URL>> > > -------------------------------- > Impacted area Impact y/n > -------------------------------- > Docs n > Build system n > RPM/packaging n > Configuration files n > Startup scripts n > SAF services n > OpenSAF services y > Core libraries n > Samples n > Tests n > Other n > > > Comments (indicate scope for each "y" above): > --------------------------------------------- > Added SI-SWAP and protection for openSafSmfExecControl attribute in > SmfConfig. > > Protection is added to keep backward compatibility while not allowing > changes > to happen during upgrade to the Execution Control DN. As a bonus some old > code > was possible to remove. > > changeset 3850c8ad75dcb065cb6eddf94f50958fcce63e60 > Author: Rafael Odzakow <[email protected]> > Date: Mon, 05 Sep 2016 09:47:53 +0200 > > smfd: Merge rolling to singlestep procedures for several nodes [#1685] > > Enables the balanced mode feature. This mode changes the execution > of rolling procedures to be merged into one or several single steps that are > spread out across the cluster nodes. This feature is used to give a faster > upgrade time compared to rolling one node at a time, possibly several times > for each node. By splittting the procedures it into several single steps > across the nodes a total service outage can be avoided. > > Added Files: > ------------ > osaf/services/saf/smfsv/smfd/SmfExecControl.cc > osaf/services/saf/smfsv/smfd/SmfExecControl.h > osaf/services/saf/smfsv/smfd/SmfExecControlHdl.cc > osaf/services/saf/smfsv/smfd/SmfExecControlHdl.h > > > Complete diffstat: > ------------------ > osaf/services/saf/smfsv/config/smfsv_classes.xml | 1084 > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------- > osaf/services/saf/smfsv/smfd/Makefile.am | 8 +- > osaf/services/saf/smfsv/smfd/SmfCampState.cc | 151 > ++++-------------------- > osaf/services/saf/smfsv/smfd/SmfCampaign.cc | 77 +++++++----- > osaf/services/saf/smfsv/smfd/SmfCampaign.hh | 1 + > osaf/services/saf/smfsv/smfd/SmfExecControl.cc | 363 > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > osaf/services/saf/smfsv/smfd/SmfExecControl.h | 59 +++++++++ > osaf/services/saf/smfsv/smfd/SmfExecControlHdl.cc | 506 > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > osaf/services/saf/smfsv/smfd/SmfExecControlHdl.h | 126 > ++++++++++++++++++++ > osaf/services/saf/smfsv/smfd/SmfProcState.cc | 28 ++++- > osaf/services/saf/smfsv/smfd/SmfUpgradeCampaign.cc | 39 ++++-- > osaf/services/saf/smfsv/smfd/SmfUpgradeCampaign.hh | 35 ++--- > osaf/services/saf/smfsv/smfd/SmfUpgradeProcedure.cc | 27 +++- > osaf/services/saf/smfsv/smfd/SmfUpgradeProcedure.hh | 18 ++- > osaf/services/saf/smfsv/smfd/SmfUpgradeStep.cc | 49 ++++++++ > osaf/services/saf/smfsv/smfd/SmfUpgradeStep.hh | 13 +- > osaf/services/saf/smfsv/smfd/smfd.h | 2 +- > osaf/services/saf/smfsv/smfd/smfd_campaign_oi.cc | 32 ----- > osaf/services/saf/smfsv/smfd/smfd_cb.h | 5 - > 19 files changed, 1842 insertions(+), 781 deletions(-) > > > Testing Commands: > ----------------- > > For protection flag testing, try to modify the OpenSafSmfExecControl object > in > the campaignInit phase. If the flag is set to true this change will be > ignored > for the running campaign. > > Campaign with rolling procedures is attached to the ticket. Run a campaign > with rolling procedures on payloads and enable the balanced mode. Example > configuration for balanced mode: > > immcfg -c OpenSafSmfExecControl -a procExecMode=2 > openSafSmfExecControl=MergeCampToSS2o > immcfg -a numberOfSingleSteps=2 -a nodesForSingleStep=PL-3 -a > nodesForSingleStep=PL-4 openSafSmfExecControl=MergeCampToSS2 > immcfg -a openSafSmfExecControl=openSafSmfExecControl=MergeCampToSS2 > smfConfig=1,safApp=safSmfService > > In this configuration we can expect to run one single step procedures on > each of the payloads specified > > Testing, Expected Results: > -------------------------- > campaign should have executed all rolling steps as groups of single steps. > > > Conditions of Submission: > ------------------------- > <<HOW MANY DAYS BEFORE PUSHING, CONSENSUS ETC>> > > > Arch Built Started Linux distro > ------------------------------------------- > mips n n > mips64 n n > x86 n n > x86_64 n n > powerpc n n > powerpc64 n n > > > Reviewer Checklist: > ------------------- > [Submitters: make sure that your review doesn't trigger any checkmarks!] > > > Your checkin has not passed review because (see checked entries): > > ___ Your RR template is generally incomplete; it has too many blank entries > that need proper data filled in. > > ___ You have failed to nominate the proper persons for review and push. > > ___ Your patches do not have proper short+long header > > ___ You have grammar/spelling in your header that is unacceptable. > > ___ You have exceeded a sensible line length in your headers/comments/text. > > ___ You have failed to put in a proper Trac Ticket # into your commits. > > ___ You have incorrectly put/left internal data in your comments/files > (i.e. internal bug tracking tool IDs, product names etc) > > ___ You have not given any evidence of testing beyond basic build tests. > Demonstrate some level of runtime or other sanity testing. > > ___ You have ^M present in some of your files. These have to be removed. > > ___ You have needlessly changed whitespace or added whitespace crimes > like trailing spaces, or spaces before tabs. > > ___ You have mixed real technical changes with whitespace and other > cosmetic code cleanup changes. These have to be separate commits. > > ___ You need to refactor your submission into logical chunks; there is > too much content into a single commit. > > ___ You have extraneous garbage in your review (merge commits etc) > > ___ You have giant attachments which should never have been sent; > Instead you should place your content in a public tree to be pulled. > > ___ You have too many commits attached to an e-mail; resend as threaded > commits, or place in a public tree for a pull. > > ___ You have resent this content multiple times without a clear indication > of what has changed between each re-send. > > ___ You have failed to adequately and individually address all of the > comments and change requests that were proposed in the initial review. > > ___ You have a misconfigured ~/.hgrc file (i.e. username, email etc) > > ___ Your computer have a badly configured date and time; confusing the > the threaded patch review. > > ___ Your changes affect IPC mechanism, and you don't present any results > for in-service upgradability test. > > ___ Your changes affect user manual and documentation, your patch series > do not contain the patch that updates the Doxygen manual. > ------------------------------------------------------------------------------ _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
