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.

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.

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.

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.

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?

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.

usr/src/cmd/clcommands/lib/libclcmds/Makefile.com

Same problem about using POST_S10_BUILD rather than tying in with the
WEAK_MEMBERSHIP macro.

usr/src/cmd/clcommands/lib/libclcmds/common/clnode/clnode_resolve_config.cc

Same point about NULL vs 0.

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

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

usr/src/head/scadmin/scconf.h

Here again you define WEAK_MEMBERSHIP. This definition should be one 
place only.

usr/src/lib/libscconf/Makefile.com

Same problem about using POST_S10_BUILD.

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.

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



Reply via email to