Re: zeoctl?
Jim Fulton <[email protected]>
| Newsgroups | gmane.comp.web.zope.zodb |
|---|---|
| Message-ID | <CAPDm-Fj9g96CVS8JmhRA7hJm4cF=zFVEH8mv26AAWqD88_tGtw@mail.gmail.com> |
On Sun, Apr 2, 2017 at 4:35 PM, David Glick (Glick Software) < [email protected]> wrote: > On 4/2/17 7:36 AM, Jim Fulton wrote: > >> Does anyone know how the ZEO's zeoctl script is supposed to work? I >> assume it's supposed to provide a way to run ZEO under zdaemon control >> sharing a single configuration file. >> >> I don't recall ever using it and I don't know how to use it. It's >> undocumented and untested and was broken by changes in ZEO 5, but I can't >> make it work with ZODB3 3.10.5 either. >> > > I'm afraid I don't know the history of why Plone runs ZEO this way It's zdctl, which I never understood. It makes little monoliths of zdaemon and programs in undocumented (AFAICT) and brittle ways. I really like zdaemon, because it only does one simple thing. And I always configure it simply as described in it's documentation, generally using zc.zdaemonrecipe, https://pypi.python.org/pypi/zc.zdaemonrecipe. I don't try to combine the configuration of zdaemon and ZEO. (I happen to prefer zdaemon over supervisord, because it lets me think about different processes separately, and because it's simpler.) > and haven't ever needed to take a close look at what it does. Plone sites > using ZEO generally install a buildout section using the > plone.recipe.zeoserver recipe, which installs a script ( > https://github.com/plone/plone.recipe.zeoserver/blob/master > /src/plone/recipe/zeoserver/ctl.py) that runs either runzeo or zeoctl > depending on whether it's being run by supervisor or not. OK, looking at: https://pypi.python.org/pypi/plone.recipe.zeoserver I created a buildout config: [buildout] parts = zeo [zeo] recipe = plone.recipe.zeoserver zeo-address = 8100 When I run it, I get: ... While: Installing zeo. An internal error occurred due to a bug in either zc.buildout or in a recipe being used: Traceback (most recent call last): File "/Users/jim/.buildout/eggs/cp27m/zc.buildout-2.9.3-py2.7.egg/zc/buildout/buildout.py", line 2123, in main getattr(buildout, command)(args) File "/Users/jim/.buildout/eggs/cp27m/zc.buildout-2.9.3-py2.7.egg/zc/buildout/buildout.py", line 796, in install installed_files = self[part]._call(recipe.install) File "/Users/jim/.buildout/eggs/cp27m/zc.buildout-2.9.3-py2.7.egg/zc/buildout/buildout.py", line 1553, in _call return f() File "/Users/jim/.buildout/eggs/cp27m/plone.recipe.zeoserver-1.3-py2.7.egg/plone/recipe/zeoserver/__init__.py", line 84, in install ZEOInstanceBuilder().create(location, params) File "/Users/jim/.buildout/eggs/cp27m/zope.mkzeoinstance-4.0-py2.7.egg/zope/mkzeoinstance/__init__.py", line 185, in create makexfile(ZEOCTL_TEMPLATE, home, "bin", "zeoctl", **params) File "/Users/jim/.buildout/eggs/cp27m/zope.mkzeoinstance-4.0-py2.7.egg/zope/mkzeoinstance/__init__.py", line 259, in makexfile path = makefile(template, *args, **kwds) File "/Users/jim/.buildout/eggs/cp27m/zope.mkzeoinstance-4.0-py2.7.egg/zope/mkzeoinstance/__init__.py", line 245, in makefile data = template % kwds KeyError: 'zodb_home' whimper. Any idea what extra magic I'm missing? If I had a working example of zeoctl, I could double check my fix, but I'm tempted to just release a possible fix and see if Plone gets better. Jim -- Jim Fulton http://jimfulton.info -- You received this message because you are subscribed to the Google Groups "zodb" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.