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 ?
> 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" ?
> 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" ?

> 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
>   


Reply via email to