Summary: smfd: merge camp procedures into single step Review request for Trac Ticket(s): 1401 Peer Reviewer(s): Rafael Pull request to: Affected branch(es): default Development branch: default
-------------------------------- 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): --------------------------------------------- Smfd can be configured to merge all procedures in a campaign into a single step procedure before execution. Procedures shall have no ordering dependencies. changeset ece918ff1dff5265c5c2955d5fc8415d07a08fd2 Author: Ingvar Bergstrom <[email protected]> Date: Wed, 23 Sep 2015 12:12:48 +0200 smfd: merge camp procedures into single step [#1401] smfd can be configured to merge all procedures in a campaign into a single step procedure before execution. Prerequisite: Procedures shall not have any ordering dependencies. Complete diffstat: ------------------ osaf/services/saf/smfsv/config/smfsv_classes.xml | 21 ++ osaf/services/saf/smfsv/smfd/SmfCampState.cc | 281 ++++++++++++++++++++++---- osaf/services/saf/smfsv/smfd/SmfCampState.hh | 2 + osaf/services/saf/smfsv/smfd/SmfCampaign.cc | 137 ++++++++---- osaf/services/saf/smfsv/smfd/SmfCampaign.hh | 6 + osaf/services/saf/smfsv/smfd/SmfCampaignXmlParser.cc | 2 +- osaf/services/saf/smfsv/smfd/SmfProcState.cc | 25 +- osaf/services/saf/smfsv/smfd/SmfStepState.cc | 21 +- osaf/services/saf/smfsv/smfd/SmfTargetTemplate.hh | 20 + osaf/services/saf/smfsv/smfd/SmfUpgradeAction.cc | 8 + osaf/services/saf/smfsv/smfd/SmfUpgradeAction.hh | 3 + osaf/services/saf/smfsv/smfd/SmfUpgradeCampaign.cc | 22 +- osaf/services/saf/smfsv/smfd/SmfUpgradeCampaign.hh | 26 ++ osaf/services/saf/smfsv/smfd/SmfUpgradeMethod.hh | 4 +- osaf/services/saf/smfsv/smfd/SmfUpgradeProcedure.cc | 987 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- osaf/services/saf/smfsv/smfd/SmfUpgradeProcedure.hh | 135 ++++++++++++ osaf/services/saf/smfsv/smfd/SmfUpgradeStep.cc | 31 ++- osaf/services/saf/smfsv/smfd/SmfUpgradeStep.hh | 56 +++++- osaf/services/saf/smfsv/smfd/SmfUtils.cc | 15 + osaf/services/saf/smfsv/smfd/SmfUtils.hh | 3 + osaf/services/saf/smfsv/smfd/smfd.h | 6 + osaf/services/saf/smfsv/smfd/smfd_campaign_oi.cc | 59 +++++- osaf/services/saf/smfsv/smfd/smfd_cb.h | 6 + 23 files changed, 1707 insertions(+), 169 deletions(-) Testing Commands: ----------------- To activate the function: -Create an instance of class OpenSafSmfExecControl -Set SMF configuration attribute openSafSmfExecControl to point to the instance. e.g. immcfg -c OpenSafSmfExecControl -a procExecMode=1 openSafSmfExecControl=MergeCampToSingleStep immcfg -a openSafSmfExecControl=openSafSmfExecControl=MergeCampToSingleStep smfConfig=1,safApp=safSmfService It can also be configured in the <campaignInitialization> portion of the campaign. e.g. <campInitAction> <immCCB ccbFlags="0"> <modify objectDN="smfConfig=1,safApp=safSmfService" operation="SA_IMM_ATTR_VALUES_REPLACE"> <attribute name="openSafSmfExecControl" type="SA_IMM_ATTR_SASTRINGT"> <value>openSafSmfExecControl=MergeCampToSS</value> </attribute> </modify> <create objectClassName="OpenSafSmfExecControl" parentObjectDN="="> <attribute name="openSafSmfExecControl" type="SA_IMM_ATTR_SASTRINGT"> <value>openSafSmfExecControl=MergeCampToSS</value> </attribute> <attribute name="procExecMode" type="SA_IMM_ATTR_SAUINT32T"> <value>1</value> </attribute> </create> </immCCB> </campInitAction> Testing, Expected Results: -------------------------- When executed a single step procedure is executed doing all actions. Conditions of Submission: ------------------------- Arch Built Started Linux distro ------------------------------------------- mips n n mips64 n n x86 n n x86_64 y y 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. ------------------------------------------------------------------------------ Monitor Your Dynamic Infrastructure at Any Scale With Datadog! Get real-time metrics from all of your servers, apps and tools in one place. SourceForge users - Click here to start your Free Trial of Datadog now! http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140 _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
