[Zope-dev] Status of ZopeStartupProvisions?

R. David Murray bitz@bitdance.com
Tue, 14 Aug 2001 01:43:46 -0400 (EDT)


On Tue, 14 Aug 2001, Richard Jones wrote:
> We're currently trying to neaten up Zope startup (zope startup for dummies is
> currently a real pain). I ran across the ZopeStartupProvisions wiki, and it's
> pretty close to what we're aiming for - having a much nicer startup/control
> script and a configuration file. It's been dormant since April, though, and
> I'm wondering if there's still anyone backing it?

I wasn't aware of that Wiki, or of zctl.py until after I wrote something
of my own along these lines:  a 'zopectl' script that has a slightly
different design objective than zctl.py.  zctl.py seems to be oriented
primarily toward managing ZEO instances.  zopectl is oriented toward
managing multiple INSTANCE_HOME setups running on the same box
(eg: production and test instances, migration instances, or indeed
multiple zope-instance-per-virthost virthosts).

In principle it should be possible to merge the capabilities of
zctl.py into zopectl, but since I don't yet have a need to run ZEO
I haven't looked in to it.  From the Wiki it looks like there is
non-ZEO stuff in there that I might find useful.  I also only just
found out about the multiple Products directories support, and
while I haven't had time to add that in yet, I am definately planning
on it.  I've also got a couple bug reports with patches
that I need to integrate (none of the bugs prevent zopectl from
working; the fixes reduce certain surprise factors involved in
various parameter combinations).  Hopefully I'll have time to put
new release out soon,

zopectl solves the problem mentioned in the wiki regarding
shared config files by having a 'master' configuration file
and 'instance' configuration files that modify the master
settings.  In practice, for me, that has proven very effective,
and was one of my prime reasons for writing it to start with.
(The other prime reason was being able to put 'zopectl start'
in my rc file and know that all production zope instances were
going to get started with the correct parameters...and then
being able to stop and start individial instances later.)

I haven't tested zopectl with python 2.x yet, but I suspect it will
work fine as I *have* tested the modules it uses under 2.1, and
zopectl itself is fairly straightforward (though it could use
some refactoring and general cleanup!)

You'll find it at http://www.zope.org/Members/rdmurray/zopectl.

--RDM