Hi Andrew, all,

I had an idea last night, that it may be worth implementing
fully-dynamic cluster resize support in pacemaker, utilizing
possibilities CMAP and votequorum provide.

Idea is to:
* Do not add nodes from nodelist to CIB if their join-count in cmap is
zero (but do not touch CIB nodes which exist in a nodelist and have zero
join-count in cmap).
* Install watches on a cmap nodelist.node and
runtime.totem.pg.mrp.srp.members subtrees (cmap_track_add).
* Add missing nodes to CIB as soon as they are both
** defined in a nodelist
** their join count becomes non-zero.
* Remove nodes from CIB when they are removed from a nodelist.

Certainly, this requires some CMAP values (especially votequorum ones
and may be totem mode) to have some 'well-known' values, f.e. only UDPU
mode and quorum.allow_downscale=1, that should be defined yet.

May be, it also have sense to make this depend on some new CMAP
variable, f.e. nodelist.dynamic=1.

I would even try to implement this if general agreement is gained and
nobody else wants to implement this.

Can you please comment on this?

Vladislav

_______________________________________________
Pacemaker mailing list: Pacemaker@oss.clusterlabs.org
http://oss.clusterlabs.org/mailman/listinfo/pacemaker

Project Home: http://www.clusterlabs.org
Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
Bugs: http://bugs.clusterlabs.org

Reply via email to