[buildout] parts = neo-master-run-wrapper neo-master-promise eggs-directory = {{eggs_directory}} develop-eggs-directory = {{develop_eggs_directory}} offline = true [neo-master] recipe = slapos.cookbook:neoppod.master binary = {{bin_directory}}/neomaster wrapper = ${directory:bin}/neomaster logfile = ${directory:log}/neomaster.log ip = ${publish:ip} port = ${publish:port} cluster = ${slap-parameter:cluster} partitions = ${slap-parameter:partitions} replicas = ${slap-parameter:replicas} masters = ${slap-parameter:masters} verbose = ${slap-parameter:verbose} [publish] recipe = slapos.cookbook:publish # TODO: make port a partition parameter # TODO: stop using slap-network-information ip = [${slap-network-information:global-ipv6}] port = 10000 master = ${:ip}:${:port} [neo-master-run-wrapper] recipe = slapos.cookbook:symbolic.link target-directory = ${directory:run} link-binary = ${neo-master:wrapper} [directory] recipe = slapos.cookbook:mkdirectory run = ${buildout:directory}/etc/run log = ${buildout:directory}/var/log bin = ${buildout:directory}/bin [neo-master-promise] recipe = slapos.cookbook:check_port_listening hostname = ${neo-master:ip} port = ${neo-master:port} path = ${directory:promises}/neo-master-promise [slap-parameter] # "masters" parameter is not provided when just requesting a partition. # No actuall installation takes place at that time # (slapos.cookbook:neoppod.master raises), but cfg expansion must succeed. So # this default value is required. masters =