Ganesh, A few comments below.
Ganesh Ram N wrote: > Hi Nick, > > Thanks a lot for the quick review. Please find my response inline ... > > Nicholas Solter wrote: >> Ganesh, >> >> Here are a few comments. I should note that I'm not too familiar with >> either the CLI or the weak membership code. >> >> General: You need to change copyrights to 2009 now. >> > I will do this change right at the end after I have incorporated all the > comments. >> usr/src/cmd/clcommands/commands/clnode/Makefile >> >> Because weak membership is not dependent on OpenSolaris, we decided to >> control weak membership through a separate flag not inherently tied to >> the version. Note that the core weak membership implementation defines >> WEAK_MEMBERSHIP in usr/src/common/cl/sys/clconf_int.h >> >> This should be tied to the control of the CLI portions as well. So >> instead of using POST_S10_BUILD in the Makefile here, I think you'll >> need to define a new macro in some Makefile and use it to specify the >> WEAK_MEMBERSHIP definition that clconf_int.h can pick up. >> >> > As per Sambit's response on a different email, I have included > <sys/clconf_int.h> which has the definition for the WEAK_MEMBERSHIP > macro for all the C/C++ files. Similarly can you or anyone else point me > to a Makefile macro which I can include and use ? We discussed this offline. >> usr/src/cmd/clcommands/commands/clnode/clnode_cmd.h >> >> 64 #define CLNODE_SUBCMD_RESOLVE_CONFIG \ >> 65 GETTEXT("Resolves the cluster weak membership during split >> brain") >> >> The rest of the messages seem to be imperative rather than descriptive, >> so this one should probably be, "Resolve the..." instead of "Resolves >> the..." >> >> Also, I don't think the description is quite right. This doesn't resolve >> "weak membership", it resolves the CCR configuration changes that >> occurred during weak membership. And it's not run during split brain, >> rather after the cluster is back together. >> >> > Lisa commented on the same text and we modified it to "Resolve split > brain in a weak-membership cluster". > Should this be modified to "Resolve cluster configuration conflicts in a > weak-membership cluster" ? Yes, I prefer "cluster configuration conflicts". The point I think I was trying to make about "split-brain" was that this command is run after the split-brain has been resolved. So just changing "split-brain" to "weak-membership" I don't think really helps. I'd prefer something like, "Resolve cluster configuration conflicts that occurred during a split-brain." Or something like that. >> usr/src/cmd/clcommands/commands/clnode/clnode_resolve_config_options.cc >> >> Pointers such as cl_option, node_name, and so on should be assigned NULL >> by default, not 0 casted to a pointer. >> >> > done >> usr/src/cmd/clcommands/commands/clnode/clnodeinit_constants.cc >> >> I think we may have discussed this, but I can't remember why you need to >> specify the local node in the resolve-config command. Isn't it obvious >> based on the node on which you're running the command? >> >> > In New CLI, if there are no operands specified it equates to a WILD_CARD > operand which will match all the existing objects of that type. Hence > the requirement for the user to specify the node name as the operand > explicitly. >> usr/src/cmd/clcommands/include/ClShow.h >> usr/src/cmd/clcommands/include/ClStatus.h >> usr/src/cmd/clcommands/include/clcommands.h >> >> I don't like these redundant definitions of WEAK_MEMBERSHIP with each >> other and with the definition in clconf_int.h. The macro should be >> defined in one place only. >> >> > Removed the macro from all of the above files and instead I have > included <sys/clconf_int.h> which has the definition for WEAK_MEMBERSHIP > macro. >> usr/src/cmd/clcommands/lib/libclcmds/Makefile.com >> >> Same problem about using POST_S10_BUILD rather than tying in with the >> WEAK_MEMBERSHIP macro. >> >> > See comment above. >> usr/src/cmd/clcommands/lib/libclcmds/common/clnode/clnode_resolve_config.cc >> >> Same point about NULL vs 0. >> >> > Done. >> Why do you use the WEAK_MEMBERSHIP macro for some portions of this file? >> Isn't the whole file only for weak membership? >> >> usr/src/cmd/clcommands/lib/libclcmds/common/clquorum/clquorum_set.cc >> >> "This action might result in DATA LOSS !!!\" >> >> This message is a little extreme. I don't think we need even one, let >> alone three, exclamation marks. Also, I thought we'd agreed to say "data >> corruption or loss." >> >> > :) Should this be "This action might result in data corruption or loss\n" ? Yes, that's better. Thanks, Nick > >> 387 gettext("Are you sure you want to enable >> multiple " >> 388 "partitions in the cluster to be >> operational. " >> 389 "(y/[n])?")); >> >> >> Shouldn't have a period before the "(y/[n])?" >> >> > I have removed the period as per Lisa's comments earlier. >> usr/src/head/scadmin/scconf.h >> >> Here again you define WEAK_MEMBERSHIP. This definition should be one >> place only. >> >> > Agreed. >> usr/src/lib/libscconf/Makefile.com >> >> Same problem about using POST_S10_BUILD. >> > Agreed >> usr/src/lib/libscconf/common/scconf_infrafile.c >> >> >> 114 * >> 115 * SOL_VERSION >= s11 >> 116 * scconf_cluster_multi_partitions >> 117 * scconf_cluster_ping_targets >> 118 * END SOL_VERSION >= s11 >> >> I know this is just comments, but you should use WEAK_MEMBERSHIP, not >> SOL_VERSION here. >> >> > Yes. I will do so. > > Thanks, > Ganesh Ram >> Thanks, >> Nick >> >> Ganesh Ram Nagarajan wrote: >> >>> Hi All, >>> >>> Please review our CLI changes for supporting Weak Membership Model >>> >>> Webrev Available @ http://cr.opensolaris.org/~gnr259/colorado-cli/webrev/ >>> >>> Summary of changes : >>> =============== >>> >>> New Quorum object "global_quorum" >>> Used for specifying the "ping_targets" property [list of >>> ping_targets can be added] >>> Used for specifying the "multiple_partitions" property >>> True - Specifies we are in weak membership >>> False - Specifies we are in strong membership >>> >>> New subcommand for clnode command "resolve-config" >>> Used for declaring the winner node after split-brain (Runs in both >>> cluster & non-cluster mode) >>> Used for declaring the loser node after split-brain (Run only in >>> non-cluster mode) >>> clnode status command used for querying for the presence of >>> unresolved CCR changes >>> >>> Regards & Thanks, >>> Ganesh Ram & Nandan >>> >>> >>> _______________________________________________ >>> ha-clusters-discuss mailing list >>> ha-clusters-discuss at opensolaris.org >>> http://mail.opensolaris.org/mailman/listinfo/ha-clusters-discuss >>> >> >> _______________________________________________ >> ha-clusters-discuss mailing list >> ha-clusters-discuss at opensolaris.org >> http://mail.opensolaris.org/mailman/listinfo/ha-clusters-discuss >> > > _______________________________________________ > ha-clusters-discuss mailing list > ha-clusters-discuss at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/ha-clusters-discuss