Package: collective.recipe.zope2cluster
collective.recipe.zope2clusterNOTE: This recipe is no longer needed as of zc.buildout 1.4.Using zc.buildout to do the same thingAs of zc.buildout 1.4 you can create macros out of sections. This means that
you do not need this recipe anymore.The following:[instance2]
recipe = collective.recipe.zope2cluster
instance-clone = instance
http-address = 8081Would become:[instance2]
<= instance
http-address = 8081Here is a complete example:[buildout]
parts =
   instance
   instance2

extends = http://dist.plone.org/release/3.3/versions.cfg
versions = versions

[versions]
zc.buildout = 1.4.1

[zope2]
recipe = plone.recipe.zope2install
url = ${versions:zope2-url}

[instance]
recipe = plone.recipe.zope2instance
user = admin:admin
zope2-location = ${zope2:location}
http-address = 8080

[instance2]
<= instance
http-address = 8081Using this recipeThis recipe aims to make it easier to set up a cluster of zope clients.
The zope2cluster recipe allows us to point to an existing
plone.recipe.zope2instance part and copy it’s options.  Any options we define
in the zope2cluster part override the original instance’s options.Example:[instance]
recipe = plone.recipe.zope2instance
user = admin:admin
http-address = 8080

[instance2]
recipe = collective.recipe.zope2cluster
instance-clone = instance
http-address = 8081Our instance2 part ends up being an exact copy of instance but changes the
http-address to 8081.Detailed DocumentationSupported optionsThe recipe supports the following options:instance-cloneThe name of the part that you want to ‘clone’.  Typically instance.Example usageWe’ll start by creating a buildout that uses the recipe:>>> write('buildout.cfg',
... """
... [buildout]
... parts = instance instance2
... index = http://pypi.python.org/simple
...
... [instance]
... recipe = plone.recipe.zope2instance
... zope2-location = %(zope2_location)s
... user = admin:admin
... ip-address = 192.168.0.1
... http-address = 8080
... effective-user = zope
... event-log-level = CRITICAL
...
... [instance2]
... recipe = collective.recipe.zope2cluster
... instance-clone = instance
... ip-address = 192.168.0.2
... http-address = 8081
... event-log-level = WARN
... """ % globals())Running the buildout gives us:>>> print 'start', system(buildout)
start...
Installing instance2.
...First let’s check to see that the original instance has the correct options:>>> instance = os.path.join(sample_buildout, 'parts', 'instance')
>>> zc = open(os.path.join(instance, 'etc', 'zope.conf')).read()
>>> print zc
instancehome /sample-buildout/parts/instance
...
effective-user zope
ip-address 192.168.0.1
...
<eventlog>
  level CRITICAL
...
</eventlog>
...
<http-server>
...
  address 8080
...
</http-server>
...Now let’s check our instance2 part to see if it is setup correctly:>>> instance = os.path.join(sample_buildout, 'parts', 'instance2')
>>> zc = open(os.path.join(instance, 'etc', 'zope.conf')).read()
>>> print zc
instancehome /sample-buildout/parts/instance2
...
effective-user zope
ip-address 192.168.0.2
...
<eventlog>
  level WARN
...
</eventlog>
...
<http-server>
...
  address 8081
...
</http-server>
...ContributorsClayton Parker [claytron], AuthorChange history1.1 (2009-09-04)No new code. Documentation update about zc.buildout 1.4.1
[claytron]1.0 (2008-07-28)Implemented instance cloning code
[claytron]Implemented tests
[claytron]Created recipe with ZopeSkel
[claytron]Download