A simple recipe to create a zope cluster
Project description
collective.recipe.zope2cluster
NOTE: This recipe is no longer needed as of zc.buildout 1.4.
Using zc.buildout to do the same thing
As 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 = 8081
Would become:
[instance2] <= instance http-address = 8081
Here 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 = 8081
Using this recipe
This 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 = 8081
Our instance2 part ends up being an exact copy of instance but changes the http-address to 8081.
Detailed Documentation
Supported options
The recipe supports the following options:
- instance-clone
The name of the part that you want to ‘clone’. Typically instance.
Example usage
We’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> ...
Contributors
Clayton Parker [claytron], Author
Change history
1.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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for collective.recipe.zope2cluster-1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6777a4267ecc27acf669cd7f3a7eae08afea34817c3e3ba674399cbdff1f44b3 |
|
MD5 | 64eaa5cba6236e8d00235d0b34f69036 |
|
BLAKE2b-256 | b48031c16d3fc993a689fe11a498bd81117e709d02a5b4ddd85fc02a0e3b136f |