Summary: rded: add relaxed node promotion feature [#2996] Review request for Ticket(s): 2996 Peer Reviewer(s): Hans, Minh Pull request to: *** LIST THE PERSON WITH PUSH ACCESS HERE *** Affected branch(es): develop Development branch: ticket-2996 Base revision: 35035599567d1add6975a89f1286f20738d67bf1 Personal repository: git://git.code.sf.net/u/userid-2226215/review
-------------------------------- 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 y Samples n Tests n Other n Comments (indicate scope for each "y" above): --------------------------------------------- revision 9a681198810be2e2ad3f512ff966fe1d9eceb1ab Author: Gary Lee <gary....@dektech.com.au> Date: Mon, 21 Jan 2019 14:35:49 +1100 rded: add relaxed node promotion feature [#2996] Allow promotion of node to active at cluster startup, even if the consensus service is unavailable, if the peer SC can be seen. During normal cluster operation, if the consensus service becomes unavailable but the peer SC can still be seen, allow the existing active SC to remain active. A new NCSMDS_SVC_ID_RDE_DISCOVERY service ID is exported by rded. This is installed as soon as rded is started, unlike NCSMDS_SVC_ID_RDE which is only installed when it becomes a candidate for election. revision d2fad05f5ab3b502403493763f5f2bb31608444f Author: Gary Lee <gary....@dektech.com.au> Date: Mon, 21 Jan 2019 14:35:49 +1100 amfd: allow node to remain active is peer SC can be seen [#2996] If relaxed node promotion is enabled, allow a SC to remain active if the peer SC can be seen, even if access to the consensus service is lost. revision 4e1bbbd4997a6ea8307695e81a64dd9c53da15aa Author: Gary Lee <gary....@dektech.com.au> Date: Mon, 21 Jan 2019 14:35:42 +1100 osaf: allow active SC to be preferred during network split [#2996] Add FMS_TAKEOVER_PRIORITISE_PARTITION_SIZE option to allow active SC to be preferred during a network split. The default behavior is to prefer the larger partition to maintain existing behaviour. Add configuration support for FMS_RELAXED_NODE_PROMOTION. revision 7b50ffd37aafb82e71c726781824f8d6883c5aa5 Author: Gary Lee <gary....@dektech.com.au> Date: Mon, 21 Jan 2019 14:27:38 +1100 fmd: add configuration parameters [#2996] Add parameters FMS_TAKEOVER_PRIORITISE_PARTITION_SIZE and FMS_RELAXED_NODE_PROMOTION. revision 1bb52d591e6014e013c8335f7f1a1f516ecc8566 Author: Gary Lee <gary....@dektech.com.au> Date: Mon, 21 Jan 2019 14:01:08 +1100 osaf: update etcd3 to poll instead of watch [#2996] The 'watch' command does not return if the etcd server goes down. We need to poll the etcd server to properly check we still have connectivity to the etcd server. Complete diffstat: ------------------ src/amf/amfd/ndfsm.cc | 2 +- src/amf/amfd/ndproc.cc | 13 ++++- src/amf/amfd/proc.h | 2 +- src/fm/fmd/fmd.conf | 17 ++++++ src/mds/mds_papi.h | 1 + src/osaf/consensus/consensus.cc | 39 ++++++++++++- src/osaf/consensus/consensus.h | 9 ++- src/osaf/consensus/key_value.cc | 8 ++- src/osaf/consensus/plugins/etcd3.plugin | 50 +++++++++++++---- src/rde/rded/rde_cb.h | 12 +++- src/rde/rded/rde_main.cc | 71 +++++++++++++++++++++--- src/rde/rded/rde_mds.cc | 94 ++++++++++++++++++++++++++++++-- src/rde/rded/role.cc | 97 +++++++++++++++++++++++++++++---- src/rde/rded/role.h | 4 +- 14 files changed, 375 insertions(+), 44 deletions(-) Testing Commands: ----------------- *** LIST THE COMMAND LINE TOOLS/STEPS TO TEST YOUR CHANGES *** Testing, Expected Results: -------------------------- *** PASTE COMMAND OUTPUTS / TEST RESULTS *** Conditions of Submission: ------------------------- Ack from any reviewer, or in 1 week 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 ~/.gitconfig file (i.e. user.name, user.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 Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel