I would call the setter setBaselineTopology, without the word Descriptor. Also, perhaps this BaselineTopology should be a standard predicate, just like the Node Filter we already have for ClusterGroup, so users could provide a custom cluster initialization logic. We, of course, should provide a default implementation of this predicate, which accepts a list of IP addresses or host names.
Thoughts? D. On Fri, Aug 11, 2017 at 4:47 AM, Sergey Chugunov <[email protected]> wrote: > Folks, > > As we are getting to the conclusion on the discussion about cluster > automatic activation proposal [1] I would like to propose one more thing > that may also be useful here. > > In addition to options of creating BLT (BTW, any ideas of a better name for > the concept are welcome; feel free to send a message to [1]) on first > cluster activation or preparing it with UI tools user will be allowed to > prepare a descriptor of desired BLT and provide it through java API or > configuration file. > > Workflow is as follows: > > > 1. User specifies a descriptor for desired baseline topology. > E.g. API like this may be used: Ignite.activation(). > setBaselineTopologyDescriptor(BaselineTopologyDescriptor descriptor). > > 2. Descriptor contains list of IP addressed (address ranges) and ports > where cluster nodes are expected to start. > List may be continuous or may contain excludes. > > 3. As this descriptor may be large and is used only once through a > lifetime of the cluster I suggest to provide it either through java API > or > in a separate file but not in a regular configuration file. > > 4. Descriptor may be set to a cluster of even one node; after being set, > it will verify topology on event from each node joined the cluster and > activate cluster/create BLT automatically when desired topology reached. > > 5. When cluster already has a BLT in metastore, any descriptors from API > calls or files are ignored. > > > This feature will also provide us a way to notify user when some unexpected > nodes are joining the cluster. > E.g. we may define a separate event and fire it each time when node > unexpected by topology descriptor joins the cluster. > > Thoughts? > > > [1] http://apache-ignite-developers.2346864.n4.nabble.com/ > Cluster-auto-activation-design-proposal-tt20295.html > > Thanks, > Sergey. >
