Skip to content

Zookeeper config specification

nrh edited this page Oct 27, 2010 · 9 revisions

New format

/pogo/ns/<namespace>/conf/

  • should contain a timestamp and other originating information on where the latest config-change came from, in json format

/pogo/ns/<namespace>/conf/app/<appname>/<provider>

  • appname defines an application name per the config

/pogo/ns/<namespace>/conf/app/<appname>/<provider>/<N>

  • maps to the array element of configuration options for the provider (beginning with 0)

  • json-encoded content of the array

/pogo/ns/<namespace>/conf/env/<provider>

/pogo/ns/<namespace>/conf/env/<provider>/<N>

  • maps to the array element of configuration options for the provider (beginning with 0)

  • json-encoded content of the array

/pogo/ns/<namespace>/conf/cur/<envtype>/<appname>

  • cur is shorthand for 'concurrency'

  • content is json-encoded constraint spec (10% or 10)

/pogo/ns/<namespace>/conf/seq/pred/<envtype>/<app1>/<app2>

  • seq is shorthand for 'sequences'

  • pred is shorthand for 'predecessors'

  • within envtype app2 should preceed app1

/pogo/ns/<namespace>/conf/seq/succ/<envtype>/<app1>/<app2>

  • succ is shorthand for 'successors'

  • within envtype app2 should succeed app1

Current in-zookeeper format

nodes have no content unless otherwise specified.

/pogo/ns/

/pogo/ns/<namespace>/

  • namespace maps to the namespace supplied with pogo(1) requests. (--namespace)

/pogo/ns/<namespace>/conf/

/pogo/ns/<namespace>/conf/appgroups/

/pogo/ns/<namespace>/conf/appgroups/bygroup/

/pogo/ns/<namespace>/conf/appgroups/bygroup/<groupname>/

  • groupname is an application group, this maps groups to roles (and vice-versa below)

/pogo/ns/<namespace>/conf/appgroups/bygroup/<groupname>/<role>

/pogo/ns/<namespace>/conf/appgroups/byrole/

/pogo/ns/<namespace>/conf/appgroups/byrole/<rolename>/

/pogo/ns/<namespace>/conf/appgroups/byrole/<rolename>/<groupname>

  • role is a rolesdb role, not pertinent. the above lines provide two-way mapping between appgroup and rolename(s)

/pogo/ns/<namespace>/conf/constraints/

/pogo/ns/<namespace>/conf/constraints/<groupname>/

/pogo/ns/<namespace>/conf/constraints/<groupname>/type

  • groupname maps to the appgroup above

/pogo/ns/<namespace>/conf/sequences

/pogo/ns/<namespace>/conf/sequences/pred/

/pogo/ns/<namespace>/conf/sequences/pred/<envtype>

/pogo/ns/<namespace>/conf/sequences/pred/<envtype>/<appgroupname>

/pogo/ns/<namespace>/conf/sequences/pred/<envtype>/<appgroupname>/<appgroupname>

/pogo/ns/<namespace>/conf/sequences/succ/<envtype>/<appgroupname>

/pogo/ns/<namespace>/conf/sequences/succ/<envtype>/<appgroupname>/<appgroupname>